在CentOS上配置Apache多站点(Virtual Hosts)可以让您在同一台服务器上托管多个网站。以下是一个基本的配置方案:
1. 安装Apache
首先,确保您已经安装了Apache。如果没有安装,可以使用以下命令进行安装:
sudo yum install httpd
2. 启动并启用Apache服务
启动Apache服务并设置开机自启:
sudo systemctl start httpd sudo systemctl enable httpd
3. 配置防火墙
确保防火墙允许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
4. 创建站点目录
为每个站点创建一个目录,并设置适当的权限:
sudo mkdir -p /var/www/site1.com/html sudo mkdir -p /var/www/site2.com/html sudo chown -R apache:apache /var/www/site1.com sudo chown -R apache:apache /var/www/site2.com
5. 配置虚拟主机
编辑Apache的配置文件来添加虚拟主机。通常,虚拟主机配置文件位于/etc/httpd/conf.d/
目录下。您可以创建新的配置文件,例如site1.conf
和site2.conf
。
site1.conf
ServerAdmin webmaster@site1.com DocumentRoot /var/www/site1.com/html ServerName site1.com ServerAlias www.site1.com ErrorLog /var/log/httpd/site1.com-error.log CustomLog /var/log/httpd/site1.com-access.log combined
site2.conf
ServerAdmin webmaster@site2.com DocumentRoot /var/www/site2.com/html ServerName site2.com ServerAlias www.site2.com ErrorLog /var/log/httpd/site2.com-error.log CustomLog /var/log/httpd/site2.com-access.log combined
6. 启用虚拟主机配置
确保您的虚拟主机配置文件已启用。您可以使用以下命令来检查:
sudo apachectl configtest
如果没有错误,重新加载Apache服务以应用更改:
sudo systemctl reload httpd
7. 配置DNS
确保您的域名(例如site1.com
和site2.com
)已正确解析到服务器的IP地址。您可以在DNS提供商的管理界面中进行配置。
8. 测试配置
在浏览器中访问您的站点,确保它们能够正确显示。例如,访问http://site1.com
和http://site2.com
。
9. SSL配置(可选)
如果您希望为您的站点启用HTTPS,可以使用Let’s Encrypt免费获取SSL证书,并进行相应的配置。
安装Certbot
sudo yum install certbot python2-certbot-apache
获取并安装SSL证书
sudo certbot --apache -d site1.com -d www.site1.com sudo certbot --apache -d site2.com -d www.site2.com
按照提示完成证书的安装和配置。
通过以上步骤,您应该能够在CentOS上成功配置Apache多站点。