如何在Ubuntu 12.04 LTS上设置Apache虚拟主机

什么是红色表示

用户需要输入或定制的生产线将在红色在本教程! 其余的应该主要是复制和粘贴。

关于虚拟主机

虚拟主机用于从单个IP地址运行多个域。 这对于需要从一个虚拟专用服务器运行多个站点的人特别有用。 根据用户访问站点的具体情况,站点会向访问者显示不同的信息。可以添加到VPS的虚拟主机数量没有限制。

建立

本教程中的步骤要求用户具有root权限。 你可以看到如何设置了在这里初始服务器设置。 你可以实现任何适合你的用户名。

此外,您需要在您的虚拟服务器上安装并运行apache如果不是这样,您可以使用以下命令下载:

sudo apt-get install apache2

第一步 - 创建一个新目录

创建虚拟主机的第一步是创建一个目录,我们将保留新网站的信息。

此位置将是您以后的Apache虚拟配置文件中的文档根目录。 通过在代码行中添加-p,命令会自动生成新目录的所有父代。

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

您需要指定一个实际的DNS许可域或IP地址,以测试虚拟主机是否正在工作。 在本教程中,我们将使用example.com作为正确域名的占位符。

但是,如果您想使用未经批准的域名来测试该过程,您将在第七步中找到有关如何使其在本地计算机上工作的信息。

第二步 - 授予权限

我们需要将该目录的所有权授予用户,而不是将其保留在根系统上。

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

此外,重要的是要确保每个人都能够读取我们的新文件。

 sudo chmod -R 755 /var/www

现在你都完成了权限。

第三步 - 创建页面

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

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

我们可以向文件中添加一些文本,以便在IP重定向到虚拟主机时查看。

&lthtml>
  &lthead>
    &lttitle>www.example.com&lt/title>
  &lt/head>
  &ltbody>
    &lth1>Success: You Have Set Up a Virtual Host&lt/h1>
  &lt/body>
&lt/html>

保存并退出

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

下一步是设置apache配置。 我们要处理一个副本 - 请在同一目录中创建一个文件副本(在域名后面命名):

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

第五步 - 打开虚拟主机

打开新的配置文件:

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

我们将在此文件中设置一个虚拟主机。

第一步是在ServerAdmin行下为ServerName插入一行。

  ServerName example.com 

ServerName指定虚拟主机使用的域名。

如果要使您的网站可从多个名称访问(例如,在URL中使用www),则可以通过添加ServerAlias行在虚拟主机文件中包含备用名称。 虚拟主机文件的开头将如下所示:

&ltVirtualHost *:80>
        ServerAdmin webmaster@example.com
        ServerName example.com
        ServerAlias www.example.com
  [...]

下一步是填写正确的文档根。 对于此部分,写入在第一步中创建的新目录的扩展名。 如果文档根不正确或缺失,您将无法设置虚拟主机。

该部分应如下所示:

 DocumentRoot /var/www/example.com/public_html 

您不需要对此文件进行任何其他更改。 保存并退出。

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

 sudo a2ensite example.com

第六步 - 重新启动Apache

我们对配置进行了很多更改,并设置了虚拟主机。 但是,我们所做的任何更改都将在重新启动Apache后生效。

使用此命令重新启动apache:

 sudo service apache2 restart

您可能会看到一行错误

Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName 
该消息只是一个警告,您将能够访问您的虚拟主机,没有任何进一步的问题。

可选第七步 - 设置本地主机

如果您已将域名指向虚拟专用服务器的IP地址,则可以跳过此步骤,而不需要设置本地主机。 您的虚拟主机应该工作。 但是,如果想要尝试新的虚拟主机而无需连接到实际的域名,您可以单独在您的计算机上设置本地主机。 对于这一步,确保你在计算机本身,而不是你的Droplet。

要继续此步骤,您需要知道计算机的管理密码,否则将需要使用实际的域名来测试虚拟主机。

如果你是一个Mac或Linux上,访问根用户( su在计算机上),并打开你的hosts文件:

nano /etc/hosts 

如果你是在Windows计算机上,你可以找到方向改变主机上的文件, 微软网站

您可以将本地主机详细信息添加到此文件,如下面的示例所示。 只要该行在那里,将您的浏览器指向example.com即可获得相应IP地址的所有虚拟主机详细信息。

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost

#Virtual Hosts 
12.34.56.789    example.com

但是,最好在完成后从本地hosts文件夹中删除这些补充地址,以避免任何未来的混乱。

第八步结果:查看您的虚拟主机在操作

完成虚拟主机的设置后,您可以看到它如何在线。 在浏览器中输入您的IP地址(即http://12.34.56.789)

它应该看起来有点像我的得心应手

做得好!

创建更多虚拟主机

要添加更多虚拟主机,您只需重复上述过程,小心地使用适当的域名设置新的文档根目录,然后创建和激活新的虚拟主机文件。

查看更多

一旦您设置了虚拟主机,就可以继续为您的网站建立一个SSL证书

作者Etel Sverdlov
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏