温馨提示×

CentOS从零开始如何配置虚拟主机

小樊
49
2025-10-11 08:58:14
栏目: 云计算

CentOS从零开始配置Apache虚拟主机完整步骤

1. 准备工作

确保系统已联网,具备rootsudo权限。若未安装Apache,需先完成基础环境准备。

2. 安装Apache HTTP服务器

通过YUM包管理器安装Apache(默认仓库已包含):

sudo yum install httpd -y 

3. 启动Apache并设置开机自启

启动服务并配置开机自动启动:

sudo systemctl start httpd # 启动Apache sudo systemctl enable httpd # 设置开机自启 

4. 配置防火墙允许HTTP/HTTPS流量

CentOS 7及以上默认使用firewalld,需放行HTTP(80端口)和HTTPS(443端口):

sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload # 重新加载防火墙规则 

5. 创建虚拟主机配置文件

Apache的虚拟主机配置文件存放在/etc/httpd/conf.d/目录下,新建一个以.conf结尾的文件(如mydomain.conf):

sudo vi /etc/httpd/conf.d/mydomain.conf 

添加以下内容(根据实际情况修改域名和目录路径):

<VirtualHost *:80> ServerAdmin webmaster@mydomain.com # 管理员邮箱(可选) DocumentRoot /var/www/mydomain/html # 网站根目录 ServerName mydomain.com # 主域名 ServerAlias www.mydomain.com # 域名别名(可选) # 日志配置(可选,但建议开启) ErrorLog /var/log/httpd/mydomain-error.log CustomLog /var/log/httpd/mydomain-access.log combined # 目录权限设置(可选,增强安全性) <Directory /var/www/mydomain/html> Options -Indexes +FollowSymLinks # 禁止目录列表,允许符号链接 AllowOverride All # 允许.htaccess文件覆盖配置 Require all granted # 允许所有用户访问 </Directory> </VirtualHost> 

6. 创建网站目录及测试页面

根据配置文件中的DocumentRoot创建目录结构,并添加测试页面:

sudo mkdir -p /var/www/mydomain/html # 创建网站根目录 sudo chown -R apache:apache /var/www/mydomain # 设置目录所有者(Apache用户) sudo chmod -R 755 /var/www/mydomain # 设置目录权限(755为推荐值) # 添加测试页面(可选) echo "Welcome to My Domain!" | sudo tee /var/www/mydomain/html/index.html 

7. 配置SELinux(若启用)

若SELinux处于Enforcing模式(默认状态),需调整上下文以允许Apache访问网站目录:

sudo setsebool -P httpd_can_network_connect 1 # 允许Apache网络连接(可选) sudo chcon -Rt httpd_sys_content_t /var/www/mydomain/html # 设置目录安全上下文 

8. 重启Apache服务

应用配置更改:

sudo systemctl restart httpd # 重启Apache sudo systemctl status httpd # 检查服务状态(确保无报错) 

9. 配置本地DNS解析(测试用)

若未将域名解析到服务器IP,可通过修改本地hosts文件模拟:

sudo vi /etc/hosts 

添加以下内容(将192.168.1.100替换为服务器IP):

192.168.1.100 mydomain.com www.mydomain.com 

10. 测试虚拟主机

在浏览器中访问http://mydomain.comhttp://www.mydomain.com,若看到测试页面,说明配置成功。
若无法访问,可通过以下命令查看Apache错误日志排查问题:

tail -f /var/log/httpd/error_log # 实时查看错误日志 

可选扩展:配置HTTPS(Let’s Encrypt免费证书)

若需启用HTTPS,可使用Certbot工具自动获取和配置SSL证书:

sudo yum install certbot python2-certbot-apache -y # 安装Certbot sudo certbot --apache -d mydomain.com -d www.mydomain.com # 自动配置HTTPS 

按提示完成证书申请,Certbot会自动修改Apache配置以支持HTTPS。

通过以上步骤,即可在CentOS上完成Apache虚拟主机的配置。如需添加多个虚拟主机,只需重复步骤5-8(修改配置文件中的域名和目录路径即可)。

0