在ubuntu搭建虚拟主机

文章红色内容代表的意义

在本文中,那些需要读者自行输入或者定义的内容将会以红色标志!其余的是可以用来复制/粘贴的。

关于虚拟主机

虚拟主机可以在一个 IP 地址上运行多个域名(即多个网站)。这对于那些需要在一个虚拟专用服务器上运行多个网站的人来说特别有用。那些网站会根据用户的访问信息给用户者提供不同的内容。在虚拟专用服务器上建立的虚拟主机的数量是没有限制的。

设置

要完成本文中的步骤,读者需要有操作系统的 root 权限。你可以从这里了解服务器的初始设置。你可以使用任何适合你的用户名。特别地,在你的主机中需要已经安装并且运行着 apache 服务器,如果还没有,你可以使用下面的命令来安装:

  1. sudo apt-get install apache2  

步骤一:创建新目录

创建虚拟主机的第一步是创建一个用来存放网站信息的目录。这个目录将会作为接下来的 Apache 虚拟主机配置文件中的根目录(Document Root)。在命令行中添加 -p 参数,命令将会自动添加新目录的所有父级目录。

  1. sudo mkdir -p /var/www/example.com/public_html  

为了测试虚拟主机是否能工作,你需要指定一个实际可用的域名或者 IP 地址。在本文中,我们使用 example.com 作为正确域名的一个占位符。

然而,如果你想使用一个不可用的域名来测试,在步骤七中,你会找到如何使它在本地运行的相关信息。

步骤二:授予权限

我们需要授予那个目录的所属者为用户,而不是保持 root 用户。

  1. sudo chown -R $USER:$USER /var/www/example.com/public_html   

特别地,确保每个人能够读取我们的新文件是很重要的。

  1. sudo chmod -R 755 /var/www  

关于授权的工作已经完成了。

步骤三:创建页面

在我们的配置目录中,我们需要创建一个名为 index.html 的新文件。

  1. sudo nano /var/www/example.com/public_html/index.html  

我们可以给文件添加些内容,以备在 IP 被重定向到虚拟主机时有内容可以看。

  1. <html>  
  2.   <head>  
  3.     <title>example.com</title>  
  4.   </head>  
  5.   <body>  
  6.     <h1>Success: You Have Set Up a Virtual Host</h1>  
  7.   </body>  
  8. </html>  

保存并且退出

步骤四:创建新的虚拟主机文件

下一步是设置 apache 的配置文件。我们将要复制一个文件——在相同的目录下复制配置文件文件(将它命名为你的域名):

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

步骤五:配置虚拟主机

打开新的配置文件:

  1. sudo nano /etc/apache2/sites-available/example.com  

我们将会在这个文件中设置虚拟主机。

首先在 ServerAdmin 的行下面插入一行 ServerName。

  1. ServerName example.com  

ServerName 设置为虚拟主机使用的域名。

如果你想要你的网站可以通过多个名字来访问(例如:在 URL 中包含 www),你可以通过在配置文件中增加 ServerAlias 行来包含备用的名字到你的虚拟主机。虚拟主机文件的开头类似于下面的:

  1. <VirtualHost *:80>  
  2.         ServerAdmin webmaster@example.com   
  3.         ServerName example.com   
  4.         ServerAlias www.example.com   
  5.         [...]  

接下来是填写正确的根目录(Document Root)。将在第一步骤中新建的目录填写到这里来。如果根目录填写错误或这缺失,则虚拟主机就不能设置成功。

这个看起来像下面的:

  1. DocumentRoot /var/www/example.com/public_html  

你可以不用修改这个文件的其它内容了。保存并且退出。

最后一步是激活虚拟主机,使用 apache 内建的快捷方式:

  1. sudo a2ensite example.com  

步骤六:重启 Apache 服务器

我们已经做出了很多更改,现在虚拟主机已经配置好了。然而,在重启 Apache 之前,我们所做出的更改是不会生效的。

使用下面的命令来重启 Apache 服务器:

  1. sudo service apache2 restart  

步骤七(可选):设置本地 hosts 文件

如果你已经你的将域名指向虚拟专用服务器的 IP 地址,你可以跳过这一步了(你不需要设置本地的 hosts 文件)。你的虚拟主机可以工作了。然而,如果你想使用一个不是真实的域名来链接你的虚拟主机,你可以设置你本地的 hosts 文件来实现。

  1. nano /etc/hosts  

你可以将本地主机的信息添加到这个文件,正如下面的示例一样。只要有记录在哪里,你的浏览器就会被定向的指定的 IP 地址,也就是说,example.com 会给你正确的虚拟主机 IP 地址。

  1. # Host Database  
  2. #  
  3. # localhost is used to configure the loopback interface  
  4. # when the system is booting.  Do not change this entry.  
  5. ##  
  6. 127.0.0.1       localhost  
  7.   
  8. 12.34.56.789    example.com  

步骤八(结果):访问你的虚拟主机

一旦你完成了设置你的虚拟主机,你就可以查看结果了。在浏览器地址栏中输入你的域名。你将会看到步骤三所创建的文件的内容。

Good Job!

创建更多的虚拟主机

要创建更多的虚拟主机,你重复上面的步骤就可以了。

(完)

英文原文地址:这里
在翻译中有些许删减,读者可以参考原文,有翻译错误之处,还请不吝赐教 ^_^

本文作者: chenishr

本文标题:《在ubuntu搭建虚拟主机》

本文地址: https://blog.chenishr.com/?p=202

©版权所有,除非注明, 永在路上文章均为原创,转载请以链接形式注明出处和作者细信息。

发表评论

电子邮件地址不会被公开。 必填项已用*标注