目錄
關於「Sudo」的快速說明
首頁 後端開發 php教程 設定免費專用 Web 伺服器:逐步指南

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

Sep 04, 2023 pm 08:05 PM

所有偉大的網站背後都有一個偉大的伺服器。在本教程中,我將向您展示如何使用家中的舊電腦和一些免費軟體來設定專用 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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

描述紮實的原則及其如何應用於PHP的開發。 描述紮實的原則及其如何應用於PHP的開發。 Apr 03, 2025 am 12:04 AM

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

如何在系統重啟後自動設置unixsocket的權限? 如何在系統重啟後自動設置unixsocket的權限? Mar 31, 2025 pm 11:54 PM

如何在系統重啟後自動設置unixsocket的權限每次系統重啟後,我們都需要執行以下命令來修改unixsocket的權限:sudo...

解釋PHP中晚期靜態結合的概念。 解釋PHP中晚期靜態結合的概念。 Mar 21, 2025 pm 01:33 PM

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸

如何用PHP的cURL庫發送包含JSON數據的POST請求? 如何用PHP的cURL庫發送包含JSON數據的POST請求? Apr 01, 2025 pm 03:12 PM

使用PHP的cURL庫發送JSON數據在PHP開發中,經常需要與外部API進行交互,其中一種常見的方式是使用cURL庫發送POST�...

框架安全功能:防止漏洞。 框架安全功能:防止漏洞。 Mar 28, 2025 pm 05:11 PM

文章討論了框架中的基本安全功能,以防止漏洞,包括輸入驗證,身份驗證和常規更新。

自定義/擴展框架:如何添加自定義功能。 自定義/擴展框架:如何添加自定義功能。 Mar 28, 2025 pm 05:12 PM

本文討論了將自定義功能添加到框架上,專注於理解體系結構,識別擴展點以及集成和調試的最佳實踐。

See all articles