您的位置:首页 > 运维架构 > Apache

如何在CentOS 6上设置Apache虚拟主机

2017-01-17 08:56 639 查看


原创地址:
http://www.howtoing.com/how-to-set-up-apache-virtual-hosts-on-centos-6/

关于虚拟主机

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


建立

本教程中的步骤要求用户具有root权限。你可以看到如何设置了在初始服务器设置在第3步和4。此外,如果我在步骤引用用户,我将使用名称WWW。你可以实现任何适合你的用户名。

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


第一步 - 创建一个新目录

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

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


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

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


第二步 - 授予权限

我们需要将该目录的所有权授予用户,而不是将其保留在根系统上。
sudo chown -R apache:apache /var/www/example.com/public_html


此外,重要的是要确保每个人都能够读取我们的新文件。
sudo chmod 755 /var/www


现在你都完成了权限。


第三步 - 创建页面

我们需要在我们的配置目录中创建一个名为index.html的新文件。
sudo vi /var/www/example.com/public_html/index.html


我们可以向文件中添加一些文本,以便在IP重定向到虚拟主机时查看。
<html>
<head>
<title>www.example.com</title>
</head>
<body>
<h1>Success: You Have Set Up a Virtual Host</h1>
</body>
</html>


保存并退出


第四步 - 打开虚拟主机

下一步是进入apache配置文件本身。
sudo vi /etc/httpd/conf/httpd.conf


有几行要寻找。

确保您的文字与下面显示的内容相符。
#Listen 12.34.56.78:80
Listen 80


向下滚动到文档的最底部到名为“虚拟主机”的部分。
NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost *:80>
ServerAdmin webmaster@example.com
DocumentRoot /var/www/example.com/public_html
ServerName www.example.com
ServerAlias example.com
ErrorLog /var/www/example.com/error.log
CustomLog /var/www/example.com/requests.log
</VirtualHost>


要关注的最重要的行是NameVirtualHost,虚拟主机,文档根和服务器名称的行。让我们一次采取这些。
取消注释(删除数字符号)NameVirtualHost,不进行任何更改。星号表示通过端口80的任何IP地址将是虚拟主机。由于您的系统可能只有一个IP地址,这不是一个问题 - 但是,如果您愿意,您可以用您的IP地址替换星号。
您可以将其余的数字标记留在原位,直到到达&ltVirtualHost *:80>行。通过&ltVirtualHost>取消注释一切。
保留&ltVirtualHost *:80>,因为它的详细信息必须与NameVirtual Host部分中的详细信息匹配。如果您在该部分中用您的IP地址替换了星标,请务必在此处执行相同操作。
文档根是关键!对于此部分,写入在第一步中创建的新目录的扩展名。如果文档根不正确或缺失,您将无法设置虚拟主机。
服务器名称是另一个重要的信息,包含虚拟主机的域名(例如www.example.com)。确保您完全拼写域名;我们将在下一行放入任何备用的可能性。
ServerAlias是配置文件中的一个新行,默认情况下不存在。添加它将允许您列出域名的几个变体,例如没有前面的www。

本节中的其余行不是设置虚拟主机所必需的。然而,知道他们做什么仍然有帮助。
服务器管理员要求网站管理员的电子邮件。
错误日志和自定义日志跟踪服务器的任何问题。错误日志涵盖在维护服务器时出现的问题,自定义日志跟踪服务器请求。您可以为这些进程设置自定义位置。
确保&ltVirtualHost>未注释;然后保存并退出。


第五步 - 重新启动Apache

我们对配置进行了很多更改。但是,它们将不会生效,直到Apache重新启动。

首先停止所有apache进程:
sudo apachectl -k stop


然后再次启动apache。
sudo /etc/init.d/httpd start


您可能会看到以下错误:
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    www.example.com


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


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

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

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

做得好!


添加更多虚拟主机

要创建其他虚拟主机,您只需重复上述过程,小心地每次使用适当的新域名设置新的文档根。然后只需将新的虚拟主机信息复制并粘贴到Apache Config文件中,如下所示
<VirtualHost *:80>
ServerAdmin webmaster@example.com
DocumentRoot /var/www/example.com/public_html
ServerName www.example.com
ServerAlias example.com
ErrorLog /etc/var/www/example.com/error.log
CustomLog /var/www/example.com/requests.log
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@example.org
DocumentRoot /var/www/example.org/public_html
ServerName www.example.org
ServerAlias example.org
ErrorLog /var/www/example.org/error.log
CustomLog /var/www/example.orgrequests.log
</VirtualHost>


查看更多

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


原创地址:
http://www.howtoing.com/how-to-set-up-apache-virtual-hosts-on-centos-6/

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息