温馨提示×

如何配置CentOS Apache

小樊
39
2026-08-03 22:05:36
栏目: 智能运维

下面以 CentOS 7 / CentOS 8 / Rocky / Alma 等 RHEL 系 为例,介绍 Apache(httpd)的基本配置流程,从安装到常见配置项,适合新手和运维参考。


一、安装 Apache(httpd)

1️⃣ 安装 Apache

sudo yum install -y httpd

(CentOS 8 / Rocky / Alma 可用 dnf

sudo dnf install -y httpd

2️⃣ 启动并设置开机自启

sudo systemctl start httpd
sudo systemctl enable httpd

3️⃣ 检查状态

systemctl status httpd

二、防火墙配置(非常重要)

1️⃣ 开放 HTTP / HTTPS 端口

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

2️⃣ 验证

firewall-cmd --list-all

三、测试 Apache 是否运行

浏览器访问:

http://服务器IP

看到 Apache Test Page 即成功 ✅


四、Apache 目录结构说明

目录 / 文件 说明
/etc/httpd/ 主配置目录
/etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/conf.d/ 额外配置文件
/var/www/html/ 默认网站根目录
/var/log/httpd/ 日志目录

五、常见基本配置

1️⃣ 修改默认网站目录

编辑配置文件:

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

2️⃣ 设置默认首页

DirectoryIndex index.html index.php

3️⃣ 配置虚拟主机(推荐)

示例:配置 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

六、URL 重写(伪静态)

确保加载:

LoadModule rewrite_module modules/mod_rewrite.so

并在目录中启用:

AllowOverride All

七、HTTPS(SSL)配置(可选)

1️⃣ 安装 SSL 模块

sudo yum install -y mod_ssl

2️⃣ 配置证书

编辑:

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 /网站目录
  • SELinux(常见坑):
setenforce 0   # 临时关闭测试

如果你需要: ✅ LAMP(Apache + PHP + MySQL)
多站点配置
WordPress / Laravel 环境
CentOS 8 停止维护后的替代方案

可以告诉我你的具体需求,我可以按实际场景给你定制配置。

0