LAMP 是 Linux + Apache + MySQL + PHP 的縮寫, 但從 RHEL / CentOS 7 開始已經不會內置 MySQL, 改為使用 MariaDB, MariaDB 使用上與 MySQL 相同, 舊有的 MySQL 資料庫也可以直接升級使用, 這裡也會示範在 RHEL 8 / CentOS 8 安裝 Apache + MariaDB + PHP。
安裝 Apache
除了安裝 httpd 套件外, 把 httpd-tools 也一拼安裝, httpd-tools 包含了一些實用的工具, 例如 Apache 的壓力測試工具 — ab.
跟著回答 “y” 後便會完成安裝, 然後輸入以下指令啟動及設定 Apache 開機自動執行:
# systemctl enable httpd
這時 Apache 已經啟動了, 可以在瀏覽器輸入伺服器的位置試試, 例如 http://localhost
然後要設定 Firewalld 防火牆, 執行以下指令, 把埠號 80 及 443 開放對開連線:
# firewall-cmd –permanent –zone=public –add-service=https
現在重新載入 Firewalld:
安裝 MariaDB
執行以下指令安裝 MariaDB:
啟動及設定開機自動執行 MariaDB:
# systemctl enable mariadb
執行以下指令設定 MariaDB 的安全設定:
執行後跟著回答問題, 分別是:
— 設定 root 帳號密碼
— 是否移除匿名帳號
— 是否允許 root 帳號遠端登入
— 是否移除 test 資料庫
完成後可以測試一下 MariaDB 是否可以登入:
安裝 PHP
以下指令除了會安裝 PHP 外, 還會安裝一些常用的 PHP 套件:
跟以往不同, 在 RHEL 8 / CentOS 8 的 Apache, 預設不會使用 mod_php 執行 PHP, 而會預設使用 PHP-FPM 執行 PHP, 所以需要啟動 PHP-FPM:
# systemctl enable php-fpm
安裝及設定好 PHP 後需要重新啟動 Apache 才會生效:
另外也需要執行以下指令, 讓 SELinux 允許 Apache 透過 PHP-FPM 執行 PHP 程式碼:
要測試 PHP, 可以放一個簡單的 PHP Script 到 Apache DocumentRoot 目錄, 預設是 /var/www/html/, 執行以下指令:
然後輸入以下幾行程式碼:
phpinfo();
?>
然後在瀏覽器看看 http://localhost/info.php, 如果看到 PHP 的設定資料便表示安裝完成了。