温馨提示×

centos apache2如何配置

小樊
46
2026-10-03 00:18:18
栏目: 智能运维

在 CentOS 上,Web 服务器通常是 Apache(httpd),而不是 apache2(那是 Debian/Ubuntu 的叫法)。下面给你一份CentOS 下 Apache 配置实用指南。


一、安装 Apache(httpd)

sudo yum install httpd -y

(CentOS 8 可用 dnf)

sudo dnf install httpd -y

二、启动并设置开机自启

sudo systemctl start httpd
sudo systemctl enable httpd

查看状态:

sudo systemctl status httpd

三、防火墙放行 80 / 443

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

四、Apache 配置文件位置(CentOS)

内容 路径
主配置文件 /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"

可改为:

DocumentRoot "/data/www"
<Directory "/data/www">
    AllowOverride All
    Require all granted
</Directory>

保存后重启:

sudo systemctl restart httpd

六、配置虚拟主机(推荐)

新建配置文件:

sudo 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>

    ErrorLog /var/log/httpd/example-error.log
    CustomLog /var/log/httpd/example-access.log combined
</VirtualHost>

创建目录:

sudo mkdir -p /var/www/example
echo "Hello CentOS Apache" > /var/www/example/index.html

重启:

sudo systemctl restart httpd

七、启用 PHP(如需要)

sudo yum install php php-cli php-common -y
sudo systemctl restart httpd

测试:

echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

八、开启 HTTPS(SSL)

sudo yum install mod_ssl -y

证书配置示例:

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

    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/example.crt
    SSLCertificateKeyFile /etc/pki/tls/private/example.key
</VirtualHost>

九、常见问题

403 Forbidden

  • 目录无权限
  • SELinux 未放行

解决:

sudo chown -R apache:apache /var/www
sudo setsebool -P httpd_read_user_content 1

修改配置不生效

sudo apachectl configtest
sudo systemctl restart httpd

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

  • CentOS 版本(7 / 8 / Stream)
  • 是否用 Nginx + Apache
  • 是否要 多站点 / HTTPS / 反向代理

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

0 踩