所有偉大的網站背後都有一個偉大的伺服器。在本教程中,我將向您展示如何使用家中的舊電腦和一些免費軟體來設定專用 Web 伺服器(使用 Apache、MySQL 和 PHP)。 p>
在本教學中,我們的目標是完成幾件事:
# 簡單的管理。它背後還有一個相當大且極其活躍的社區,這使得
支持微風。
你的網頁。 Apache 是基於 Unix 的作業系統上的業界標準 Web 伺服器;這是大多數網路主機的做法
use(NETTUTS 現在正在使用它!),這就是我們將要使用的。
為了學習本教程,您需要一些物品:
不要在桌上型電腦上執行此操作; Ubuntu 將徹底擦除您的電腦。
遵循本教程。
您可能會問為什麼想要擁有自己的網頁伺服器。有幾個原因,其中一些是:您可以進行自己的測試
您網站的基礎;只需稍加修改,您就可以託管自己的網站;並且,隨著您的學習,您將學到很多有關 Linux/Unix 的知識。
話雖如此,讓我們開始吧!
首先,我們需要一張包含 Ubuntu 的 CD。將網頁瀏覽器指向 http://www.ubuntu.com/,
# 然後從左側選單中點擊“下載”。現在,您將看到一個帶有兩個選項卡的方塊:「桌面版」和
# 「伺服器版」。按一下“伺服器版本”選項卡,然後選擇“Ubuntu 8.04 LTS”。接下來,從
#中選擇下載位置 下拉框。最後,點選「開始下載」按鈕。
# 現在您需要將 ISO(您下載的檔案)刻錄到空白 CD 上。如果您不知道如何執行此操作,可以使用
# 優秀指南位於 https://help.ubuntu.com/community/BurningIsoHowto
現在您已經下載並燒錄了 ISO,讓我們在您的伺服器上安裝 Ubuntu。將磁碟放入磁碟機中,然後從 CD 啟動。在大多數現代電腦中,如果開啟磁碟機時磁碟位於磁碟機中,則預設會發生這種情況。如果沒有,那麼您需要在打開它時按下鍵盤上的某個鍵。對於我的筆記型電腦,它是 F12,對於我的伺服器,它是 F2。這僅取決於您的計算機。您可以在 BIOS 期間開啟電腦時透過查看螢幕上的文字來找到它。您會看到類似「按 [KEY] 變更啟動順序」的內容。按該鍵,然後選擇您的 CD 光碟機。
還在我身邊嗎?好的。現在您已經啟動了 Ubuntu,您應該看到以下畫面:
#選擇您的語言,然後按 Enter 鍵。現在您將看到此畫面:
#選擇“安裝 Ubuntu 伺服器”,然後我們就可以開始了!
安裝程式現在會詢問您是否希望它偵測您的鍵盤佈局。就我個人而言,我總是選擇否,因為
從清單中選擇標準美式鍵盤比讓安裝程式檢測它要快。任何一個選項都可以,
只需按照螢幕上的指示操作即可。
完成此操作後,您現在會看到一堆載入螢幕,上面寫著「偵測 CD-ROM 磁碟機」等內容。
這些應該很快就可以順利通過。但是,在這些螢幕期間,安裝程式將嘗試自動設定您的
網路設定。對於大多數情況,這將毫無怨言地起作用。但是,如果它不適合您,只需按照
螢幕上的說明使其正常工作。
完成所有這些後,它會要求您提供主機名稱。您通常可以將其設定為任何值;我總是設定
我的「網頁伺服器」。
#系統現在會要求您設定時鐘的時區。對我來說,它是太平洋。選擇適用於的一項
你。
現在,系統將檢測更多硬件,系統將提示您「對磁碟進行分割」。選擇“引導-使用整個”
磁碟".
#您現在需要選擇要分割區的磁碟。對於大多數設置,只有一張磁碟可用;然而,
# for more specialized systems, more options will be available here. Choose the one that applies to 你。
#它會詢問您是否要將變更寫入磁碟。選擇“是”並按 Enter 鍵。安裝程式現在將繼續
格式化磁碟機並設定分割區。
現在奇蹟發生了。系統將開始安裝。當這種情況發生時,去喝杯咖啡。這可以帶到任何地方
從 10 分鐘到一個小時。這僅取決於您的系統。有時可能看起來像是被凍結了;別擔心,
事實並非如此。就讓它做它該做的事吧。但是,如果它在一個物體上停留超過一個小時,那麼是的,它會被凍結。
#現在系統已安裝完畢,需要設定您要登入的帳號。首先,充分發揮
命名並點擊“繼續”。
#現在給它你的用戶名。它通常只會將其設定為您的名字,
但你可以改變它。您不能使用的一個名稱是“root”。
#現在系統會要求您提供密碼。您必須選擇一個強密碼,否則您的伺服器將不會
一定要安全。我建議至少混合使用數字、小寫字母和大寫字母。但是,對於我的伺服器
我使用符號以及上述符號的混合。請勿使用少於 7 個字元的密碼。
#然後,重新輸入您的密碼以驗證您輸入的密碼是否正確。
系統現在將嘗試設定「套件管理器」(我們很快就會了解它是什麼)。提供您的
代理訊息,或如果您不使用代理,則將其留空,然後選擇「繼續」。
#系統現在將掃描多個伺服器以查找更新和配置設定。
#完成後,您將看到幾個安裝伺服器軟體的選項。現在,請仔細聽。
選擇 OpenSSH 伺服器,然後按空白鍵,而不是回車鍵。如果按 Enter 鍵,安裝將繼續進行,而不安裝 OpenSSH 伺服器。
您也可以安裝“LAMP 伺服器”,但我沒有使用此選項的經驗,因此我們將使用不同的方式安裝它
稍後命令。
#系統現在將安裝您選擇的軟體以及其他系統元件。
#最後,安裝將完成。取出 CD,然後按 Enter 鍵。計算機將重新啟動。如果一切順利的話,你將會
出現的畫面看起來類似以下內容:
#恭喜!你剛剛完成了最困難的部分。 Ubuntu 現已安裝完畢,是時候將這台電腦變成
網路伺服器。
在繼續之前,我們需要確保您的伺服器是最新的。為此,您需要登入。首先,輸入您的用戶名
(您之前選擇的那個),按 Enter 鍵,然後鍵入您的密碼。當您輸入密碼時,您會發現沒有任何內容
似乎正在發生。別擔心,這就是它設計的工作方式。輸入密碼後,按 Enter 鍵,
如果一切順利的話,您的螢幕應該類似於下面的畫面:
#現在,輸入:
sudo aptitude update && sudo aptitude dist-upgrade
它會要求您輸入密碼,並且在您輸入密碼時您將看不到任何內容。完成此操作後,它會詢問您是否
你想繼續。輸入“y”並按 Enter 鍵。您的螢幕將類似於以下內容:
#您的系統現在將下載並安裝所有最新更新。這將需要一段時間,具體取決於您的網路連線。之後
它已完成,您的電腦將需要重新啟動。為此,請鍵入:
sudo shutdown -r now
並讓它重新啟動。您的伺服器現已完全更新。
現在,您可能已經注意到您輸入的所有命令都以“sudo”開頭。這是因為他們需要
管理員權限,這就是「sudo」的作用。它以管理員身份運行命令(即“關閉”),使其能夠工作
適當地。這也是它要求您輸入密碼的原因。但是,在您輸入“sudo”一次並輸入密碼後,
五分鐘內您無需再次輸入密碼。並非所有指令都需要 sudo,只有修改系統某些部分的指令才需要。
這些都掌握了嗎?很好。
現在是時候安裝一些程式了。為了從互聯網訪問您的網站,我們需要安裝 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 將下載並安裝您指定的程式。它還將下載並安裝任何內容
依賴關係。
#在安裝過程中,MySQL 會要求您輸入 root 密碼。您可以將其設定為任何值,只要確保它長且安全即可。
無論您做什麼,都不要將此留空。
#一切完成後,您現在就擁有了一個完全運作的 Web 伺服器。要測試它,首先輸入以下內容以尋找伺服器的 IP:
ifconfig | grep inet
#通常是傳回的第一個 IP。就我而言,它是 192.168.177.129。現在您知道了 IP,請打開網頁瀏覽器並指向它
到你的伺服器IP。如果您看到“它有效!”訊息,然後恭喜,它成功了。
#但是,我們還沒完成。我們不希望 Apache 或 PHP 洩露有關其自身的任何信息,因為不需要這些信息
由您的用戶執行,可能會帶來安全風險。首先,備份原先的Apache設定檔:
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
現在開啟設定檔:
sudo nano /etc/apache2/apache2.conf
向下捲動(向下箭頭)到顯示「ServerTokens Full」的位置,並將其變更為「ServerTokens Prod」
#現在,進一步向下捲動並將“ServerSignature On”更改為“ServerSignature Off”
#最後,按 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 = 关”
再次按 Control-O,然后按 Control-X。现在配置文件已更新,重新启动 Apache:
sudo /etc/init.d/apache2 restart
您已完成 Apache、MySQL 和 PHP 的设置。
我们现在将通过安装 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
然后按 Control-O 和 Control-X。您的防火墙现已配置为仅接受 HTTP 和 SSH 流量。我们需要做的最后一件事
要做的就是告诉 Shorewall 在启动时启动。因此,打开主 Shorewall 配置文件:
sudo nano /etc/shorewall/shorewall.conf
向下滚动到“STARTUP_ENABLED=No”并将其设置为“STARTUP_ENABLED=Yes”
按 Control-O 和 Control-X。现在,打开 Shorewall 默认配置文件:
sudo nano /etc/default/shorewall
并将“startup=0”更改为“startup=1”。按 Control-O 和 Control-X。最后,启动防火墙:
sudo /etc/init.d/shorewall start
恭喜!您的防火墙现已设置并保护您的服务器。
现在您已完成所有设置,您可能想向其中添加一个网站。默认情况下,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,免费),
Cyberduck(OS X,免费),以及我个人最喜欢的 Transmit
(OS X,30 美元)
使用您的用户名和密码连接到您的服务器,如果您的客户端支持,则使用默认路径“/var/www”(如果不支持,则使用默认路径)
登录后只需浏览到 /var/www ):(传输如图)
您现在可以将文件添加到此文件夹 (/var/www),当您使用您的浏览器浏览该文件夹时,它们将显示在您的服务器上
网络浏览器。
现在,您可能想知道为什么我们使用 SFTP 而不是 FTP。主要是因为 SFTP 已内置于 OpenSSH(您安装的)
较早)。然而,它也比 FTP 安全得多,并且使恶意用户很难(如果不是不可能)获得访问权限
您的登录凭据。
如今,大多数现代家庭网络都位于路由器后面。因此,如果没有
,您的网络服务器将不会对互联网可见。 一点工作。由于我没有可用的所有路由器进行测试,因此我只能为您提供该领域的一般指导。
有两种方法可以将服务器开放到互联网:DMZ 或端口转发。您会注意到的主要区别是,对于 DMZ,您的服务器使用
我们之前安装的防火墙是为了保护自身。但是,通过端口转发,您的服务器将受到路由器防火墙的保护。
但是,在我们继续之前,您需要为您的服务器提供一个静态 LAN 地址。为此,请登录您的路由器,然后查找某些内容
类似于“静态 IP”或“静态路由”。为服务器提供静态 LAN 地址后,您可以执行接下来的部分。请记住,
Google 是您的朋友。
要转发,有一个很棒的网站,PortForward.com,虽然丑陋,但可以
帮助您完成几乎所有路由器的工作。您要转发的端口是 22 和 80。
要创建 DMZ,您需要登录路由器并查找“DMZ 设置”之类的内容。找到它后,将您的服务器添加到
DMZ,然后您就可以了。同样,Google 在这种情况下会很有帮助。
現在,找到您的公用 IP,瞧!您可以從任何地方存取您的伺服器,只要
因為您的 IP 不會改變。
除了允許您上傳檔案之外,OpenSSH 還允許您從任何地方登入您的伺服器,只要您知道它的 IP。對於 Windows,您將
需要一個 SSH 客戶端。我推薦膩子。對於 OS X,SSH 是
已安裝。只需打開終端,然後輸入“ssh you@yourip”。對於 Putty,選擇 SSH,然後輸入您的 IP、使用者名稱和密碼
# 當它要求的時候。您會注意到,登入後,它看起來與伺服器上的螢幕完全相同:
#您可以從這裡做任何您實際坐在伺服器上要做的事情。若要從伺服器登出,只需鍵入「exit」並按 Enter 鍵即可。
您現在擁有一個功能齊全的網頁伺服器。它是一個很好的試驗場,甚至適合託管流量相當低的網站。顯然還有很多需要學習,但希望您已經對網頁伺服器的工作原理有了一些了解。
如果您想了解有關我所涵蓋主題的更多信息,這裡有一些很棒的指南:
此外,請務必查看 Envato Market 上數千個有用的 PHP 腳本。從表單和購物車到資料庫抽象的一切內容,肯定會為您作為開發人員的下一階段的工作提供幫助。
以上是設定免費專用 Web 伺服器:逐步指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!