如何部署Oracle Linux 9.x LAMP环境?
- By : Will
- Category : Apache, MySQL & MariaDB, PHP

Apache
1 理论部分
– LAMP是Linux+Apache+MySQL+PHP的简写
– LAMP实质是Apache、MySQL、PHP基于Linux系统安装从而提供php脚本语言运行环境
2 实践部分
2.1 实践环境
hostname=www.cmdschool.org
ipaddress=10.168.0.170
2.2 安装前的准备
2.2.1 关闭SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0
2.2.2 防火墙配置
firewall-cmd --permanent --add-service http --add-service https firewall-cmd --reload firewall-cmd --list-all
2.3 安装并配置MySQL
2.3.1 安装软件包
dnf -y install mysql-server
2.3.2 启动服务并设置自启动
systemctl start mysqld systemctl enable mysqld
启动完成后,你可以使用如下命令确认服务的状态,
systemctl status mysqld
2.3.3 设置MySQL密码
mysql_secure_installation
配置向导如下,
#... Press y|Y for Yes, any other key for No: Please set the password for root here. New password: ******** Re-enter new password: ******** #... Remove anonymous users? (Press y|Y for Yes, any other key for No) : y #... Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n #... Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y #... Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y #...
2.4 安装并配置Apache+PHP
2.4.1 安装软件包
dnf -y install httpd php php-pdo php-mysqlnd mod_ssl
2.4.2 删除默认SSL虚拟主机配置
cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.default sed -i '/\<VirtualHost _default_:443\>/,/\<\/VirtualHost\>/d' /etc/httpd/conf.d/ssl.conf
以上配置可以避免如下错误提示,
AH00526: Syntax error on line 85 of /etc/httpd/conf.d/ssl.conf: SSLCertificateFile: file '/etc/pki/tls/certs/localhost.crt' does not exist or is empty
2.4.3 修改默认的服务器名称
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.default sed -i "s/\#ServerName www.example.com\:80/ServerName localhost\:80/g" /etc/httpd/conf/httpd.conf
以上配置可以避免如下警告提示,
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ::1. Set the 'ServerName' directive globally to suppress this message
2.4.4 启动服务并设置自启动
httpd -t systemctl start httpd php-fpm systemctl enable httpd php-fpm
启动完成后,你可以使用如下命令确认服务的状态,
systemctl status httpd php-fpm
2.4.5 配置虚拟主机
vim /etc/httpd/conf.d/www.cmdschool.org.conf
加入如下配置,
<VirtualHost *:443> DocumentRoot /var/www/www.cmdschool.org ServerName www.cmdschool.org ServerAlias cmdschool.org SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES SSLCertificateFile /etc/httpd/www.cmdschool.org.crt SSLCertificateKeyFile /etc/httpd/www.cmdschool.org.key SSLCertificateChainFile /etc/httpd/root_bundle.crt </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/www.cmdschool.org ServerName www.cmdschool.org ServerAlias cmdschool.org RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R] </VirtualHost> <Directory /var/www/www.cmdschool.org> Require all granted </Directory>
根据配置文件的需求,你需要手动创建如下目录,
mkdir -p /var/www/www.cmdschool.org
根据配置文件的需求,你需要使用如下命令部署证书文件,
cp www.cmdschool.org.crt /etc/httpd/www.cmdschool.org.crt cp www.cmdschool.org.key /etc/httpd/www.cmdschool.org.key cp root_bundle.crt /etc/httpd/root_bundle.crt
证书请自行准备,笔者建议你申请权威的腾讯云证书,使用申请Apache的格式证书即可,
https://cloud.tencent.com/product/ssl
配置修改后,你需要使用如下命令检测语法并重载使服务生效,
httpd -t systemctl reload httpd
2.5 测试服务端配置
2.5.1 配置名称解析
notepad \Windows\System32\drivers\etc\hosts
你需要加入如下配置,
10.168.0.170 www.cmdschool.org
注:以上配置只适用于测试环境,生产环境请使用DNS进行名称解析
2.5.2 测试PHP服务
echo '<?php phpinfo(); ?>' > /var/www/www.cmdschool.org/index.php
然后,你可以使用如下链接进行测试,
http://www.cmdschool.org/
参阅文档
======================
Apache官方主页
—————–
https://httpd.apache.org/
PHP文档
——————-
https://www.php.net/docs.php
没有评论