温馨提示×

怎样配置centos中apache

小樊
43
2026-09-15 01:52:54
栏目: 智能运维

下面按从零开始的思路,给你一份在 CentOS(以 7/8/Stream 为主) 上配置 Apache(httpd) 的实用指南,涵盖安装、启动、目录结构、虚拟主机、防火墙和常见配置。


一、安装 Apache

CentOS 7

sudo yum install httpd -y

CentOS 8 / Stream

sudo dnf install httpd -y

二、启动并设置开机自启

sudo systemctl start httpd
sudo systemctl enable httpd

查看状态:

systemctl status httpd

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

开放 80 端口(HTTP)

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

如需 HTTPS:

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

四、测试 Apache 是否正常工作

浏览器访问:

http://服务器IP

看到 Apache Test Page 即成功。


五、Apache 目录结构说明

路径 说明
/etc/httpd/ 主配置目录
/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"
<Directory "/var/www/html">
    AllowOverride All
    Require all granted
</Directory>

重启:

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

八、启用 .htaccess(伪静态)

在目录配置中确保:

AllowOverride All

九、SELinux 常见问题(CentOS 特有)

如果网页无法访问:

sudo setsebool -P httpd_can_network_connect 1
sudo chcon -R -t httpd_sys_content_t /var/www

十、常用命令总结

systemctl start httpd
systemctl stop httpd
systemctl restart httpd
httpd -t   # 检查配置语法

如果你需要:

  • 配置 HTTPS(Let’s Encrypt)
  • PHP + Apache
  • 反向代理
  • CentOS 不同版本差异

可以直接告诉我你的具体需求。

0