對於一般的 Web 開發和託管,您需要編程語言、數據庫和 Web 服務器。 LAMP 堆棧是開源 Linux 工具的集合,其中包括 Apache、MySQL/MariaDB 和 PHP。這些工具緊密配合,使服務器能夠託管和運行現代動態 Web 應用程序。

下面詳細闡述了 LAMP 堆棧的組件:

① Apache:這是一個開源跨平臺 Web 服務器,運行着世界上 67% 的網站。該軟件由 Apache 軟件基金會開發和維護。

② MariaDB:這是一個由 MySQL 的原始開發人員開發的關係數據庫管理系統,並保證保持開源。

③ PHP:這是超文本預處理器的縮寫。這是一種開源通用腳本語言,用作 Web 應用程序的後端編程語言。此外,在創建 Web 應用程序時,這種語言還可以與 HTML 一起使用。 PHP 與 JavaScript 等其他語言的主要區別在於,代碼在服務器上執行,生成 HTML 腳本併發送給客戶端。

☛ LAMP 堆棧如何工作?

Apache Web 服務器接收瀏覽器的網頁請求。如果請求 PHP 文件,則會將請求傳遞給 PHP,然後 PHP 加載並執行文件中包含的代碼。 PHP 還與數據庫 ( MySQL / MariaDB ) 鏈接以獲取代碼中引用的任何數據。

然後,使用 PHP 代碼和從數據庫獲取的數據來生成用於顯示網頁的 HTML 腳本。 LAMP 堆棧在處理加載時數據不時變化的靜態和動態網頁時非常有效。

然後 PHP 將這些結果傳遞迴 Apache Web 服務器,然後 Apache Web 服務器將它們發送回瀏覽器。

在本指南中,我們將在 Rocky Linux 9.4 上安裝和使用 Apache、MariaDB 和 PHP (LAMP)。

㈠ 在 Rocky Linux 9.4 上安裝 Apache

這裏要安裝的第一個組件是 Apache Web 服務器。該軟件在 Rocky Linux 存儲庫中作爲 httpd 提供。要安裝它,請執行命令:

[root@localhost]#yum -y install httpd httpd-tools

安裝後,啓動並啓用該服務:

[root@localhost]#systemctl enable --now httpd

檢查服務的狀態:

[root@localhost]#systemctl status httpd

您還可以通過訪問瀏覽器上的默認頁面來驗證 Apache 是否正在運行。首先,允許 HTTP 流量通過防火牆:

[root@localhost]#firewall-cmd --add-service=http --permanent
[root@localhost]#firewall-cmd --reload

使用 URL http://IP_Address 或 http://domain_name 訪問網頁

 

㈡ 在 Rocky Linux 9.4 上安裝 MariaDB

我們需要一個用於網絡託管的數據庫服務器。這裏有兩個選項,MySQL 或 MariaDB 數據庫。在本指南中,我們將選擇 MariaDB 數據庫,因爲它具有高性能的存儲引擎、更快、更安全的複製以及與 MySQL 的兼容性。

Rocky Linux 9.4 在默認存儲庫中提供 MariaDB 10。可以使用以下命令安裝:

[root@localhost]#yum -y install mariadb-server mariadb

安裝後,啓動並啓用 MariaDB 服務:

[root@localhost]#systemctl enable --now mariadb

驗證服務是否正在運行:

[root@localhost]#systemctl status mariadb

默認情況下,MariaDB 不安全,這可能會導致漏洞。要保護它,請按如下所示操作:

[root@localhost]#mysql_secure_installation
....
Enter current password for root (enter for none): Just press Enter
......
Switch to unix_socket authentication [Y/n] Y
.....
Change the root password? [Y/n] Y
New password:  New-root-password
Re-enter new password: Re-enter New-root-password
....
Remove anonymous users? [Y/n] Y
....
Disallow root login remotely? [Y/n] Y
.....
Remove test database and access to it? [Y/n] Y
......
Reload privilege tables now? [Y/n] Y
...
Thanks for using MariaDB!

驗證是否可以使用創建的密碼登錄:

[root@localhost]#mysql -u root -p

㈢ 在 Rocky Linux 9.4 上安裝 PHP

Rocky Linux 9.4 存儲庫中可用的默認 PHP 版本是 PHP 8.0。此版本包含錯誤修復和增強功能,包括使用結構化元數據語法、與順序無關的新命名參數以及改進的即時編譯性能。

使用以下命令安裝 PHP 8.0 及其依賴項:

[root@localhost]#yum install php-{common,gmp,fpm,curl,intl,pdo,mbstring,gd,xml,cli,zip,mysqli}

檢查 PHP 版本:

[root@localhost]#php --version
PHP 8.0.13 (cli) (built: Nov 16 2021 18:07:21) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.13, Copyright (c) Zend Technologies

㈣ 在 Rocky Linux 9.4 上爲 Apache 配置 PHP

要配置 PHP,請打開以下文件:

[root@localhost]vi /etc/php.ini

在文件中進行所需的設置。例如:

max_execution_time = 300
upload_max_filesize = 100M
post_max_size = 128M
date.timezone = Africa/Nairobi

進行所需的更改後,允許 Apache 加載 PHP 文件:

[root@localhost]#vi /etc/httpd/conf/httpd.conf
# LoadModule foo_module modules/mod_foo.so
AddHandler php-script .php

您還可以使用以下命令創建測試 PHP 文件來檢查 PHP 版本:

[root@localhost]#vi /var/www/html/info.php

將以下行添加到文件中:

<?php
phpinfo();
?>

保存文件並重新啓動 Apache 和 PHP-FPM:

[root@localhost]#systemctl restart php-fpm
[root@localhost]#systemctl restart httpd

使用 URL http://IP_Address/info.php 訪問顯示 PHP 參數的頁面