下面以 CentOS 7 / CentOS 8 / Rocky / Alma 等 RHEL 系 为例,介绍 Apache(httpd)的基本配置流程,从安装到常见配置项,适合新手和运维参考。
sudo yum install -y httpd
(CentOS 8 / Rocky / Alma 可用 dnf)
sudo dnf install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd
systemctl status httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
firewall-cmd --list-all
浏览器访问:
http://服务器IP
看到 Apache Test Page 即成功 ✅
| 目录 / 文件 | 说明 |
|---|---|
/etc/httpd/ |
主配置目录 |
/etc/httpd/conf/httpd.conf |
主配置文件 |
/etc/httpd/conf.d/ |
额外配置文件 |
/var/www/html/ |
默认网站根目录 |
/var/log/httpd/ |
日志目录 |
编辑配置文件:
sudo vi /etc/httpd/conf/httpd.conf
找到:
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
修改为自定义目录,例如:
DocumentRoot "/data/www"
<Directory "/data/www">
AllowOverride All
Require all granted
</Directory>
创建目录并授权:
sudo mkdir -p /data/www
sudo chown -R apache:apache /data/www
DirectoryIndex index.html index.php
示例:配置 www.example.com
sudo vi /etc/httpd/conf.d/www.example.com.conf
内容:
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /data/www/example
<Directory /data/www/example>
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/example_error.log
CustomLog /var/log/httpd/example_access.log combined
</VirtualHost>
创建目录:
sudo mkdir -p /data/www/example
sudo chown -R apache:apache /data/www/example
重启 Apache:
sudo systemctl restart httpd
确保加载:
LoadModule rewrite_module modules/mod_rewrite.so
并在目录中启用:
AllowOverride All
sudo yum install -y mod_ssl
编辑:
sudo vi /etc/httpd/conf.d/ssl.conf
或使用 Let’s Encrypt:
sudo yum install -y certbot python3-certbot-apache
sudo certbot --apache
# 启动
systemctl start httpd
# 停止
systemctl stop httpd
# 重启
systemctl restart httpd
# 重载配置
systemctl reload httpd
# 检查配置语法
httpd -t
tail -f /var/log/httpd/error_log
chown -R apache:apache /网站目录
chmod -R 755 /网站目录
setenforce 0 # 临时关闭测试
如果你需要:
✅ LAMP(Apache + PHP + MySQL)
✅ 多站点配置
✅ WordPress / Laravel 环境
✅ CentOS 8 停止维护后的替代方案
可以告诉我你的具体需求,我可以按实际场景给你定制配置。