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