RHEL 及 CentOS 8 安裝 Apache, MariaDB, PHP(LAMP)

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.

# yum install httpd httpd-tools

跟著回答 “y” 後便會完成安裝, 然後輸入以下指令啟動及設定 Apache 開機自動執行:

# systemctl start httpd
# systemctl enable httpd

這時 Apache 已經啟動了, 可以在瀏覽器輸入伺服器的位置試試, 例如 http://localhost

然後要設定 Firewalld 防火牆, 執行以下指令, 把埠號 80 及 443 開放對開連線:

# firewall-cmd –permanent –zone=public –add-service=http
# firewall-cmd –permanent –zone=public –add-service=https

現在重新載入 Firewalld:

# systemctl reload firewalld

安裝 MariaDB

執行以下指令安裝 MariaDB:

# yum install mariadb-server mariadb

啟動及設定開機自動執行 MariaDB:

# systemctl start mariadb
# systemctl enable mariadb

執行以下指令設定 MariaDB 的安全設定:


# mysql_secure_installation

執行後跟著回答問題, 分別是:

— 設定 root 帳號密碼
— 是否移除匿名帳號
— 是否允許 root 帳號遠端登入
— 是否移除 test 資料庫

完成後可以測試一下 MariaDB 是否可以登入:

# mysql -u root -p

安裝 PHP

以下指令除了會安裝 PHP 外, 還會安裝一些常用的 PHP 套件:

# yum install php php-fpm php-mysqlnd php-opcache php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

跟以往不同, 在 RHEL 8 / CentOS 8 的 Apache, 預設不會使用 mod_php 執行 PHP, 而會預設使用 PHP-FPM 執行 PHP, 所以需要啟動 PHP-FPM:

# systemctl start php-fpm
# systemctl enable php-fpm

安裝及設定好 PHP 後需要重新啟動 Apache 才會生效:

# systemctl restart httpd

另外也需要執行以下指令, 讓 SELinux 允許 Apache 透過 PHP-FPM 執行 PHP 程式碼:

# setsebool -P httpd_execmem 1

要測試 PHP, 可以放一個簡單的 PHP Script 到 Apache DocumentRoot 目錄, 預設是 /var/www/html/, 執行以下指令:

# vi /var/www/html/info.php

然後輸入以下幾行程式碼:

<?php
phpinfo();
?>

然後在瀏覽器看看 http://localhost/info.php, 如果看到 PHP 的設定資料便表示安裝完成了。



你可能感興趣的內容:

Leave a Reply