温馨提示×

centos apache怎样设置

小樊
35
2026-09-06 02:13:29
栏目: 智能运维

你的问题比较宽泛,“CentOS 上 Apache 怎样设置”可以包含安装、启动、虚拟主机、防火墙、权限等多个方面。下面我按最常见、最实用的场景给你一个完整指南(以 CentOS 7 / 8 / Stream 为例,Apache 服务名是 httpd)。


一、安装 Apache(httpd)

# CentOS 7/8
sudo yum install httpd -y

# CentOS Stream / 新版
sudo dnf install httpd -y

二、启动并设置开机自启

sudo systemctl start httpd
sudo systemctl enable httpd

查看状态:

systemctl status httpd

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

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

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


四、测试 Apache 是否正常工作

浏览器访问:

http://服务器IP

看到 Apache Test Page 即成功。


五、网站目录与配置文件说明

默认网站目录

/var/www/html

放入 index.html 即可访问。

主配置文件

/etc/httpd/conf/httpd.conf

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

/etc/httpd/conf.d/

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

示例:配置 www.example.com

1. 创建网站目录

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

2. 创建虚拟主机配置

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>
</VirtualHost>

3. 重启 Apache

sudo systemctl restart httpd

七、开启 .htaccess(伪静态)

在虚拟主机或目录中:

AllowOverride All

并确认:

sudo setsebool -P httpd_can_network_connect on

(CentOS 默认开启 SELinux)


八、常见权限问题(非常重要)

如果访问 403:

# 修改目录所有者
sudo chown -R apache:apache /var/www/example

# 修改权限
sudo chmod -R 755 /var/www

SELinux 问题:

sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/example(/.*)?"
sudo restorecon -Rv /var/www/example

九、开启 HTTPS(可选)

sudo yum install mod_ssl -y

证书配置:

/etc/httpd/conf.d/ssl.conf

或用 Let’s Encrypt:

sudo yum install certbot python3-certbot-apache
sudo certbot --apache

十、常用命令汇总

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

如果你能告诉我:

  • ✅ CentOS 版本
  • ✅ 单网站还是多网站
  • ✅ 是否要用 PHP / MySQL
  • ✅ 是否要 HTTPS

我可以给你更精确的配置方案

0