温馨提示×

centos apache2怎么配置

小樊
48
2026-09-09 00:14:40
栏目: 智能运维

在 CentOS 上,Web 服务器一般是 Apache HTTP Server(httpd),而不是 Ubuntu 里的 apache2。下面给你一份从安装到基本配置的完整指南。


一、安装 Apache(httpd)

sudo yum install httpd -y

如果是 CentOS 8 / Stream:

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 是否正常工作

浏览器访问:

http://服务器IP

看到 Apache Test Page 即成功。


五、Apache 目录结构(CentOS)

作用 路径
主配置文件 /etc/httpd/conf/httpd.conf
站点配置目录 /etc/httpd/conf.d/
网站根目录 /var/www/html
日志目录 /var/log/httpd

六、配置一个网站(虚拟主机)

1️⃣ 创建网站目录

sudo mkdir -p /var/www/example.com/public_html
sudo chown -R apache:apache /var/www/example.com

2️⃣ 创建虚拟主机配置文件

sudo vi /etc/httpd/conf.d/example.com.conf

内容示例:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_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>

3️⃣ 重启 Apache

sudo systemctl restart httpd

七、开启 rewrite(伪静态)

确保 httpd.conf 中:

LoadModule rewrite_module modules/mod_rewrite.so

目录中:

AllowOverride All

八、配置 HTTPS(可选)

sudo yum install mod_ssl -y

证书配置:

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/key.pem
</VirtualHost>

九、常见问题

❌ 403 Forbidden

  • SELinux 未放行
sudo setsebool -P httpd_read_user_content 1

或临时关闭测试:

sudo setenforce 0

❌ 无法访问

  • 检查防火墙
  • 检查云服务器安全组(80/443)

如果你是想 “像 Ubuntu 那样用 apache2”,或者要 配置 PHP / MySQL / 反向代理 / 多站点,告诉我你的具体需求,我可以直接给你对应配置。

0 踩