<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>网邻&#039;s Blog &#187; ubuntu</title>
	<atom:link href="http://anywang.vicp.net/wp/?cat=16&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://anywang.vicp.net:8180/wp</link>
	<description>一个信息技术教师的blog</description>
	<lastBuildDate>Tue, 14 Mar 2023 02:19:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
	
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type='text/javascript' src='http://anywang.vicp.net:8180/wp/wp-includes/js/jquery/jquery.js?ver=1.4.2'></script>
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
	<item>
		<title>ubuntu apache2配置详解(含虚拟主机配置方法)</title>
		<link>http://anywang.vicp.net:8180/wp/?p=380</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=380#comments</comments>
		<pubDate>Wed, 10 Dec 2014 04:30:49 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net:8180/wp/?p=380</guid>
		<description><![CDATA[在Windows下，Apache的配置文件通常只有一个，就是httpd.conf。但我在Ubuntu Linux上用apt-get install apache2命令安装了Apache2后，竟然发现它的httpd.conf（位于/etc/apache2目录）是空的！进而发现Ubuntu的 Apache软件包的配置文件并不像Windows的那样简单，它把各个设置项分在了不同的配置文件中，看起来复杂，但仔细想想设计得确实很合理。 严格地说，Ubuntu的Apache（或者应该说Linux下的Apache？我不清楚其他发行版的apache软件包）的配置文件是 /etc/apache2/apache2.conf，Apache在启动时会自动读取这个文件的配置信息。而其他的一些配置文件，如 httpd.conf等，则是通过Include指令包含进来。在apache2.conf中可以找到这些Include行： # Include module configuration: Include /etc/apache2/mods-enabled/*.load Include /etc/apache2/mods-enabled/*.conf # Include all the user configurations: Include /etc/apache2/httpd.conf # Include ports listing Include /etc/apache2/ports.conf …… # Include generic snippets of statements Include /etc/apache2/conf.d/ # Include the virtual host configurations: Include /etc/apache2/sites-enabled/ 结合注释，可以很清楚地看出每个配置文件的大体作用。当然，你完全可以把所有的设置放在apache2.conf或者httpd.conf或者任何一个配置文件中。Apache2的这种划分只是一种比较好的习惯。 安装完Apache后的最重要的一件事就是要知道Web文档根目录在什么地方，对于Ubuntu而言，默认的是/var/www。怎么知道的呢？ apache2.conf里并没有DocumentRoot项，httpd.conf又是空的，因此肯定在其他的文件中。经过搜索，发现在 /etc/apache2/sites-enabled/000-default中，里面有这样的内容： NameVirtualHost * &#60;VirtualHost *&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>在Windows下，Apache的配置文件通常只有一个，就是httpd.conf。但我在Ubuntu Linux上用apt-get install apache2命令安装了Apache2后，竟然发现它的httpd.conf（位于/etc/apache2目录）是空的！进而发现Ubuntu的 Apache软件包的配置文件并不像Windows的那样简单，它把各个设置项分在了不同的配置文件中，看起来复杂，但仔细想想设计得确实很合理。</p>
<p>严格地说，Ubuntu的Apache（或者应该说Linux下的Apache？我不清楚其他发行版的apache软件包）的配置文件是 /etc/apache2/apache2.conf，Apache在启动时会自动读取这个文件的配置信息。而其他的一些配置文件，如 httpd.conf等，则是通过Include指令包含进来。在apache2.conf中可以找到这些Include行：</p>
<blockquote><p># Include module configuration:<br />
Include /etc/apache2/mods-enabled/*.load<br />
Include /etc/apache2/mods-enabled/*.conf</p>
<p># Include all the user configurations:<br />
Include /etc/apache2/httpd.conf</p>
<p># Include ports listing<br />
Include /etc/apache2/ports.conf<br />
……<br />
# Include generic snippets of statements<br />
Include /etc/apache2/conf.d/</p>
<p># Include the virtual host configurations:<br />
Include /etc/apache2/sites-enabled/</p></blockquote>
<p>结合注释，可以很清楚地看出每个配置文件的大体作用。当然，你完全可以把所有的设置放在apache2.conf或者httpd.conf或者任何一个配置文件中。Apache2的这种划分只是一种比较好的习惯。</p>
<p>安装完Apache后的最重要的一件事就是要知道Web文档根目录在什么地方，对于Ubuntu而言，默认的是/var/www。怎么知道的呢？ apache2.conf里并没有DocumentRoot项，httpd.conf又是空的，因此肯定在其他的文件中。经过搜索，发现在 /etc/apache2/sites-enabled/000-default中，里面有这样的内容：</p>
<blockquote><p>NameVirtualHost *<br />
&lt;VirtualHost *&gt;<br />
ServerAdmin webmaster@localhost</p>
<p>DocumentRoot /var/www/<br />
……</p></blockquote>
<p>这是设置虚拟主机的，对我来说没什么意义。所以我就把apache2.conf里的Include /etc/apache2/sites-enabled/一行注释掉了，并且在httpd.conf里设置DocumentRoot为我的用户目录下的某 个目录，这样方便开发。</p>
<p>再看看/etc/apache2目录下的东西。刚才在apache2.conf里发现了sites-enabled目录，而在 /etc/apache2下还有一个sites-available目录，这里面是放什么的呢？其实，这里面才是真正的配置文件，而sites- enabled目录存放的只是一些指向这里的文件的符号链接，你可以用ls /etc/apache2/sites-enabled/来证实一下。所以，如果apache上配置了多个虚拟主机，每个虚拟主机的配置文件都放在 sites-available下，那么对于虚拟主机的停用、启用就非常方便了：当在sites-enabled下建立一个指向某个虚拟主机配置文件的链 接时，就启用了它；如果要关闭某个虚拟主机的话，只需删除相应的链接即可，根本不用去改配置文件。</p>
<p>======================================================</p>
<p>mods-available、mods-enabled和上面说的sites-available、sites-enabled类似，这两个目录 是存放apache功能模块的配置文件和链接的。当我用apt-get install php5安装了PHP模块后，在这两个目录里就有了php5.load、php5.conf和指向这两个文件的链接。这种目录结果对于启用、停用某个 Apache模块是非常方便的。</p>
<p>最后一个要说的是ports.conf，这里面设置了Apache使用的端口。如果需要调整默认的端口设置，建议编辑这个文件。或者你嫌它实在多 余，也可以先把apache2.conf中的Include /etc/apache2/ports.conf一行去掉，在httpd.conf里设置Apache端口。</p>
<p>ubuntu里缺省安装的目录结构很有一点不同。在ubuntu中module和 virtual host的配置都有两个目录，一个是available，一个是enabled，available目录是存放有效的内容，但不起作用，只有用ln 连到enabled过去才可以起作用。对调试使用都很方便，但是如果事先不知道，找起来也有点麻烦。</p>
<p>/etc/apache2/sites-available 里放的是VH的配置，但不起作用，要把文件link到 sites-enabled 目录里才行。</p>
<blockquote><p>&lt;VirtualHost *&gt;  </p>
<p>        ServerName 域名  </p>
<p>        DocumentRoot 把rails项目里的public当根目录  </p>
<p>        &lt;Directory public根目录&gt;  </p>
<p>                Options ExecCGI FollowSymLinks  </p>
<p>                AllowOverride all  </p>
<p>                allow from all  </p>
<p>                Order allow,deny  </p>
<p>        &lt;/Directory&gt;  </p>
<p>        ErrorLog /var/log/apache2/error-域名.log  </p>
<p>&lt;/VirtualHost&gt;</p></blockquote>
<p>====================================================</p>
<p>什么是 Virtual Hosting(虚拟主机)?<br />
简单说就是同一台服务器可以同时处理超过一个域名(domain)。假设www.example1.net和 www.example2.net两个域名都指向同一服务器，WEB服务器又支持Virtual Hosting，那么www.example1.net和www.example2.net可以访问到同一服务器上不同的WEB空间(网站文件存放目 录)。</p>
<h4>配置格式</h4>
<p>在Apache2中，有效的站点信息都存放在/etc/apache2/sites-available/用户名(文件) 里面。 我们可以添加格式如下的信息来增加一个有效的虚拟空间，将default里的大部分东西拷贝过来就行了，记得改DocumentRoot作为默认目录，在Directory中设置路径，注意端口号不要与其他的虚拟主机重复：</p>
<blockquote>
<h4>&lt;VirtualHost *自定义端口&gt;<br />
# 在ServerName后加上你的网站名称<br />
ServerName www.linyupark.com<br />
# 如果你想多个网站名称都取得相同的网站，可以加在ServerAlias后加上其他网站别名。<br />
# 别名间以空格隔开。<br />
ServerAlias ftp.linyupark.com mail.linyupark.com<br />
# 在ServerAdmin后加上网站管理员的电邮地址，方便别人有问题是可以联络网站管理员。<br />
ServerAdmin webmaster@linyupark.com<br />
# 在DocumentRoot后加上存放网站内容的目录路径(用户的个人目录)<br />
DocumentRoot /home/linyupark/public_html<br />
&lt;Directory /home/linyupark/public_html&gt;<br />
Options Indexes FollowSymLinks MultiViews<br />
AllowOverride None<br />
Order allow,deny<br />
allow from all<br />
&lt;/Directory&gt;<br />
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/<br />
&lt;Directory &#8220;/usr/lib/cgi-bin&#8221;&gt;<br />
AllowOverride None<br />
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch<br />
Allow from all<br />
&lt;/Directory&gt;<br />
ErrorLog /home/linyupark/public_html/error.log<br />
# Possible values include: debug, info, notice, warn, error, crit,<br />
# alert, emerg.<br />
LogLevel warn<br />
CustomLog /home/linyupark/public_html/access.log combined<br />
ServerSignature On<br />
&lt;/VirtualHost&gt;</h4>
<p>如果你的服务器有多个IP，而不同的IP又有着不一样的虚拟用户的话，可以修改成:</p>
<p>&lt;VirtualHost IP地址[:端口]&gt;<br />
&#8230;<br />
&lt;/VirtualHost&gt;</p></blockquote>
<h4>启用配置</h4>
<p>前面我们配置好的内容只是“有效”虚拟主机，真正发挥效果的话得放到 /etc/apache2/sites-enabled 文件夹下面。我们可以使用ln命令来建立一对关联文件:</p>
<blockquote><p>sudo ln -s /etc/apache2/sites-available/linyupark /etc/apache2/sites-enabled/linyupark</p></blockquote>
<p>检查语法，重启web服务</p>
<p>谨慎起见，我们在重启服务前先检查下语法：</p>
<pre>sudo apache2ctl configtest</pre>
<p>没有错误的话，再重启Apache</p>
<pre>sudo /etc/init.d/apache2 -k restart</pre>
<p> </p>
<h4>查看效果</h4>
<p>主要的设置工作已经完成了，还算简单吧 ^_^。怎么看效果呢？</p>
<p>也简单，只要把主机上(俺用的是XP)里的Host表改改就行了。地址是:</p>
<p>WINDOWS/system32/drivers/etc</p>
<p>打开后加上一句：</p>
<pre>192.168.1.22 www.linyupark.com</pre>
<p>效果就是浏览器上输入www.linyupark.com就直接会去找IP 192.168.1.22 服务器收到请求，查看有没有符合的虚拟主机域名，有的话就把相应目录下的WEB文件呈现给请求用户</p>
<p>可能出现的错误Could not reliably determine the server&#8217;s fully qualified domain name</p>
<p>修改/etc/apache2/httpd.conf 本文件为空，添加ServerName localhost 即可</p>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=380</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu server 10.4下Apache2的三种虚拟主机的实现[转载]</title>
		<link>http://anywang.vicp.net:8180/wp/?p=347</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=347#comments</comments>
		<pubDate>Wed, 10 Dec 2014 04:28:02 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net:8180/wp/?p=347</guid>
		<description><![CDATA[前言： 在上一篇学习了LAMP安装后，想较深入的学习下Apache，http://www.apache.org/是她的官方网站，http://httpd.apache.org/docs/2.2/这是官方的手册，http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html这是中文的手册。这里就不再说安装了，只学习相关的配置。什么是虚拟主机？它的优点有哪些？主要应用在哪里？可以看一下“百度百科”http://baike.baidu.com/view/7383.htm?fr=ala0_1_1 引用百度百科：虚拟主机的关键技术在于，即使在同一台硬件、同一个操作系统上，运行着为多个用户打开的不同的服务器程式，互不干扰。而各个用户拥有自己的一部分系统资源（IP地址、文档存储空间、内存、CPU时间等）。虚拟主机之间完全独立，在外界看来，每一台虚拟主机和一台单独的主机的表现完全相同。所以这种被虚拟化的逻辑主机被形象的称为“虚拟主机”。 虚拟主机还有一兄弟叫“虚拟机”，它的产品有：全球首款中国人自己设计的高速虚拟机VMLite（创始人骆辉红博士）;VMware的相关产品VMware Workstation,VMware Server等;微软的Virtual pc ,Hyper-V;开源的VirtualBox，OpenVZ;红帽企业级虚拟化RHEV;KVM等。感兴趣的可以去http://www.xuniji.com/forum/看看。 但是，虚拟主机与虚拟机是不同的东西，不要混淆了。 操作： 1，Apache的配置文件 （1）apache的相关信息,通过apache2 命令，可以了解一些apache的信息 学习apache2的用法 #man apache2 #apache2 –V（大写） 可以看apache的版本是2.2.14，使用的MPM是prefork。 #sudo cat /etc/apache2/envars 可以看到运行apache的用户和组是www-data。 （2）apache2的相关配置文件在/etc/apache2下 apache2.conf 是全局配置文件，也是主配置文件 conf.d 一般性的配置 envvars 存放环境变量 httpd.conf 用户配置文件 mods-available 已安装的可用模块 mods-enabled 已启用的模块 ports.conf httpd服务的端口号 sites-available 可用的虚拟主机 sites-enabled 启用的虚拟主机 （3）apache的模块的启用和禁止 启用一个模块 #sudo a2enmod 模块名 禁止一个模块 #sudo a2dismod 模块名 搜索想要的模块 #sudo apt-cache search [...]]]></description>
			<content:encoded><![CDATA[<p>前言：</p>
<p>在上一篇学习了LAMP安装后，想较深入的学习下Apache，<a href="http://www.apache.org/" target="&quot;_blank&quot;">http://www.apache.org/</a>是她的官方网站，<a title="http://httpd.apache.org/docs/2.2/" href="http://httpd.apache.org/docs/2.2/" target="&quot;_blank&quot;">http://httpd.apache.org/docs/2.2/</a>这是官方的手册，<a title="http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html" href="http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html" target="&quot;_blank&quot;">http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html</a>这是中文的手册。这里就不再说安装了，只学习相关的配置。什么是虚拟主机？它的优点有哪些？主要应用在哪里？可以看一下“百度百科”<a title="http://baike.baidu.com/view/7383.htm?fr=ala0_1_1" href="http://baike.baidu.com/view/7383.htm?fr=ala0_1_1" target="&quot;_blank&quot;">http://baike.baidu.com/view/7383.htm?fr=ala0_1_1</a></p>
<p>引用百度百科：虚拟主机的关键技术在于，即使在同一台<a href="http://baike.baidu.com/view/25278.htm" target="&quot;_blank&quot;">硬件</a>、同一个<a href="http://baike.baidu.com/view/880.htm" target="&quot;_blank&quot;">操作系统</a>上，运行着为多个用户打开的不同的服务器程式，互不干扰。而各个用户拥有自己的一部分系统资源（IP地址、文档存储空间、内存、<a href="http://baike.baidu.com/view/2089.htm" target="&quot;_blank&quot;">CPU</a>时间等）。虚拟主机之间完全独立，在外界看来，每一台虚拟主机和一台单独的主机的表现完全相同。所以这种被虚拟化的逻辑主机被形象的称为“虚拟主机”。</p>
<p>虚拟主机还有一兄弟叫“虚拟机”，它的产品有：全球首款中国人自己设计的高速虚拟机VMLite（创始人骆辉红博士）;VMware的相关产品VMware Workstation,VMware Server等;微软的Virtual pc ,Hyper-V;开源的VirtualBox，OpenVZ;红帽企业级虚拟化RHEV;KVM等。感兴趣的可以去<a title="http://www.xuniji.com/forum/" href="http://www.xuniji.com/forum/" target="&quot;_blank&quot;">http://www.xuniji.com/forum/</a>看看。</p>
<p>但是，虚拟主机与虚拟机是不同的东西，不要混淆了。</p>
<p>操作：</p>
<p>1，Apache的配置文件</p>
<p>（1）apache的相关信息,通过apache2 命令，可以了解一些apache的信息</p>
<p>学习apache2的用法</p>
<p>#man apache2</p>
<p>#apache2 –V（大写）</p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572145L2TS.png" target="&quot;_blank&quot;"><img title="apache01" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042814Gkx.png" border="0" alt="apache01" width="438" height="315" /></a></p>
<p>可以看apache的版本是2.2.14，使用的MPM是prefork。</p>
<p>#sudo cat /etc/apache2/envars</p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572145IMDd.png" target="&quot;_blank&quot;"><img title="apache02" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042819OfS.png" border="0" alt="apache02" width="458" height="89" /></a></p>
<p>可以看到运行apache的用户和组是www-data。</p>
<p>（2）apache2的相关配置文件在/etc/apache2下</p>
<p>apache2.conf 是全局配置文件，也是主配置文件</p>
<p>conf.d 一般性的配置</p>
<p>envvars 存放环境变量</p>
<p>httpd.conf 用户配置文件</p>
<p>mods-available 已安装的可用模块</p>
<p>mods-enabled 已启用的模块</p>
<p>ports.conf httpd服务的端口号</p>
<p>sites-available 可用的虚拟主机</p>
<p>sites-enabled 启用的虚拟主机</p>
<p>（3）apache的模块的启用和禁止</p>
<p>启用一个模块</p>
<p>#sudo a2enmod 模块名</p>
<p>禁止一个模块</p>
<p>#sudo a2dismod 模块名</p>
<p>搜索想要的模块</p>
<p>#sudo apt-cache search libapache2-mod</p>
<p>找到想要的模块后，用以下命令安装</p>
<p>#sudo apt-get install 模块名</p>
<p>在/etc/apache2/mods-available 是已安装的可用模块，/etc/apache2/mods-enabled 是已启用的模块</p>
<p>（4）启用和禁止虚拟站点</p>
<p>启用一个站点</p>
<p>#sudo a2ensite 站点名</p>
<p>禁止一个站点</p>
<p>#sudo a2dissite 站点名</p>
<p>（5）apache的网页放到哪了？</p>
<p>默认在/var/www目录下，可以通过DocumentRoot关键字定义你想存放的位置，这个在虚拟主机定义时就会用到，安装完以后只有一个有效虚拟主机/etc/apache2/sites-available/default，也是在这个文件里定义DocumentRoot，这个根据自己的需要进行合理的规划。</p>
<p>2，虚拟主机，可以参考<a title="http://lamp.linux.gov.cn/Apache/ApacheMenu/vhosts/index.html" href="http://lamp.linux.gov.cn/Apache/ApacheMenu/vhosts/index.html" target="&quot;_blank&quot;">http://lamp.linux.gov.cn/Apache/ApacheMenu/vhosts/index.html</a>中关于虚拟主机的讲解。</p>
<p>有三种方式实现虚拟主机，一是基于同一IP，不同端口的虚拟主机；二是同一端口，不同IP的虚拟主机；三是基于同一IP，同一端口，不同名字的虚拟主机。但是由于SSL协议先天特性决定了基于域名的虚拟主机无法成为SSL安全服务器，所以想使用SSL的，就不能用基于主机名的虚拟主机。</p>
<p>与虚拟主机有关系的一个文件那就是ports.conf，因为它定义了httpd服务要监听IP及端口号，默认情况是</p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572146ZQYX.png" target="&quot;_blank&quot;"><img title="apache03" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042828xQ6.png" border="0" alt="apache03" width="244" height="65" /></a></p>
<p>*代表是本机上所有IP</p>
<p>（1）基于域名的虚拟主机</p>
<p>1-1.先把/etc/apache2/ports.conf改成以下内容：</p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572146SVmw.png" target="&quot;_blank&quot;"><img title="apache07" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042828Ys8.png" border="0" alt="apache07" width="268" height="77" /></a></p>
<p>1-2,建一个以<a href="http://www.labtest.com/" target="&quot;_blank&quot;">www.labtest.com</a>为域名的虚拟主机</p>
<p>$ cd sites-available/ <br />
$ sudo cp default  labtest</p>
<p>$sudo vim labtest</p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572146zSCZ.png" target="&quot;_blank&quot;"><img title="apache08" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042828xLF.png" border="0" alt="apache08" width="338" height="89" /></a></p>
<p>其它内容先暂不做修改</p>
<p>1-3，在/var/www下建labtest目录，并新建一测试用的index.html</p>
<p>$sudo mkdir /var/www/labtest</p>
<p>$sudo vim /var/www/labtest/index.html</p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_12835721462MBP.png" target="&quot;_blank&quot;"><img title="apache09" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042834xsp.png" border="0" alt="apache09" width="403" height="82" /></a></p>
<p>1-4,启用虚拟主机labtest</p>
<p>$sudo a2ensite labtest</p>
<p>$sudo /etc/init.d/apache2 reload</p>
<p>1-5,在一测试机上如下设置，因为这里没有配置DNS,如果DNS配置好了，就把测试机上的DNS服务器指到相应的DNS上。</p>
<p>如果是在ubuntu系统上测试，则：</p>
<p>$sudo vim /etc/hosts</p>
<p>添加以下内容</p>
<p>192.168.3.5        <a href="http://www.labtest.com/" target="&quot;_blank&quot;">www.labtest.com</a></p>
<p>如果是在windows xp 上测试，则：</p>
<p>在c:WINDOWSsystem32driversetchosts里添加</p>
<p>192.168.3.5        <a href="http://www.labtest.com/" target="&quot;_blank&quot;">www.labtest.com</a></p>
<p>在浏览器中输入<a href="http://www.labtest.com/" target="&quot;_blank&quot;">http://www.labtest.com</a>，看是否显示labtest1，若是则成功。</p>
<p><span style="color: #ff00ff;">在做实验过程中出现以下问题 ：</span></p>
<p><span style="color: #ff00ff;">重新reload 时，提示以下警告</span></p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572147Msnh.png" target="&quot;_blank&quot;"><img title="apache10" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042834Znv.png" border="0" alt="apache10" width="509" height="50" /></a></p>
<p><span style="color: #ff00ff;">解决方法是：在/etc/apache2/apache2.conf里加入</span></p>
<p><span style="color: #ff00ff;">ServerName ubuntulab(本机的计算机名）</span></p>
<p><span style="color: #ff00ff;">出现以下警告</span></p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572147z4o4.png" target="&quot;_blank&quot;"><img title="apache11" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042834d0F.png" border="0" alt="apache11" width="517" height="88" /></a></p>
<p><span style="color: #ff00ff;">解决方法是：</span></p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572146zSCZ.png" target="&quot;_blank&quot;"><span style="color: #ff00ff;"><img title="apache08" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042828xLF.png" border="0" alt="apache08" width="338" height="89" /></span></a></p>
<p><span style="color: #ff00ff;">就是把&lt;VirtualHoat 192.168.3.5&gt;改成&lt;VirtualHoat 192.168.3.5：80&gt;</span></p>
<p><span style="color: #ff00ff;">出现以下警告</span></p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_128357214813J1.png" target="&quot;_blank&quot;"><img title="apache06" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042834BXZ.png" border="0" alt="apache06" width="564" height="140" /></a></p>
<p><span style="color: #ff00ff;">这phpmyadmin引起的错误，</span></p>
<p><span style="color: #ff00ff;">解决方法：</span></p>
<p><span style="color: #ff00ff;">在/etc/apache2/apache2.conf 中去掉</span></p>
<p><span style="color: #ff00ff;">Include /etc/phpmyadmin/apache.conf</span></p>
<p><span style="color: #ff00ff;">在</span><a title="http://ubuntuforums.org/archive/index.php/t-829124.html" href="http://ubuntuforums.org/archive/index.php/t-829124.html" target="&quot;_blank&quot;"><span style="color: #ff00ff;">http://ubuntuforums.org/archive/index.php/t-829124.html</span></a><span style="color: #ff00ff;">中有对这个问题的讨论，在上篇关于LAMP的安装中，就发现不加这句配置，phpmyadmin也是可以成功运行。</span></p>
<p><span style="color: #ff00ff;">/etc/apache2/conf.d/phpmyadmin.conf是/etc/phpmyadmin/apache.conf的一个链接文件。</span></p>
<p><span style="color: #ff00ff;">在/etc/apache2/conf.d/phpmyadmin.conf中</span></p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_12835721481CVM.png" target="&quot;_blank&quot;"><span style="color: #ff00ff;"><img title="apache12" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042835dyi.png" border="0" alt="apache12" width="492" height="62" /></span></a></p>
<p><span style="color: #ff00ff;">这句配置是一定有的，如果没有phpmyadmin是不能成功运行的。</span></p>
<p>（2）基于不同IP，同端口的虚拟主机</p>
<p>2-1,给网卡eth0配置第二个IP地址</p>
<p>$sudo ifconfig eth0:0 192.168.3.51 netmask 255.255.255.0 broadcast 192.168.3.255 up</p>
<p>2-2,把/etc/apache2/ports.conf中的NameVirtualHost 给注释掉，否则在重启apache2时会出错。</p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572148ZXwQ.png" target="&quot;_blank&quot;"><img title="apache15" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042835k8t.png" border="0" alt="apache15" height="86" /></a></p>
<p>2-3，修改站点配置文件default，labtest，在/etc/apache2/sites-available目录下</p>
<p>default的配置改为：&lt;VirtualHoat 192.168.3.5&gt;</p>
<p>labtest的配置改为：&lt;VirtualHoat 192.168.3.51&gt;</p>
<p>其它配置不变。</p>
<p>2-4，启动虚拟主机，重新载入 apache服务器</p>
<p>$sudo a2ensite default</p>
<p>$sudo a2ensite labtest</p>
<p>$sudo /etc/init.d/apache2 reload</p>
<p>2-5,配置DNS服务器或在hosts文件中做相应的修改</p>
<p>192.168.3.5  <a href="http://www.lab.com/" target="&quot;_blank&quot;">www.lab.com</a></p>
<p>192.168.3.51   wwww.labtest.com</p>
<p>在浏览器中不同的输入IP或域名，会显示不同的内容则成功。</p>
<p><span style="color: #ff00ff;">在实验过程中出现以下问题：</span></p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572149cNrF.png" target="&quot;_blank&quot;"><span style="color: #ff00ff;"><img title="apache14" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042835ymJ.png" border="0" alt="apache14" height="239" /></span></a></p>
<p><span style="color: #ff00ff;">第一错误的解决方法是在/etc/hosts里添加</span></p>
<p><span style="color: #ff00ff;">192.168.3.51 ubuntulab(本机的计算机名）</span></p>
<p><span style="color: #ff00ff;">因为192.168.3.51是后面添加的IP，没有解析到主机名</span></p>
<p><span style="color: #ff00ff;">第二个警告的解决方法是：有一个虚拟主机也采用了192.168.3.5的IP ,引起了IP地址的重复，查看/etc/sites-enabled下启用的虚拟主机采用的IP地址是否与192.168.3.5重复，若是则改为其它IP即可。</span></p>
<p><span style="color: #ff00ff;">第三个警告是由于没有把/etc/apache2/ports.conf中的NameVirtualHost 给注释掉引起的，该配置只用于基于域名的虚拟主机。</span></p>
<p>（3）基于不同端口，同IP的虚拟主机</p>
<p>3-1，修改/etc/apache2/ports.con文件为</p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572149ETRC.png" target="&quot;_blank&quot;"><img title="apache004" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042835CdP.png" border="0" alt="apache004" height="60" /></a></p>
<p>3-2，修改站点配置文件default，labtest，在/etc/apache2/sites-available目录下</p>
<p>default的配置改为：&lt;VirtualHoat 192.168.3.5：80&gt;</p>
<p>labtest的配置改为：&lt;VirtualHoat 192.168.3.5：808&gt;</p>
<p>3-3，启动虚拟主机，重新载入 apache服务器</p>
<p>$sudo a2ensite default</p>
<p>$sudo a2ensite labtest</p>
<p>$sudo /etc/init.d/apache2 reload</p>
<p>3-4，测试</p>
<p>在浏览器里访问时就要加上端口号如：</p>
<p><a href="http://192.168.3.5/" target="&quot;_blank&quot;">http://192.168.3.5</a></p>
<p><a href="http://192.168.3.5:808/" target="&quot;_blank&quot;">http://192.168.3.5:808</a>或<a href="http://www.labtest1.com:808/" target="&quot;_blank&quot;">http://www.labtest1.com:808</a></p>
<p>做实验时发现在port.conf不可写成</p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572150YVRe.png" target="&quot;_blank&quot;"><img title="apache003" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042835Tey.png" border="0" alt="apache003" height="43" /></a> 或Listen 80,808</p>
<p>前者重新载入apache2时不会出现错误信息，但是访问是不成功的，后者会出现如下错误信息</p>
<p><a href="http://img1.51cto.com/attachment/201009/4/160472_1283572150oKak.png" target="&quot;_blank&quot;"><img title="apache002" src="http://anywang.vicp.net:8180/wp/wp-content/uploads/auto_save_image/2014/12/042835XUg.png" border="0" alt="apache002" height="98" /></a></p>
<p>告诉你语法错误。</p>
<p>3，虚拟主机的配置文件,以一个虚拟主机为例。更多的指令可以阅读http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/directives.html#A</p>
<p>&lt;VirtualHost 192.168.3.5:808&gt;<br />
        ServerAdmin admin@labtest.com</p>
<p>#网站管理员的EMAIL邮件地址<br />
        DocumentRoot /var/www/labtest1</p>
<p>#网站的根目录，一般要设置为绝对的路径，否则将认为它的父目录为在/etc/apache2/apache2.conf里ServerRoot指定的路径<br />
#       ServerName www.labtest1.net</p>
<p>#在设置基于域名虚拟主机时，指定虚拟主机的域名<br />
        &lt;Directory /&gt;<br />
                Options FollowSymLinks</p>
<p>#FollowSymLinks，允许在些目录中使用符号链接<br />
                AllowOverride None</p>
<p>#AllowOverride ，是针对.htaccess文件的。其值有all,none,AuthConfig,FileInfo,Indexes,Limit<br />
        &lt;/Directory&gt;<br />
        &lt;Directory /var/www/labtest1&gt;<br />
                Options Indexes FollowSymLinks MultiViews</p>
<p>#MultiViews，允许内容协商的多重视图。内容协商由mod_negotiation模块生成。<br />
                AllowOverride None<br />
                Order allow,deny</p>
<p>#Order：指定对目录的访问控制及allow,deny的生效顺序。如果是allow,deny则是allow先于deny生效，默认拒绝所有访问，任何不匹配allow或是匹配deny的访问都被拒绝；如果是deny,allow则是deny先于allow生效，默认是允许所有访问，任何不匹配deny或是匹配allow的访问都被允许访问。<br />
                allow from all</p>
<p>#allow：控制哪些主机可以访问，from是固有的，后面可以是主机名，IP地址，IP范围，域名等。例：</p>
<p>#allow from labtest.com</p>
<p>#allow from .labtest.com</p>
<p>#allow from 192.168.3.5/255.255.255.0</p>
<p>#allow from 192.168.3.5/24</p>
<p>#allow from 192.168.3.100 192.168.3.101</p>
<p>#<br />
        &lt;/Directory&gt;<br />
        ScriptAlias /cgi-bin/ /var/www/labtest1/cgi-bin/</p>
<p># ScriptAlias:它标明/var/www/labtest1/cgi-bin目录下只有CGI脚本,同时与Alias一样用于在URL和文件系统路径之间实现映射，使不在DocumentRoot目录下的内容也能成为文档树的一部分<br />
        &lt;Directory &#8220;/var/www/labtest1/cgi-bin&#8221;&gt;<br />
                AllowOverride None<br />
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch</p>
<p>#ExecCGI:允许该目录下通过mod_cgi执行CGI脚本</p>
<p>#SymLinksIfOwnerMatch：只允许使用与目标目录或文件的拥有者具有相同的USERID的符号链接</p>
<p>#+与-：一般来说，在一个目录上设置了多次的Options，则最特殊的一个会被完全接受，而其他的则会被忽略；然而，加上+或-时，所有带+的选项将强制覆盖当前的设置，所有带-的选项将强制从当前设置中去除。<br />
                Order allow,deny<br />
                Allow from all<br />
        &lt;/Directory&gt;<br />
        ErrorLog /var/log/apache2/labtest1/error.log</p>
<p>#定义错误的日志：在/var/log/apache2下一定要事先建好labtest1的目录，否则会出错。<br />
        # Possible values include: debug, info, notice, warn, error, crit,<br />
        # alert, emerg.<br />
        LogLevel warn</p>
<p>#LogLevel:定义日志的级别</p>
<p>#emerg 紧急</p>
<p>#alert 必须立即采取措施</p>
<p>#crit 致命的情况</p>
<p>#error 错误</p>
<p>#warn 警告</p>
<p>#notice 重要</p>
<p>#info 普通</p>
<p>#debug 调试</p>
<p>        CustomLog /var/log/apache2/labtest1/access.log combined</p>
<p>#CustomLog:指令用来对服务器的请求进行日志记录。combined第二个参数指定了写入日志文件的内容</p>
<p><code>LogFormat "%h %l %u %t "%r" %&gt;s %b "%{Referer}i" "%{User-agent}i"" combined<br />
CustomLog log/acces_log combined</code></p>
<p><code>可参考http://httpd.apache.org/docs/1.3/logs.html</code><br />
        ServerSignature On</p>
<p>#ServerSignature：指令允许您配置服务器端生成文档的页脚(错误信息、     mod_proxy的ftp目录列表、</p>
<p>mod_info的输出)。有三个值：On,Off,Email；on会简单的增加一行关于服务器版本和正在伺服的虚拟主机的ServerName;<code>Off</code> 设置没有错误行(这样便与Apache1.2及更旧版本兼容;<code>EMail</code> 设置会如文档中说明的那样额外创建一个指向ServerAdmin的&#8221;mailto:&#8221;部分。对于2.0.44以后的版本，显示的详细服务器版本号将由ServerTokens指令控制。</p>
<p>    Alias /files/ &#8220;/var/www/labtest1/files/&#8221;</p>
<p>#Alias:使不在DocumentRoot目录下的内容也能成为文档树的一部分，也叫虚拟目录。值得注意的是/files/与/files是有区别的，在此你有/，那么在访问时也一定要有/。访问都必须要知道有这个别名，才能访问。例：http://192.168.3.5:808/files/，如果没有写/files/是不能访问的。<br />
    &lt;Directory &#8220;/var/www/labtest1/files/&#8221;&gt;<br />
        Options Indexes MultiViews FollowSymLinks<br />
        AllowOverride None<br />
        Order deny,allow<br />
#        Deny from all<br />
         Allow from 127.0.0.0/255.0.0.0 ::1/128<br />
   &lt;/Directory&gt;<br />
 </p>
<p>结束语：</p>
<p>三种实现虚拟主机的方法中涉及到/etc/apache2目录下三个文件ports.conf httpd服务的端口号,sites-available 可用的虚拟主机,sites-enabled 启用的虚拟主机;ports.conf在三种方式下要做相应的修改，NameVirtualHost只在基于域名虚拟主机用到。做web服务器必然涉及到DNS服务相关配置，在这里我只是学习了虚拟主机的实现，还有很多其它的配置及优化没涉及。</p>
<p><span style="color: #ff00ff;"> </span></p>
<p>本文出自 “<a href="http://xuchengji.blog.51cto.com/">匠人</a>” 博客，请务必保留此出处<a href="http://xuchengji.blog.51cto.com/160472/387247">http://xuchengji.blog.51cto.com/160472/387247</a></p>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=347</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu设置IP地址、网关、DNS</title>
		<link>http://anywang.vicp.net:8180/wp/?p=334</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=334#comments</comments>
		<pubDate>Thu, 17 Apr 2014 06:35:57 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net:8180/wp/?p=334</guid>
		<description><![CDATA[说明： 系统：Ubuntu Server 11.10 IP地址：192.168.21.168 子网掩码：255.255.255.0 网关：192.168.21.2 DNS：8.8.8.8 8.8.4.4 操作： 系统运维 温馨提醒：qihang01原创内容版权所有,转载请注明出处及原文链接 1、设置IP地址、网关 nano /etc/network/inter]]></description>
			<content:encoded><![CDATA[<p><strong>说明：</strong><br />
系统：Ubuntu Server 11.10<br />
IP地址：192.168.21.168<br />
子网掩码：255.255.255.0<br />
网关：192.168.21.2<br />
DNS：8.8.8.8<br />
8.8.4.4<br />
<strong>操作：<br />
</strong>系统运维 温馨提醒：qihang01原创内容版权所有,转载请注明出处及原文链接<br />
<strong>1、设置IP地址、网关</strong><br />
nano /etc/network/interfaces /etc/network/interfacesbak #备份原有配置文件<br />
nano /etc/network/interfaces #编辑网网卡配置文件<br />
auto lo<br />
iface lo inet loopback<br />
auto eth0 #开机自动连接网络<br />
iface eth0 inet static #static表示使用固定ip，dhcp表述使用动态ip<br />
address 192.168.21.168 #设置ip地址<br />
netmask 255.255.255.0 #设置子网掩码<br />
gateway 192.168.21.2 #设置网关<br />
ctrl+o #保存配置<br />
ctrl+x #退出<br />
<strong>2、设置dns</strong><br />
cp /etc/resolv.conf /etc/resolv.confbak #备份原有dns配置文件<br />
nano /etc/resolv.conf #编辑配置文件,添加以下内容<br />
nameserver 8.8.8.8 #设置首选dns<br />
nameserver 8.8.4.4 #设置备用dns<br />
ctrl+o #保存配置<br />
ctrl+x #退出<br />
系统运维 温馨提醒：qihang01原创内容版权所有,转载请注明出处及原文链接<br />
<strong>3、重启网络<br />
</strong>/etc/init.d/networking restart #重启网络<br />
<strong>至此，IP地址、网关、DNS配置完成，现在系统已经可以上网了。<strong>说明：</strong><br />
系统：Ubuntu Server 11.10<br />
IP地址：192.168.21.168<br />
子网掩码：255.255.255.0<br />
网关：192.168.21.2<br />
DNS：8.8.8.8<br />
8.8.4.4<br />
<strong>操作：<br />
</strong>系统运维 温馨提醒：qihang01原创内容版权所有,转载请注明出处及原文链接<br />
<strong>1、设置IP地址、网关</strong><br />
nano /etc/network/interfaces /etc/network/interfacesbak #备份原有配置文件<br />
nano /etc/network/interfaces #编辑网网卡配置文件<br />
auto lo<br />
iface lo inet loopback<br />
auto eth0 #开机自动连接网络<br />
iface eth0 inet static #static表示使用固定ip，dhcp表述使用动态ip<br />
address 192.168.21.168 #设置ip地址<br />
netmask 255.255.255.0 #设置子网掩码<br />
gateway 192.168.21.2 #设置网关<br />
ctrl+o #保存配置<br />
ctrl+x #退出<br />
<strong>2、设置dns</strong><br />
cp /etc/resolv.conf /etc/resolv.confbak #备份原有dns配置文件<br />
nano /etc/resolv.conf #编辑配置文件,添加以下内容<br />
nameserver 8.8.8.8 #设置首选dns<br />
nameserver 8.8.4.4 #设置备用dns<br />
ctrl+o #保存配置<br />
ctrl+x #退出<br />
系统运维 温馨提醒：qihang01原创内容版权所有,转载请注明出处及原文链接<br />
<strong>3、重启网络<br />
</strong>/etc/init.d/networking restart #重启网络<br />
<strong>至此，IP地址、网关、DNS配置完成，现在系统已经可以上网了。</strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=334</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
