搜尋
首頁後端開發php教程設定免費專用 Web 伺服器:逐步指南

所有偉大的網站背後都有一個偉大的伺服器。在本教程中,我將向您展示如何使用家中的舊電腦和一些免費軟體來設定專用 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
PHP行動:現實世界中的示例和應用程序PHP行動:現實世界中的示例和應用程序Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP:輕鬆創建交互式Web內容PHP:輕鬆創建交互式Web內容Apr 14, 2025 am 12:15 AM

PHP可以輕鬆創建互動網頁內容。 1)通過嵌入HTML動態生成內容,根據用戶輸入或數據庫數據實時展示。 2)處理表單提交並生成動態輸出,確保使用htmlspecialchars防XSS。 3)結合MySQL創建用戶註冊系統,使用password_hash和預處理語句增強安全性。掌握這些技巧將提升Web開發效率。

PHP和Python:比較兩種流行的編程語言PHP和Python:比較兩種流行的編程語言Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP的持久相關性:它還活著嗎?PHP的持久相關性:它還活著嗎?Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP的當前狀態:查看網絡開發趨勢PHP的當前狀態:查看網絡開發趨勢Apr 13, 2025 am 12:20 AM

PHP在現代Web開發中仍然重要,尤其在內容管理和電子商務平台。 1)PHP擁有豐富的生態系統和強大框架支持,如Laravel和Symfony。 2)性能優化可通過OPcache和Nginx實現。 3)PHP8.0引入JIT編譯器,提升性能。 4)雲原生應用通過Docker和Kubernetes部署,提高靈活性和可擴展性。

PHP與其他語言:比較PHP與其他語言:比較Apr 13, 2025 am 12:19 AM

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP與Python:核心功能PHP與Python:核心功能Apr 13, 2025 am 12:16 AM

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。

PHP:網絡開發的關鍵語言PHP:網絡開發的關鍵語言Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

See all articles

熱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.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具