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 的设定资料便表示安装完成了。