简介
本教程将介绍如何在Ubuntu 18.04服务器上,使用Apache虚拟主机配置多个网站。
准备工作
为了完成本教程,需要在Ubuntu 18.04服务器上具备如下条件:
- 拥有服务器的sudo用户权限;
- 已成功安装Apache2 Web服务器。
第1步-创建目录结构
首先,我们需要为配置多域名建立合理的目录结构,不用的目录文件夹用于存储不同域名的网站文件。如下所示,我们为“exampal.com”和“test.com”两个域名,创建两个文件夹。在实际配置中,应该用自己的域名替换下面的两个域名。
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
第2步-授予权限
现在,分别授予apache服务器对两个目录访问权限,以便能够修改文件。
sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/test.com/public_html
此外,我们要确保允许对常规Web目录及其包含的所有文件夹和文件进行读取。
sudo chmod -R 755 /var/www
步骤3 —为每个虚拟主机创建演示页面
我们在每个网站文件夹内,分别创建一个“index.html”文件,用于页面的演示。使用nano编辑器,执行如下代码:
nano /var/www/example.com/public_html/index.html
在打开的文件中,将以下内容复制到文件内:
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html>
保存并关闭文件,然后将该文件复制到另外的一个网站文件夹:
cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html
打开文件并修改相关信息:
nano /var/www/test.com/public_html/index.html
/var/www/test.com/public_html/index.html
<html>
<head>
<title>Welcome to Test.com!</title>
</head>
<body> <h1>Success! The test.com virtual host is working!</h1>
</body>
</html>
保存并关闭此文件。
步骤4 —创建虚拟主机配置文件
Apache自带了一个默认的虚拟主机配置文件,被称为000-default.conf
,我们以它作为模板,为我们打算创建的两个网站分别创建虚拟主机配置文件。
创建虚拟主机配置文件
首先,复制000-default.conf内容到新的配置文件
example.com.conf:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
对新的配置文件进行编辑:
sudo nano /etc/apache2/sites-available/example.com.conf
将文件中的example.com替换为自己的域名:
/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
保存并关闭文件。
创建另一个虚拟主机配置文件
现在我们已经建立了第一个虚拟主机配置文件,我们可以通过复制该文件内容来创建第二个虚拟主机配置文件。
通过复制以创建第二个配置文件:
sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf
在编辑器打开新配置文件:
sudo nano /etc/apache2/sites-available/test.com.conf
将文件中对应的域名更改为“test.com”:
/etc/apache2/sites-available/test.com.conf
<VirtualHost *:80>
ServerAdmin admin@test.com
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
完成后,保存并关闭文件。
步骤5 —启用新虚拟主机配置文件
创建虚拟主机配置文件后,我们需要启用它们才能生效。执行如下命令:
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
接下来,禁用默认的配置文件000-default.conf
:
sudo a2dissite 000-default.conf
完成后,需要重新启动Apache才能使更改生效:
sudo systemctl restart apache2
第6步-测试结果
现在,我们已经完成了配置虚拟主机,可以通过在Web浏览器中访问域名,来验证配置是否成功:
http://example.com
应该可以看到如下所示的页面:
如果两个站点都可以正常显示,则说明我们已在同一服务器上成功配置了两个虚拟主机。
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/linux/apache-virtual-hosts-on-ubuntu-18-04/