首頁  >  文章  >  後端開發  >  設定免費專用 Web 伺服器:逐步指南

設定免費專用 Web 伺服器:逐步指南

王林
王林原創
2023-09-04 20:05:011314瀏覽

所有偉大的網站背後都有一個偉大的伺服器。在本教程中,我將向您展示如何使用家中的舊電腦和一些免費軟體來設定專用 Web 伺服器(使用 Apache、MySQL 和 PHP)。 p>


1. 快速概述

在本教學中,我們的目標是完成幾件事:

  • 我們將安裝 Ubuntu Server 作業系統。我通常使用 Ubuntu,因為它易於使用並且

    # 簡單的管理。它背後還有一個相當大且極其活躍的社區,這使得

    支持微風。

  • 我們將安裝 OpenSSH 伺服器。這允許您從遠端電腦管理您的伺服器。
  • 將安裝 LAMP(Linux、Apache、MySQL 和 PHP)堆疊。這提供了運行的主幹

    你的網頁。 Apache 是基於 Unix 的作業系統上的業界標準 Web 伺服器;這是大多數網路主機的做法

    use(NETTUTS 現在正在使用它!),這就是我們將要使用的。

  • 我們將安裝防火牆來保護您的伺服器免遭未經授權的存取。

為了學習本教程,您需要一些物品:

  • 用作伺服器的電腦。它不需要很強大;只要不是古老的,就可以正常工作。請

    不要在桌上型電腦上執行此操作; Ubuntu 將徹底擦除您的電腦。

  • 一個 CD 燒錄機和一張空白 CD。這些是為了讓您可以將 Ubuntu 燒錄到磁碟上以便安裝它。
  • 時間。說實話,這個過程非常耗時,尤其是當您遇到問題時。試著留出一個下午

    遵循本教程。

您可能會問為什麼想要擁有自己的網頁伺服器。有幾個原因,其中一些是:您可以進行自己的測試

您網站的基礎;只需稍加修改,您就可以託管自己的網站;並且,隨著您的學習,您將學到很多有關 Linux/Unix 的知識。

話雖如此,讓我們開始吧!


2.下載Ubuntu伺服器

首先,我們需要一張包含 Ubuntu 的 CD。將網頁瀏覽器指向 http://www.ubuntu.com/,

# 然後從左側選單中點擊“下載”。現在,您將看到一個帶有兩個選項卡的方塊:「桌面版」和

# 「伺服器版」。按一下“伺服器版本”選項卡,然後選擇“Ubuntu 8.04 LTS”。接下來,從

#中選擇下載位置 下拉框。最後,點選「開始下載」按鈕。

设置免费专用 Web 服务器:分步指南

# 現在您需要將 ISO(您下載的檔案)刻錄到空白 CD 上。如果您不知道如何執行此操作,可以使用

# 優秀指南位於 https://help.ubuntu.com/community/BurningIsoHowto


3.安裝Ubuntu伺服器

現在您已經下載並燒錄了 ISO,讓我們在您的伺服器上安裝 Ubuntu。將磁碟放入磁碟機中,然後從 CD 啟動。在大多數現代電腦中,如果開啟磁碟機時磁碟位於磁碟機中,則預設會發生這種情況。如果沒有,那麼您需要在打開它時按下鍵盤上的某個鍵。對於我的筆記型電腦,它是 F12,對於我的伺服器,它是 F2。這僅取決於您的計算機。您可以在 BIOS 期間開啟電腦時透過查看螢幕上的文字來找到它。您會看到類似「按 [KEY] 變更啟動順序」的內容。按該鍵,然後選擇您的 CD 光碟機。

還在我身邊嗎?好的。現在您已經啟動了 Ubuntu,您應該看到以下畫面:

设置免费专用 Web 服务器:分步指南

#選擇您的語言,然後按 Enter 鍵。現在您將看到此畫面:

设置免费专用 Web 服务器:分步指南

#選擇“安裝 Ubuntu 伺服器”,然後我們就可以開始了!

安裝程式現在會詢問您是否希望它偵測您的鍵盤佈局。就我個人而言,我總是選擇否,因為

從清單中選擇標準美式鍵盤比讓安裝程式檢測它要快。任何一個選項都可以,

只需按照螢幕上的指示操作即可。

完成此操作後,您現在會看到一堆載入螢幕,上面寫著「偵測 CD-ROM 磁碟機」等內容。

這些應該很快就可以順利通過。但是,在這些螢幕期間,安裝程式將嘗試自動設定您的

網路設定。對於大多數情況,這將毫無怨言地起作用。但是,如果它不適合您,只需按照

螢幕上的說明使其正常工作。

完成所有這些後,它會要求您提供主機名稱。您通常可以將其設定為任何值;我總是設定

我的「網頁伺服器」。

设置免费专用 Web 服务器:分步指南

#系統現在會要求您設定時鐘的時區。對我來說,它是太平洋。選擇適用於的一項

你。

現在,系統將檢測更多硬件,系統將提示您「對磁碟進行分割」。選擇“引導-使用整個”

磁碟".

设置免费专用 Web 服务器:分步指南

#您現在需要選擇要分割區的磁碟。對於大多數設置,只有一張磁碟可用;然而,

# for more specialized systems, more options will be available here. Choose the one that applies to 你。

设置免费专用 Web 服务器:分步指南

#它會詢問您是否要將變更寫入磁碟。選擇“是”並按 Enter 鍵。安裝程式現在將繼續

格式化磁碟機並設定分割區。

現在奇蹟發生了。系統將開始安裝。當這種情況發生時,去喝杯咖啡。這可以帶到任何地方

從 10 分鐘到一個小時。這僅取決於您的系統。有時可能看起來像是被凍結了;別擔心,

事實並非如此。就讓它做它該做的事吧。但是,如果它在一個物體上停留超過一個小時,那麼是的,它會被凍結。

设置免费专用 Web 服务器:分步指南

#現在系統已安裝完畢,需要設定您要登入的帳號。首先,充分發揮

命名並點擊“繼續”。

设置免费专用 Web 服务器:分步指南

#現在給它你的用戶名。它通常只會將其設定為您的名字,

但你可以改變它。您不能使用的一個名稱是“root”。

设置免费专用 Web 服务器:分步指南

#現在系統會要求您提供密碼。您必須選擇一個強密碼,否則您的伺服器將不會

一定要安全。我建議至少混合使用數字、小寫字母和大寫字母。但是,對於我的伺服器

我使用符號以及上述符號的混合。請勿使用少於 7 個字元的密碼。

设置免费专用 Web 服务器:分步指南

#然後,重新輸入您的密碼以驗證您輸入的密碼是否正確。

系統現在將嘗試設定「套件管理器」(我們很快就會了解它是什麼)。提供您的

代理訊息,或如果您不使用代理,則將其留空,然後選擇「繼續」。

设置免费专用 Web 服务器:分步指南

#系統現在將掃描多個伺服器以查找更新和配置設定。

设置免费专用 Web 服务器:分步指南

#完成後,您將看到幾個安裝伺服器軟體的選項。現在,請仔細聽。

選擇 OpenSSH 伺服器,然後按空白鍵,而不是回車鍵。如果按 Enter 鍵,安裝將繼續進行,而不安裝 OpenSSH 伺服器。

您也可以安裝“LAMP 伺服器”,但我沒有使用此選項的經驗,因此我們將使用不同的方式安裝它

稍後命令。

设置免费专用 Web 服务器:分步指南

#系統現在將安裝您選擇的軟體以及其他系統元件。

设置免费专用 Web 服务器:分步指南

#最後,安裝將完成。取出 CD,然後按 Enter 鍵。計算機將重新啟動。如果一切順利的話,你將會

出現的畫面看起來類似以下內容:

设置免费专用 Web 服务器:分步指南

#恭喜!你剛剛完成了最困難的部分。 Ubuntu 現已安裝完畢,是時候將這台電腦變成

網路伺服器。


4.更新您的新伺服器

在繼續之前,我們需要確保您的伺服器是最新的。為此,您需要登入。首先,輸入您的用戶名

(您之前選擇的那個),按 Enter 鍵,然後鍵入您的密碼。當您輸入密碼時,您會發現沒有任何內容

似乎正在發生。別擔心,這就是它設計的工作方式。輸入密碼後,按 Enter 鍵,

如果一切順利的話,您的螢幕應該類似於下面的畫面:

设置免费专用 Web 服务器:分步指南

#現在,輸入:

sudo aptitude update && sudo aptitude dist-upgrade

它會要求您輸入密碼,並且在您輸入密碼時您將看不到任何內容。完成此操作後,它會詢問您是否

你想繼續。輸入“y”並按 Enter 鍵。您的螢幕將類似於以下內容:

设置免费专用 Web 服务器:分步指南

#您的系統現在將下載並安裝所有最新更新。這將需要一段時間,具體取決於您的網路連線。之後

它已完成,您的電腦將需要重新啟動。為此,請鍵入:

sudo shutdown -r now

並讓它重新啟動。您的伺服器現已完全更新。


關於「Sudo」的快速說明

現在,您可能已經注意到您輸入的所有命令都以“sudo”開頭。這是因為他們需要

管理員權限,這就是「sudo」的作用。它以管理員身份運行命令(即“關閉”),使其能夠工作

適當地。這也是它要求您輸入密碼的原因。但是,在您輸入“sudo”一次並輸入密碼後,

五分鐘內您無需再次輸入密碼。並非所有指令都需要 sudo,只有修改系統某些部分的指令才需要。

這些都掌握了嗎?很好。


5.安裝Apache、MySQL和PHP

現在是時候安裝一些程式了。為了從互聯網訪問您的網站,我們需要安裝 Web 伺服器 (Apache)。除了網頁伺服器之外,我們還將

還需要資料庫伺服器(MySQL)和伺服器端語言(PHP),以便我們可以運行 WordPress 等流行應用程式。所以,

讓我們開始吧!

在 Ubuntu 上安裝程式與在 Windows 或 Windows 上安裝程式有很大不同

OS X,Ubuntu 將透過一個簡單的指令為您下載並安裝程式。這是因為 Ubuntu 有一個叫做

套件管理器,它管理系統上的幾乎所有程式。我們要做的就是告訴套件管理器

# (稱為“aptitude”)我們希望它安裝 Apache、MySQL 和 PHP。為此,請鍵入以下命令:

sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server

然後按 Enter 鍵。 Aptitude 將下載並安裝您指定的程式。它還將下載並安裝任何內容

依賴關係。

设置免费专用 Web 服务器:分步指南

#在安裝過程中,MySQL 會要求您輸入 root 密碼。您可以將其設定為任何值,只要確保它長且安全即可。

無論您做什麼,都不要將此留空。

设置免费专用 Web 服务器:分步指南

#一切完成後,您現在就擁有了一個完全運作的 Web 伺服器。要測試它,首先輸入以下內容以尋找伺服器的 IP:

ifconfig | grep inet

设置免费专用 Web 服务器:分步指南

#通常是傳回的第一個 IP。就我而言,它是 192.168.177.129。現在您知道了 IP,請打開網頁瀏覽器並指向它

到你的伺服器IP。如果您看到“它有效!”訊息,然後恭喜,它成功了。

设置免费专用 Web 服务器:分步指南

#但是,我們還沒完成。我們不希望 Apache 或 PHP 洩露有關其自身的任何信息,因為不需要這些信息

由您的用戶執行,可能會帶來安全風險。首先,備份原先的Apache設定檔:

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak

現在開啟設定檔:

sudo nano /etc/apache2/apache2.conf

向下捲動(向下箭頭)到顯示「ServerTokens Full」的位置,並將其變更為「ServerTokens Prod」

设置免费专用 Web 服务器:分步指南

#現在,進一步向下捲動並將“ServerSignature On”更改為“ServerSignature Off”

设置免费专用 Web 服务器:分步指南

#最後,按 Control-O,然後按 Control-X。這將保存文件並退出文字編輯器。

現在,我們需要對 PHP 做同樣的事情。首先,備份原先的PHP設定檔:

sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak

開啟設定檔:

sudo nano /etc/php5/apache2/php.ini

将“expose_php = 开”更改为“expose_php = 关”

设置免费专用 Web 服务器:分步指南

再次按 Control-O,然后按 Control-X。现在配置文件已更新,重新启动 Apache:

sudo /etc/init.d/apache2 restart

您已完成 Apache、MySQL 和 PHP 的设置。


6.安装防火墙

我们现在将通过安装 Shorewall(一种命令行防火墙)来进一步锁定我们的服务器。安装它:

sudo aptitude install shorewall

默认情况下,Shorewall 安装时没有任何规则,允许完全访问。然而,这不是我们想要的行为。

相反,我们将阻止除端口 80 (HTTP) 和端口 22 (SSH) 之外的所有连接。首先复制配置

文件到 Shorewall 目录:

sudo cp /usr/share/doc/shorewall-common/examples/one-interface/* /etc/shorewall/

现在,打开“规则”文件:

sudo nano /etc/shorewall/rules

在“#LAST LINE”上方添加这些行

HTTP/ACCEPT	net		$FW
SSH/ACCEPT	net		$FW

设置免费专用 Web 服务器:分步指南

然后按 Control-O 和 Control-X。您的防火墙现已配置为仅接受 HTTP 和 SSH 流量。我们需要做的最后一件事

要做的就是告诉 Shorewall 在启动时启动。因此,打开主 Shorewall 配置文件:

sudo nano /etc/shorewall/shorewall.conf

向下滚动到“STARTUP_ENABLED=No”并将其设置为“STARTUP_ENABLED=Yes”

设置免费专用 Web 服务器:分步指南

按 Control-O 和 Control-X。现在,打开 Shorewall 默认配置文件:

sudo nano /etc/default/shorewall

并将“startup=0”更改为“startup=1”。按 Control-O 和 Control-X。最后,启动防火墙:

sudo /etc/init.d/shorewall start

恭喜!您的防火墙现已设置并保护您的服务器。


7. 将您的网站添加到您的网络服务器

现在您已完成所有设置,您可能想向其中添加一个网站。默认情况下,Apache 提供的所有文件

互联网上的地址位于“/var/www/”。但是,您无法写入此文件夹。让我们做到这一点,以便您可以:

sudo usermod -g www-data [YOUR USERNAME]
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www

发生的情况是,您将自己添加到“www-data”组,并使网站文件夹对“www-data”成员可写

组。

现在,您将使用 SFTP(不要与 FTPS 混淆)登录服务器。一些支持 SFTP 的客户端有:

WinSCP(Windows,免费),FileZilla(Windows,Linux,OS X,免费),

Cyber​​duck(OS X,免费),以及我个人最喜欢的 Transmit

(OS X,30 美元)

使用您的用户名和密码连接到您的服务器,如果您的客户端支持,则使用默认路径“/var/www”(如果不支持,则使用默认路径)

登录后只需浏览到 /var/www ):(传输如图)

设置免费专用 Web 服务器:分步指南

您现在可以将文件添加到此文件夹 (/var/www),当您使用您的浏览器浏览该文件夹时,它们将显示在您的服务器上

网络浏览器。

现在,您可能想知道为什么我们使用 SFTP 而不是 FTP。主要是因为 SFTP 已内置于 OpenSSH(您安装的)

较早)。然而,它也比 FTP 安全得多,并且使恶意用户很难(如果不是不可能)获得访问权限

您的登录凭据。


8. 让您的服务器可访问 Internet

如今,大多数现代家庭网络都位于路由器后面。因此,如果没有

,您的网络服务器将不会对互联网可见。 一点工作。由于我没有可用的所有路由器进行测试,因此我只能为您提供该领域的一般指导。

有两种方法可以将服务器开放到互联网:DMZ 或端口转发。您会注意到的主要区别是,对于 DMZ,您的服务器使用

我们之前安装的防火墙是为了保护自身。但是,通过端口转发,您的服务器将受到路由器防火墙的保护。

但是,在我们继续之前,您需要为您的服务器提供一个静态 LAN 地址。为此,请登录您的路由器,然后查找某些内容

类似于“静态 IP”或“静态路由”。为服务器提供静态 LAN 地址后,您可以执行接下来的部分。请记住,

Google 是您的朋友。

要转发,有一个很棒的网站,PortForward.com,虽然丑陋,但可以

帮助您完成几乎所有路由器的工作。您要转发的端口是 22 和 80。

要创建 DMZ,您需要登录路由器并查找“DMZ 设置”之类的内容。找到它后,将您的服务器添加到

DMZ,然后您就可以了。同样,Google 在这种情况下会很有帮助。

現在,找到您的公用 IP,瞧!您可以從任何地方存取您的伺服器,只要

因為您的 IP 不會改變。


9.遠端管理您的伺服器

除了允許您上傳檔案之外,OpenSSH 還允許您從任何地方登入您的伺服器,只要您知道它的 IP。對於 Windows,您將

需要一個 SSH 客戶端。我推薦膩子。對於 OS X,SSH 是

已安裝。只需打開終端,然後輸入“ssh you@yourip”。對於 Putty,選擇 SSH,然後輸入您的 IP、使用者名稱和密碼

# 當它要求的時候。您會注意到,登入後,它看起來與伺服器上的螢幕完全相同:

设置免费专用 Web 服务器:分步指南

#您可以從這裡做任何您實際坐在伺服器上要做的事情。若要從伺服器登出,只需鍵入「exit」並按 Enter 鍵即可。


10. 就是這樣!

您現在擁有一個功能齊全的網頁伺服器。它是一個很好的試驗場,甚至適合託管流量相當低的網站。顯然還有很多需要學習,但希望您已經對網頁伺服器的工作原理有了一些了解。

如果您想了解有關我所涵蓋主題的更多信息,這裡有一些很棒的指南:

  • 安裝軟體
  • 設定 Apache、MySQL 和 PHP
  • 海岸牆配置指南
  • 如何轉送

此外,請務必查看 Envato Market 上數千個有用的 PHP 腳本。從表單和購物車到資料庫抽象的一切內容,肯定會為您作為開發人員的下一階段的工作提供幫助。

设置免费专用 Web 服务器:分步指南

##

以上是設定免費專用 Web 伺服器:逐步指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn