下面以 CentOS 7 / 8(含 Rocky / Alma 同类系统) 为例,说明 Apache(httpd) 的基本安装与配置流程。
# CentOS 7
yum install httpd -y
# CentOS 8 / Rocky / Alma
dnf install httpd -y
查看版本:
httpd -v
systemctl start httpd
systemctl enable httpd
检查状态:
systemctl status httpd
# 开放 80 端口
firewall-cmd --permanent --add-service=http
# 如需 HTTPS
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
浏览器访问服务器 IP:
http://服务器IP
看到 Apache Test Page 即成功。
/etc/httpd/
├── conf/httpd.conf # 主配置文件
├── conf.d/ # 额外配置文件
/var/www/html/ # 默认网站根目录
/var/log/httpd/ # 日志目录
echo "Hello Apache" > /var/www/html/index.html
重启服务:
systemctl restart httpd
示例:配置 www.example.com
mkdir -p /var/www/example
echo "Example Site" > /var/www/example/index.html
vi /etc/httpd/conf.d/example.conf
内容示例:
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/example
<Directory /var/www/example>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
systemctl restart httpd
Listen 8080
Options -Indexes
a2enmod rewrite # CentOS 默认已支持
如果页面打不开但服务正常:
# 允许 httpd 访问目录
semanage fcontext -a -t httpd_sys_content_t "/var/www/example(/.*)?"
restorecon -Rv /var/www/example
或临时关闭测试:
setenforce 0
# 安装 mod_ssl
yum install mod_ssl -y
证书配置在:
/etc/httpd/conf.d/ssl.conf
如果你有具体需求(如 PHP 环境、反向代理、多端口、CentOS 版本不同),可以告诉我,我可以给你针对性配置。