下面给你一个在 CentOS 上配置 Apache(httpd)的实用流程,从安装到常见配置,适用于 CentOS 7 / 8 / Stream。
yum install httpd -y
dnf install httpd -y
systemctl start httpd
systemctl enable httpd
查看状态:
systemctl status httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
如果是云服务器,还要在安全组放行 80/443。
浏览器访问:
http://服务器IP
看到 Apache Test Page 表示成功。
默认网站根目录:
/var/www/html
默认配置文件:
/etc/httpd/conf/httpd.conf
虚拟主机配置目录(推荐):
/etc/httpd/conf.d/
mkdir -p /var/www/example.com/html
echo "Hello Apache" > /var/www/example.com/html/index.html
vi /etc/httpd/conf.d/example.conf
内容示例:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com/html
<Directory /var/www/example.com/html>
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
systemctl restart httpd
在 <Directory> 中:
AllowOverride All
然后重启:
systemctl restart httpd
yum install mod_ssl -y
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example.com/html
SSLEngine on
SSLCertificateFile /path/to/cert.pem
SSLCertificateKeyFile /path/to/privkey.pem
</VirtualHost>
chown -R apache:apache /var/www/example.com
chmod -R 755 /var/www/example.com
setsebool -P httpd_can_network_connect 1
查看 SELinux 日志:
ausearch -m avc -ts recent
如果你愿意,可以告诉我:
我可以直接给你一套完整配置。