主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

3

听众

32

主题
发表于 2014-11-17 13:55:49 | 查看: 1050| 回复: 0
本帖最后由 神的眷顾 于 2014-11-17 14:03 编辑

介绍





Apache Web服务器是提供web内容在互联网上的最流行的方式。 它占了一半以上所有活动的网站在互联网上是非常强大和灵活。

阿帕奇破坏其功能和部件为可以被定制并独立地配置各个单元。 描述单个网站或域的基本单元被称为一个virtual host 。

这些指定允许管理员使用一台服务器通过使用匹配机制来承载多个域或部位关闭单个接口或IP的。 这涉及到任何人都希望举办多个站点关闭一个VPS的。

被构造将引导访客到保持该站点的信息的特定目录中的每个域,从未表示同一服务器还负责其它站点。 该方案是可扩展的,无需任何软件的限制,只要您的服务器可以处理负载。

在本指南中,我们将引导您如何设置Apache虚拟主机上的Ubuntu 14.04 VPS。 在此过程中,您将学习如何为别人服务的不同内容,这取决于域,他们都要求不同的访问者。


Prerequisites

开始之前本教程中,您应该创建一个非root用户在这里1-4的步骤说明。

您还需要安装才能正常工作,通过这些步骤的Apache。 如果你还没有这样做的话,你可以得到安装在服务器上,通过Apache的apt-get :

sudo apt-get update sudo apt-get install apache2

经过这些步骤后,我们就可以上手。

对于本指南的目的,我的配置将使虚拟主机example.com ,另一个用于test.com 。 这将在整个指南中引用,但你应该同时遵循沿着替换自己的域名或值。

要了解如何设置你的域名与DigitalOcean ,请点击此链接。 如果没有可用的域一起玩,你可以使用虚拟值。

我们将展示如何修改本地hosts文件以后,如果你使用的是虚值来测试配置。 这将允许您从您的家庭计算机测试您的配置,即使你的内容将不会通过域名给其他旅客使用。


第一步 - 创建目录结构

我们将采取的第一步是使将举行,我们将服务于游客的现场数据的目录结构。

我们的document root (阿帕奇着眼于寻找内容,服务于顶级目录)将被设置为在各个目录/var/www目录中。 我们将在这里创建一个目录为我们计划制作的虚拟主机。

每个目录中,我们将创建一个public_html文件,该文件会保留我们的实际文件。 这使我们在我们的托管服务有一定的灵活性。

例如,对于我们的网站,我们将让我们的目录是这样的:

sudo的命令mkdir -p /无功/网络/ example.com /的public_html sudo的命令mkdir -p /无功/网络/ test.com /的public_html

在红色的部分表示,我们想从我们的VPS服务域名。


第二步 - 授予权限

现在,我们有我们的文件目录结构,但它们是由我们的root用户拥有。 如果我们希望我们的普通用户能够在我们的网页目录修改文件,我们可以通过改变所有权这样做:

须藤CHOWN -R $ USER:$ USER /无功/网络/ example.com /的public_html须藤CHOWN -R $ USER:$ USER /无功/网络/ test.com /的public_html

在$USER变量将带你当前登录的用户,当你按下“ENTER”作为值。 通过这样做,我们普通用户现在拥有public_html子目录,我们将我们的存储内容。

我们还应该修改我们的权限一点点,以确保读取访问被允许在一般的Web目录和所有它包含这样的页面能够正确送达的文件和文件夹:

sudo chmod -R 755 /var/www

您的Web服务器现在应该有它需要提供内容的权限,你的用户应该能够创建必要的文件夹中的内容。


第三步 - 创建演示页面为每个虚拟主机

我们有我们的地方的目录结构。 让我们创建一些内容服务。

我们只是一个示范,让我们的网页将是非常简单的。 我们只是要做出index.html页面为每个站点。

让我们先从example.com 。 我们可以打开一个index.html通过键入我们的编辑文件:

纳米/无功/网络/ example.com /public_html/index.html

在这个文件中,创建一个简单的HTML文件,指示它被连接到该站点。 我的文件看起来像这样:

<HTML>   <HEAD>     <TITLE>欢迎Example.com!</ TITLE>   </ HEAD>   <正文>     <H1>成功! 在example.com的虚拟主机正在工作!</ H1>   </ BODY> </ HTML>

保存并完成后关闭该文件。

我们可以复制这个文件为基础,我们的第二个网站通过键入以下命令使用方法:

CP /无功/网络/ example.com /public_html/index.html的/ var / WWW / test.com /public_html/index.html

那么我们就可以打开该文件,并修改相关的部分信息:

纳米/无功/网络/ test.com /public_html/index.html <HTML>   <HEAD>     <TITLE>欢迎Test.com!</ TITLE>   </ HEAD>   <正文>     <H1>成功! 该test.com虚拟主机正在工作!</ H1>   </ BODY> </ HTML>

保存并关闭该文件也是如此。 您现在有必要来测试虚拟主机配置页面。


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

虚拟主机文件是指定我们的虚拟主机的实际配置和决定如何在Apache Web服务器将不同域的请求作出回应的文件。

阿帕奇配备了名为默认的虚拟主机文件000-default.conf ,我们可以作为一个起跳点使用。 我们将它复制在创造我们每个域的虚拟主机文件。

我们将开始与一个域,配置它,将它复制了我们的第二个领域,然后进行必要的一些进一步的调整。Ubuntu默认的配置要求每个虚拟主机文件结束.conf 。

创建第一个虚拟主机文件



首先复制的第一个域的文件:


 首先复制的第一个域的文件:

  须藤CP /etc/apache2/sites-available/000-default.conf的/ etc / apache2的/站点可用/ example.com的.conf

  在编辑器中以root权限打开新文件:

  须藤纳米的/ etc / apache2的/站点可用/ example.com的.conf

  该文件将是这个样子(我已经删除了此意见,使文件更加平易近人):

  <虚拟主机*:80> 的ServerAdmin站长@本地 的DocumentRoot在/ var / www / html等 错误日志$ {APACHE_LOG_DIR} /error.log 的CustomLog $ {APACHE_LOG_DIR} /access.log结合
  正如你所看到的,没有太多的在这里。 我们将在这里定制的项目为我们的第一个域,并添加了一些额外的指令。 这个虚拟主机部分匹配的是端口80,默认的HTTP端口的任何请求。
  首先,我们需要的改变ServerAdmin指令,使网站管理员可以接收电子邮件,通过电子邮件。

  的ServerAdmin admin@example.com

  在此之后,我们需要增加两个指令。 第一,所谓的ServerName ,奠定了基础域应该与此虚拟主机的定义。 这很可能是你的域名。 第二,所谓ServerAlias ​​,定义了进一步的名称应匹配,如果他们的基本名称。 这是符合你定义的主机,像用www :

  服务器名example.com ServerAlias ​​www.example.com
  我们需要改变一个基本的虚拟主机文件中的唯一的另一件事是文档根目录的这个域的位置。 我们已经创建了我们所需要的目录,所以我们只需要改变DocumentRoot指令,以反映我们所创建的目录:
  的DocumentRoot在/ var / WWW / example.com /的public_html

  总体而言,我们的虚拟主机文件应该是这样的:

  <虚拟主机*:80> 的ServerAdmin admin@example.com 服务器名example.com ServerAlias ​​www.example.com 的DocumentRoot在/ var / WWW / example.com /的public_html 错误日志$ {APACHE_LOG_DIR} /error.log 的CustomLog $ {APACHE_LOG_DIR} /access.log结合

  保存并关闭文件。

  副本的第一个虚拟主机和自定义的第二个域

  现在,我们有我们的第一个虚拟主机文件建立,我们可以创造我们的第二个通过复制该文件,并根据需要调整它。

  首先复制它:

  须藤CP的/ etc / apache2的/站点可用/ example.com。机密的/ etc / apache2的/站点可用/ test.com的.conf

  打开与编辑器root权限的新文件:

  须藤纳米的/ etc / apache2的/站点可用/ test.com的.conf

  现在,您需要修改所有的信息块来引用你的第二个域。 当您完成,它可能看起来像这样:

  <虚拟主机*:80> 的ServerAdmin admin@test.com 服务器名test.com ServerAlias ​​www.test.com 的DocumentRoot在/ var / WWW / test.com /的public_html 错误日志$ {APACHE_LOG_DIR} /error.log 的CustomLog $ {APACHE_LOG_DIR} /access.log结合

  保存并完成后关闭该文件。

第五步 - 启用新的虚拟主机文件

现在,我们已经创建了虚拟主机的文件,我们必须启用它们。 阿帕奇包括一些工具,使我们能够做到这一点。

我们可以使用a2ensite工具,使我们每一个这样的网站的:

须藤a2ensite example.com的.conf须藤a2ensite test.com的.conf

当您完成,您需要重新启动Apache以使这些更改生效:

sudo service apache2 restart

你很可能会收到一条消息说类似的东西:

  * Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

这不影响我们的网站无害消息。


第六步 - 设置本地hosts文件(可选)

如果你还没有使用,你自己来测试此过程,并一直在使用一些例如域,而不是实际的域名是,你至少可以暂时修改测试此过程中的功能hosts本地计算机上的文件。

这将截取为你配置的域名的任何请求,并将其指向您的VPS服务器,就如同DNS系统会如果你使用注册的域名做。 从您的电脑,虽然这只是工作,只是用于测试目的。

请确保您正在运行在本地计算机上执行这些步骤,而不是你的VPS服务器。 您需要知道计算机的管理员密码或其他可能对管理组的成员。

如果你是Mac或Linux计算机上,编辑与输入管理权限的本地文件:

sudo nano /etc/hosts

如果你是在Windows机器上,你可以找到改变你的hosts文件说明这里。

你需要添加的细节是你的VPS服务器之后要使用达到了VPS域的公网IP​​地址。

对于我曾经在本指南中,假定我的VPS的IP地址是域111.111.111.111 ,我可以添加以下几行,以我的hosts文件的底部:

127.0.0.1本地主机 127.0.1.1客人桌面 111.111.111.111 example.com 111.111.111.111 test.com

这将直接对任何请求example.com和test.com我们的电脑上,并将它们发送到我们的服务器在111.111.111.111 。 这是我们想要的,如果我们没有实际这些域名的所有者,以测试我们的虚拟主机。

保存并关闭文件。


第七步 - 测试您的结果

现在你已经配置了虚拟主机,您可以进入到您在Web浏览器中配置的域方便地测试您的设置:

HTTP:// example.com

你应该看到一个页面,看起来像这样:

同样,如果你可以访问你的第二个页面:

HTTP:// test.com

你会看到你的第二个站点中创建的文件:

如果这两个站点的工作很好,你已经成功地在同一台服务器上配置两个虚拟主机。

如果你调整你的家用计算机的hosts文件,你可能希望删除你现在说,你确认你的配置的工作线。 这将防止您的主机被充满了实际上不是必需项文件。

如果你需要访问这个长期的,考虑你需要每个站点购买一个域名,并设置它指向您的VPS服务器


结论

如果您跟随,你现在应该有一台服务器处理两个独立的域名。 您可以通过以下我们上文所述,使更多的虚拟主机中的步骤展开这一进程。

有对域名的Apache可以处理,可以随意为你的服务器能够处理,使尽可能多的数量没有限制的软件。


收藏回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-5-16 16:00 , Processed in 0.072420 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表