移至主內容
首頁  >  Linux記事本  >  如何架設Linux網頁伺服器(LAMP)?

如何架設Linux網頁伺服器(LAMP)?

如何架設Linux網頁伺服器(LAMP)?

Tag :
LAMP, Linux, Apache, MySQL, PHP
Written by Wanding on 15 January 2022

對於某些特定需求的人或公司,虛擬主機並無法滿足他們的需求,唯有自行架設網頁伺服器才能解決特殊的問題。 全球前500個大電腦有90%以上運作Linux,運作Linux的伺服器極為穩定且快速。當然,我也推薦用Linux來架設網頁伺服器,所以這篇文章即是基於Linux作業系統之下所寫的內容。

LAMP是一組開源軟體,通常會一起安裝,以讓機器能夠控管動態網站和Web應用程式。 LAMP其實是四個字母的縮寫,分別為L是Linux作業系統、A是擔任網頁伺服器的Apache、 M是資料庫MySQL、P則是負責動態網頁的PHP。

雖然一般以MySQL作為數據庫管理系統,但是某些Linux發行版(包括Debian)使用MariaDB替代MySQL。在本文中,我們將使用MariaDB作為資料庫管理系統

步驟一:安裝Apache並更新防火牆

Apache網頁伺服器目前被全球廣泛的使用,它有充足的技術文件,是網頁伺服器軟體很優秀的選擇。 sudo apt update
sudo apt install apache2

當我們安裝好Debian 10,並同時安裝防火牆。之後,你可以使用命令方式來進行防火牆的設定。

sudo apt install ufw sudo ufw app list

該WWW配置文件用於管理由Web服務器使用的連接端

Available applications:
...
www
www Cache
WWW Full
WWW Secure
...

如果您能檢視到“ WWW Full”配置文件,則表明它啟用了到端口80和443的通信:

sudo ufw app info "WWW Full" 輸出為下列 Profile:WWW Full
Title: Web Server (HTTP,HTTPS)

 

Ports:
 80,443/tcp
接下來導入HTTP和HTTPS通信 sudo ufw allow in "WWW Full" 您可以在網絡瀏覽器中鍵入伺服器的公共IP地址來立即進行檢查,以驗證一切是否按計劃進行。
http://your_server_ip
如果您能看到如下的Debian Apache預設頁面,表示網頁伺服器安裝成功。apache

如果您不知道服務器的公共IP地址是什麼,可以下列方法找到它。先透過SSH連接到服務器的地址。

從命令行有幾種不同的方法可以做到這一點。 首先,您可以使用iproute2工具方法,透過鍵入以下命令來獲取IP地址:

server:$ ip address 通常會得到三四行文字,伺服器的IP就在其中,找一下就可發現。

步驟二:安裝資料庫 MariaDB

網頁伺服軟體安裝好後,接下來需要安裝資料庫,以提供網站的資料可以有地方可以儲存和管理。在Debian10安裝的資料庫是MariaDB。 其實它跟mysql幾乎相同,是Debian堅持GNU所以從MySQL改成MariaDB。(mysql從2009年直屬於Oracle) sudo apt install mariadb-server 安裝完成後,建議您運行隨MariaDB預先安裝的安全腳本。 該腳本將刪除一些不安全的默認設置,並鎖定對資料庫系統的訪問。 通過運行以下命令來啟動互動式設定: sudo mysql_secure_installation

該腳本將引導您完成一系列提示,在其中您可以對MariaDB設定進行一些更改。第一個提示將要求您輸入當前的資料庫根密碼。請勿將此與系統根目錄混淆。 數據庫根用戶是對數據庫系統具有完全特權的管理用戶。由於您剛剛安裝了MariaDB且尚未進行任何配置更改,因此該密碼將為空,因此只需在提示時按Enter。

下一個提示詢問您是否要設置數據庫根密碼。由於MariaDB對root用戶使用一種特殊的身份驗證方法,通常比使用密碼更安全,因此您無需立即設置此身份。 鍵入N,然後按Enter。

接下來,您可以按Y,然後按Enter以接受所有後續問題的默認設置。這將刪除匿名用戶和測試數據庫,禁用遠程root登錄,並加載這些新規則, 以便MariaDB立即改成你要的安全性。完成後,輸入以下命令登錄MariaDB控制台:

mariadb -u root -p 嘗試建立一個新的資料庫 MariaDB> CREATE DATABASE example_database; MariaDB>GRANT ALL ON example_database.* TO 'example_user'@'localhost' IDENTIFIED BY 'password'; MariaDB>FLUSH PRIVILEGES; 檢查資料庫 MariaDB>show databases; 將會有下列輸出
                    +--------------------+
                    | Database |
                    +--------------------+
                    | example_database |
                    | information_schema |
                    +--------------------+
                    2 rows in set (0.000 sec)
                    
確定安裝成功,先退出資料庫 MariaDB>exit

步驟三:安裝PHP

接下來要安裝PHP, PHP負責處理代碼以顯示動態內容。它可以連接到MariaDB資料庫以獲取資訊,並將處理後的內容移交給Web伺服器進行顯示。 我們將再次使用apt系統安裝PHP,同時還包括一些輔助程序包,這些程序包將確保PHP代碼可以在Apache伺服器下運行並與MariaDB資料庫對話。 sudo apt install php libapache2-mod-php php-mysql 需要一點時間進行安裝
接著重新啟動Apache sudo systemctl reload apache2

步驟四:建立虛擬主機

架設一台伺服器,當然希望把功能的彈性做大,以增加硬體的利用率。透過建立虛擬主機的方式,可以讓單一Apache伺服器提供服務給眾多網站。

預設情況下,Apache使用/etc/apache2/sites-available/000-default.conf中包含的配置從/var/www/html的目錄中提供其內容。 我們將創建一個新的虛擬主機來測試新安裝的PHP環境,而不是修改原來預設的網站配置文件。

sudo mkdir /var/www/your_domain 更改ownership sudo chown -R $USER:$USER /var/www/your_domain 編輯網站設定檔 sudo nano /etc/apache2/sites-available/your_domain.conf 在空白編輯區貼上下列文字,並存檔。 <VirtualHost *:80>
ServerName your_domain
ServerAlias www.your_domain
ServerAdmin webmaster@localhost
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
啟用虛擬主機 sudo a2ensite your_domain 關閉原始設定 sudo a2dissite 000-default 檢查Apache設定是否無誤 sudo apache2ctl configtest 重啟Apache sudo systemctl reload apache2

步驟五:測試PHP是否運作正常

在網站資料夾中,建立一個PHP檔案 info.php

nano /var/www/your_domain/info.php

貼上下列文字,並存檔。

<?php
phpinfo();
?>

在瀏覽器鍵入http://your_domain/info.php 網頁會出現以下圖示,表示安裝及運作成功。

php