这篇文章讲解如何在 Ubuntu 上配置 Apache2 虚拟主机。 准备 安装Apache,具体安装过程可以参考这篇文章https://blog.foof.dev/posts/lamp-0

第一步 – 创建目录

第一步是创建一个目录结构,该结构将保存为访问者提供的站点数据。

sudo mkdir -p /var/www/example.com/publish_html sudo mkdir -p /var/www/test.com/publish_html 这里我们设置的域名是example.com和test.com

第二步 – 设置权限

现在我们有了文件的目录结构,但它们归root用户所有。 如果我们希望我们的常规用户能够修改我们的Web目录中的文件,我们可以通过这样做来更改所有权:

sudo chown -R $USER:$USER /var/www/example.com/public_html sudo chown -R $USER:$USER /var/www/test.com/public_html 当您按“ENTER”时,$ USER变量将获取您当前登录的用户的值。 通过这样做,我们的常规用户现在拥有public_html子目录,我们将存储我们的内容。我们还应该稍微修改我们的权限,以确保允许对一般Web目录及其包含的所有文件和文件夹进行读取访问,以便可以正确地提供页面:

sudo chmod -R 755 /var/www

第三步 – 给每个虚拟主机创建演示页面

为example.com创建页面

vim /var/www/example.com/publish_html/index.html

输入以下内容:

Success! The example.com virtual host is working!

保存并关闭文件。复制这个文件到text.com目录下:

cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html

打开并修改文件:

vim /var/www/test.com/public_html/index.html

修改为下面的内容:

Success! The test.com virtual host is working!

保存并关闭文件。

第四步 – 创建新的虚拟主机文件

创建第一个虚拟主机文件 首先复制000-default.conf:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

用编辑器打开example.com.conf

sudo vim /etc/apache2/sites-available/example.com.conf

修改为以下内容:

    ServerAdmin [email protected]
    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

创建第二个虚拟主机文件 复制example.com.conf

sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf

编辑test.com.conf

sudo vim /etc/apache2/sites-available/test.com.conf

修改为以下内容

    ServerAdmin [email protected]
    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

第五步 – 启用新的虚拟主机

运行一下命令,启用新的虚拟主机:

sudo a2ensite example.com.conf
sudo a2ensite test.com.conf

重启apache2服务器:

sudo service apache2 restart

参考

  • How To Set Up Apache Virtual Hosts on Ubuntu 14.04 LTS