温馨提示×

centos中怎样配apache

小樊
40
2026-10-17 14:15:34
栏目: 智能运维

下面给你一个在 CentOS 上配置 Apache(httpd)的实用流程,从安装到常见配置,适用于 CentOS 7 / 8 / Stream。


一、安装 Apache

CentOS 7

yum install httpd -y

CentOS 8 / Stream

dnf install httpd -y

二、启动并设置开机自启

systemctl start httpd
systemctl enable httpd

查看状态:

systemctl status httpd

三、防火墙放行 80/443 端口

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

如果是云服务器,还要在安全组放行 80/443。


四、测试 Apache 是否正常工作

浏览器访问:

http://服务器IP

看到 Apache Test Page 表示成功。


五、网站目录结构(重要)

默认网站根目录:

/var/www/html

默认配置文件:

/etc/httpd/conf/httpd.conf

虚拟主机配置目录(推荐):

/etc/httpd/conf.d/

六、配置一个简单网站

1. 创建网站目录

mkdir -p /var/www/example.com/html

2. 写测试页面

echo "Hello Apache" > /var/www/example.com/html/index.html

3. 创建虚拟主机配置

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>

4. 重启 Apache

systemctl restart httpd

七、开启 URL 重写(如 WordPress)

在 <Directory> 中:

AllowOverride All

然后重启:

systemctl restart httpd

八、配置 HTTPS(可选)

1. 安装 mod_ssl

yum install mod_ssl -y

2. 使用证书(示例)

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/example.com/html

    SSLEngine on
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/privkey.pem
</VirtualHost>

九、常见问题排查

1. 403 Forbidden

  • 目录权限问题
chown -R apache:apache /var/www/example.com
chmod -R 755 /var/www/example.com

2. 无法访问

  • 防火墙
  • SELinux
setsebool -P httpd_can_network_connect 1

查看 SELinux 日志:

ausearch -m avc -ts recent

如果你愿意,可以告诉我:

  • CentOS 具体版本
  • 是本地服务器 / 云服务器
  • 是否要 PHP / MySQL / 多站点

我可以直接给你一套完整配置。

0 踩