在 Debian 11 上安裝 Apache 網頁伺服器 PHP 程式 與 MariaDB 資料庫
LAMP Stack 是一組通用的開源工具,用於託管網絡上的網站和應用程序。
LAMP Stack 是一個 Web 開發平台,使用 Linux 作為操作系統、Apache 作為 Web 服務器、MariaDB/MySQL 作為數據庫服務器、PHP 作為腳本語言。 它被廣泛使用,並提供了一套經過驗證的軟件來交付高性能 Web 應用程序。
在本教程中,我們將向您展示如何在 Debian 11 上安裝 LAMP Stack。
內容目錄
什麼是 LAMP?
LAMP 是 Linux、Apache、MySQL 和 PHP 的縮寫。
它是一組在網頁伺服器上工作以管理網站的應用程式。話雖如此,每個單獨的程式都有不同的目的:
在 LAMP 中,Linux充當伺服器的操作系統,處理機器上的所有命令。
Apache 是一種 網頁伺服器軟體,可管理 HTTP 請求以提供您網站的內容。
MySQL 是一個關係資料庫管理系統 (RDBMS),其功能是在伺服器上維護用戶的資料。
PHP 是一種用於伺服器端通信的執行語言。
先決條件:
-
-
- 運行 Debian 11 的服務器。
- 與您的服務器 IP 指向的有效域名。
- 此時,LAMP Stack已安裝在您的伺服器中。 現在,您需要建立一個 Apache 虛擬主機配置檔案來託管任何應用程式。在這裡,我們將建立一個 example.com 目錄來託管 PHP 頁面。 您可以使用以下指令建立它:
- 服務器上配置了 root 密碼。
-
安裝 Apache 網路伺服器
Apache Webserver 軟體包包括在 Debian 11 預設存儲庫中。 您只需運行以下指令即可安裝它:
apt-get install apache2 apache2-utils -y
安裝 Apache Web 服務器後,使用以下命令驗證已安裝的 Apache 版本:
apache2 -v
您應該看到以下輸出:
Server version: Apache/2.4.48 (Debian) Server built: 2021-08-12T11:51:47
要啟動 Apache 服務,請運行以下命令:
systemctl start apache2
要啟用 Apache 服務以使其在系統引導時啟動,請運行以下命令:
systemctl enable apache2
您還可以使用以下命令檢查 Apache 的完整狀態:
apt-get install elinks apache2ctl fullstatus
您應該看到以下輸出:
Apache Server Status for localhost (via ::1) Server Version: Apache/2.4.48 (Debian) Server MPM: prefork Server Built: 2021-08-12T11:51:47 -------------------------------------------------------------------------- Current Time: Tuesday, 17-Aug-2021 09:29:41 UTC Restart Time: Tuesday, 17-Aug-2021 09:29:33 UTC Parent Server Config. Generation: 1 Parent Server MPM Generation: 0 Server uptime: 7 seconds Server load: 0.05 0.01 0.00 Total accesses: 0 - Total Traffic: 0 kB - Total Duration: 0 CPU Usage: u.03 s.02 cu0 cs0 - .714% CPU load 0 requests/sec - 0 B/second 1 requests currently being processed, 4 idle workers
預設情況下,Apache 運行在 80 埠,您可以使用以下指令檢查它:
SS-antpl | grep apache2
您應該得到以下輸出:
LISTEN 0 511 *:80 *:* users:(("apache2",pid=44022,fd=4),("apache2",pid=44021,fd=4),("apache2",pid=44020,fd=4),("apache2",pid=44019,fd=4),("apache2",pid=44018,fd=4),("apache2",pid=44017,fd=4))
您還可以通過瀏覽 URL http://your-server-ip 檢查 Apache 安裝。 您應該在以下屏幕上看到 Apache 測試頁面:
安裝 MariaDB 資料庫伺服器
MariaDB 是一個資料庫管理系統,用於存儲和管理您網站的資料。 您可以使用以下指令安裝它:
apt-get install mariadb-server -y
安裝 MariaDB 後,啟動 MariaDB 服務並使其在系統啟動時使用以下命令啟動:
systemctl start mariadb systemctl enable mariadb
您還可以使用以下命令檢查 MariaDB 服務的狀態:
systemctl status mariadb
您應該看到以下輸出:
? mariadb.service - MariaDB 10.3.31 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 1838 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 2353) Memory: 66.1M CGroup: /system.slice/mariadb.service ??1838 /usr/sbin/mysqld
還建議保護您的 MariaDB 安裝並設置 MariaDB root 密碼。 您可以運行 mysql_secure_installation 腳本來保護 MariaDB 安裝:
mysql_secure_installation
系統將要求您設定 MariaDB root 密碼、刪除匿名使用者、禁止 root 遠端登入並刪除測試資料庫,如下所示:
輸入 root 的當前密碼(不輸入): 修改root密碼? [是/否] 是 新密碼: 重新輸入新的密碼: 刪除匿名用戶? [是/否] 是 禁止遠程root登錄? [是/否] 是 刪除測試數據庫並訪問它? [是/否] 是 現在重新加載權限表? [是/否] 是
ss -antpl | grep mariadb
您應該看到以下命令:
LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mariadbd",pid=12181,fd=15))
要連接 MariaDB shell,請運行以下命令:
mysql -u root -p
提供您的 MariaDB root 密碼並按 Enter 鍵連接到 MariaDB shell。 連接後,您應該看到以下輸出:
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 64 Server version: 10.5.11-MariaDB-1 Debian 11 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
現在,運行以下命令來檢查 MariaDB 版本:
MariaDB [(none)]> SELECT VERSION();
您應該看到以下輸出:
+-------------------+ | VERSION() | +-------------------+ | 10.5.11-MariaDB-1 | +-------------------+ 1 row in set (0.001 sec)
安裝 PHP 處理語言
PHP 是用於在 Web 伺服器上為 PHP 應用程式提供服務的處理語系。 預設情況下,Debian 11 中可用的 PHP 版本是 PHP 7.4。 您可以使用以下指令安裝 PHP 和其他常用擴展:
apt-get install php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml -y
安裝 PHP 後,使用以下命令驗證 PHP 版本:
php-v
您應該看到以下輸出:
PHP 7.4.21 (cli) (built: Jul 2 2021 03:59:48) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies
為 Apache 建立虛擬主機
mkdir /var/www/html/example.com
接下來,將 example.com 目錄的所有權設置為 www-data:
chown -R www-data:www-data /var/www/html/example.com
接下來,使用以下命令創建 Apache 虛擬主機配置文件:
vi /etc/apache2/sites-available/example.com.conf
添加以下行:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName example.com DocumentRoot /var/www/html/example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
儲存並關閉檔案,然後使用以下指令啟動 example.com 虛擬主機並禁用預設虛擬主機:
a2ensite example.com.conf a2dissite 000-default
接下來,使用以下命令驗證虛擬主機文件是否存在任何語法錯誤:
apache2ctl configtest
如果一切正常,您應該看到以下輸出:
Syntax OK
最後,重新啟動 Apache 服務以應用配置變更:
systemctl reload apache2
您還可以使用以下命令檢查 Apache 服務的狀態:
systemctl status apache2
您應該看到以下輸出:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-08-21 04:13:30 UTC; 2min 56s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 2257 (apache2) Tasks: 55 (limit: 2353) Memory: 5.3M CGroup: /system.slice/apache2.service ??2257 /usr/sbin/apache2 -k start ??2259 /usr/sbin/apache2 -k start ??2260 /usr/sbin/apache2 -k start Aug 21 04:13:30 debian11 systemd[1]: Starting The Apache HTTP Server... Aug 21 04:13:30 debian11 apachectl[2246]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 216.9> Aug 21 04:13:30 debian11 systemd[1]: Started The Apache HTTP Server.
驗證 Apache 上的 PHP 安裝
接下來,您需要建立一個示例 PHP 檔案以通過 Apache Web 伺服器提供服務。
建立 phpinfo.php 您可以在 example.com 目錄中 檔案:
vi /var/www/html/example.com/phpinfo.php
添加以下行:
<?php phpinfo(); ?>
保存並關閉文件,然後打開 Web 瀏覽器並使用 URL http://example.com/phpinfo.php 訪問 PHP 頁面。
您應該在以下屏幕上看到您的 PHP 頁面:
結論:
在上面的指南中,我們解釋瞭如何在 Debian 11 上安裝 LAMP 堆棧。
您現在可以開始使用 LAMP 堆棧託管您的第一個網站。