下面以 CentOS 7 / CentOS 8(含 Rocky / Alma 同理) 为例,介绍 Apache 创建虚拟主机(Virtual Host) 的完整流程。示例基于 Apache 2.4。
# CentOS 7
yum install -y httpd
# CentOS 8 / Rocky / Alma
dnf install -y httpd
systemctl start httpd
systemctl enable httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
以域名 example.com 为例:
mkdir -p /var/www/example.com/public_html
mkdir -p /var/www/example.com/logs
设置权限:
chown -R apache:apache /var/www/example.com
chmod -R 755 /var/www
vim /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/www/example.com/logs/error.log
CustomLog /var/www/example.com/logs/access.log combined
</VirtualHost>
✅ 说明:
ServerName:主域名ServerAlias:别名(可选)DocumentRoot:网站根目录AllowOverride All:支持 .htaccessRequire all granted:允许访问(Apache 2.4)echo "<h1>Welcome to example.com</h1>" > /var/www/example.com/public_html/index.html
httpd -t
systemctl restart httpd
服务器IP example.com
浏览器访问:
http://example.com
✅ 解决 SELinux:
setsebool -P httpd_read_user_content 1
或临时关闭(不推荐):
setenforce 0
/etc/httpd/conf.d/ServerName 写错只需再创建一个 .conf 文件即可,例如:
/etc/httpd/conf.d/test.com.conf
安装 Apache
↓
创建网站目录
↓
编写虚拟主机配置
↓
测试配置
↓
重启 Apache
↓
访问域名
如果你需要:
可以直接告诉我,我可以一步步帮你配置。