下面给你一个**在 CentOS 上配置 Apache(httpd)**的常用、实用流程,适用于 CentOS 7 / 8 / Stream。
sudo yum install httpd -y
(CentOS 8 / Stream 也可用 dnf)
sudo systemctl start httpd
sudo systemctl enable httpd
查看状态:
sudo systemctl status httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
浏览器访问:
http://服务器IP
看到 Apache 测试页 即成功。
默认网站根目录:
/var/www/html
示例:
echo "Hello Apache" > /var/www/html/index.html
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R apache:apache /var/www/example.com
sudo vi /etc/httpd/conf.d/example.com.conf
内容示例:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
sudo systemctl restart httpd
确保模块已加载:
sudo vi /etc/httpd/conf.modules.d/00-base.conf
确认有:
LoadModule rewrite_module modules/mod_rewrite.so
并在虚拟主机中:
AllowOverride All
sudo yum install mod_ssl -y
证书位置:
/etc/pki/tls/certs/
/etc/pki/tls/private/
配置示例:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example.com/public_html
SSLEngine on
SSLCertificateFile /path/to/cert.crt
SSLCertificateKeyFile /path/to/private.key
</VirtualHost>
systemctl start httpd
systemctl stop httpd
systemctl restart httpd
systemctl reload httpd
httpd -t # 检查配置语法
如果你需要:
告诉我你的使用场景,我可以给你更针对性的配置。