<?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>Looki's Blog &#187; IIS</title>
	<atom:link href="http://www.liaojun.com/tag/iis/feed" rel="self" type="application/rss+xml" />
	<link>http://www.liaojun.com</link>
	<description>Good Good Study,Day Day Up... </description>
	<lastBuildDate>Thu, 29 Jul 2010 02:25:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>win2003平台下的apache相关配置</title>
		<link>http://www.liaojun.com/345.html</link>
		<comments>http://www.liaojun.com/345.html#comments</comments>
		<pubDate>Thu, 30 Apr 2009 14:14:09 +0000</pubDate>
		<dc:creator>Looki</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://looki.cn/345.html</guid>
		<description><![CDATA[    貌似已经很久很久没有记些东西了，去年12月份的时候从F2blog转为WP，并在Host2ez上找了个免费空间后就一直没有再更新了，这月初Host2ez被持续攻击直至放弃国内虚拟主机服务，虽然我这个免费空间一直能正常使用，但是心里一直觉得不太放心，想想还是搬回自己的服务器算了。
    由于自己的服务器上一直都是IIS和apache同时运行，并且各自使用不同的端口，这次把WP搬回来后放IIS上运行总觉得不爽，而apache上运行的又是一套不对外的系统，需要在网址后加上端口号才能正常访问。于是想着干脆彻底放弃IIS，把80端口也配置到apache上算了，经过一番摸索，apache使用多个端口来运行多个网站顺利运行。

以下内容均来自网络，在此做个笔记。
1、apache使用多个端口（我使用的是第一种方法）
1、建立虚拟主机，用不同的端口
修改httpd.conf
增加 listen 8080
NameVirtualHost www.xxx.com:8080
&#60;VirtualHost www.xxx.com:8080&#62;
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot &#8220;E:/fanf/actova &#8221;
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
&#60;/VirtualHost&#62;
就可以了
2、创建新的httpd.conf 文件
你可以这个样子，把httpd.conf 文件拷贝一份，起一个新的名字例如httpd-test.conf
修改其中的pid 等信息
例如PidFile logs/httpd-test.pid
DocumentRoot
listen 8080
等信息
然后启动apache
/home/apache/bin/apachectl -f /home/apache/conf/httpd-test.conf -k start
2、Apache 防盗链
1、使用 rewrite 技术实现 Apache 防盗链
　　Apache 防盗链的第一种实现方法，可以用 rewrite 实现。首先要确认 Apache 的 rewrite module 可用：能够控制 Apache httpd.conf 文件的，打开 httpd.conf，确保有这么一行配置:　
LoadModule rewrite_module modules/mod_rewrite.so
然后在找到自己网站对应的 配置的地方，加入下列代码：
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://example.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://example.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com$ [...]]]></description>
			<content:encoded><![CDATA[<p>    貌似已经很久很久没有记些东西了，去年12月份的时候从F2blog转为WP，并在Host2ez上找了个免费空间后就一直没有再更新了，这月初Host2ez被持续攻击直至放弃国内虚拟主机服务，虽然我这个免费空间一直能正常使用，但是心里一直觉得不太放心，想想还是搬回自己的服务器算了。<br />
    由于自己的服务器上一直都是IIS和apache同时运行，并且各自使用不同的端口，这次把WP搬回来后放IIS上运行总觉得不爽，而apache上运行的又是一套不对外的系统，需要在网址后加上端口号才能正常访问。于是想着干脆彻底放弃IIS，把80端口也配置到apache上算了，经过一番摸索，apache使用多个端口来运行多个网站顺利运行。<br />
<span id="more-345"></span><br />
以下内容均来自网络，在此做个笔记。<br />
1、apache使用多个端口（我使用的是第一种方法）</p>
<blockquote><p>1、建立虚拟主机，用不同的端口<br />
修改httpd.conf<br />
增加 listen 8080<br />
NameVirtualHost www.xxx.com:8080<br />
&lt;VirtualHost www.xxx.com:8080&gt;<br />
ServerAdmin webmaster@dummy-host.example.com<br />
DocumentRoot &#8220;E:/fanf/actova &#8221;<br />
ServerName dummy-host.example.com<br />
ErrorLog logs/dummy-host.example.com-error_log<br />
CustomLog logs/dummy-host.example.com-access_log common<br />
&lt;/VirtualHost&gt;<br />
就可以了</p>
<p>2、创建新的httpd.conf 文件<br />
你可以这个样子，把httpd.conf 文件拷贝一份，起一个新的名字例如httpd-test.conf<br />
修改其中的pid 等信息<br />
例如PidFile logs/httpd-test.pid<br />
DocumentRoot<br />
listen 8080<br />
等信息<br />
然后启动apache<br />
/home/apache/bin/apachectl -f /home/apache/conf/httpd-test.conf -k start</p></blockquote>
<p>2、Apache 防盗链</p>
<blockquote><p>1、使用 rewrite 技术实现 Apache 防盗链<br />
　　Apache 防盗链的第一种实现方法，可以用 rewrite 实现。首先要确认 Apache 的 rewrite module 可用：能够控制 Apache httpd.conf 文件的，打开 httpd.conf，确保有这么一行配置:　<br />
LoadModule rewrite_module modules/mod_rewrite.so<br />
然后在找到自己网站对应的 配置的地方，加入下列代码：<br />
RewriteEngine On<br />
RewriteCond %{HTTP_REFERER} !^<span style="color: #ff0000;">http://example.com/</span>.*$ [NC]<br />
RewriteCond %{HTTP_REFERER} !^<span style="color: #ff0000;">http://example.com</span>$ [NC]<br />
RewriteCond %{HTTP_REFERER} !^<span style="color: #ff0000;">http://www.example.com/</span>.*$ [NC]<br />
RewriteCond %{HTTP_REFERER} !^<span style="color: #ff0000;">http://www.example.com</span>$ [NC]<br />
RewriteRule .*\.(<span style="color: #00ff00;">gif|jpg|swf</span>)$ <span style="color: #0000ff;">http://www.example.com/about/nolink.png</span> [R,NC]</p>
<p>防盗链配置的说明：<br />
1. <span style="color: #ff0000;">红色</span>部分: 表示自己的信任站点。<br />
2. <span style="color: #00ff00;">绿色</span>部分: 要保护文件的扩展名(以|分开)。以这些为扩展名的文件，必须通过红色标注的网址引用，才可以访问。<br />
3. <span style="color: #0000ff;">蓝色</span>部分: 盗链后的重定向页面。用以输出警示信息，这张图片应该尽可能的小。</p></blockquote>
<p>以上代码也可以写在虚拟主机对应的.htacess文件中，不过需要注意的是，要使.htacess文件生效，一定要将AllowOverride None改为AllowOverride All，我就是在这里折腾了半天&#8230;</p>
<blockquote><p>2、使用 SetEnvIfNoCase 和 access 技术实现 Apache 防盗链<br />
编辑httpd.conf 或 .htaccess 文件，加入如下代码：<br />
SetEnvIfNoCase Referer &#8220;^<span style="color: #ff0000;">http://www.yourdomin.com</span>&#8221; local_ref=1<br />
SetEnvIfNoCase Referer &#8220;^<span style="color: #ff0000;">http://yourdomin.com</span>&#8221; local_ref=1<br />
＜FilesMatch &#8220;\.(<span style="color: #00ff00;">txt|doc|mp3|zip|rar|jpg|gif</span>)&#8221;&gt;<br />
Order Allow,Deny<br />
Allow from env=local_ref<br />
＜/FilesMatch&gt;<br />
其中<span style="color: #ff0000;">红色</span>的是您的网址，如果有多个，就加多行<br />
<span style="color: #00ff00;">绿色</span>的是您需要防盗链的文件后缀，中间用|隔开</p>
<p>还一种写法，是用正则的，这种写法在各个版本的apache比较通用。<br />
写法是<br />
SetEnvIfNoCase Referer &#8220;^<span style="color: #ff0000;">http://.*\.yourdomin\.com</span>&#8221; local_ref=1<br />
SetEnvIfNoCase Referer &#8220;<span style="color: #ff0000;">.*\.yourdomin\.com</span>&#8221; local_ref=1</p>
<p>＜FilesMatch &#8220;\.(<span style="color: #00ff00;">txt|doc|mp3|zip|rar|jpg|gif</span>)&#8221;&gt;<br />
Order Allow,Deny<br />
Allow from env=local_ref<br />
＜/FilesMatch&gt;<br />
其中红色的部分有一点区别,用正则写法, \ 符号代表转义，因为.本身在正则中有自己的作用。<br />
这样的设置有一个小问题。直接在地址栏中输入一个图片或者mp3的地址的时候，也无法访问。<br />
如果允许能直接访问这些文件，需要在刚才的配置中加上一句　<br />
SetEnvIfNoCase Referer &#8220;^$&#8221; local_ref=1<br />
如果要通过ip也能访问到这些文件，需要在上述配置中再加一句<br />
SetEnvIfNoCase Referer &#8220;^http://000\.000\.000\.000\.*&#8221; local_ref=1<br />
如果你有多台服务器，并且他们在一个ip段中<br />
那么上面这句可以写为　<br />
SetEnvIfNoCase Referer &#8220;^http://000\.000\.000\.*&#8221; local_ref=1<br />
上面两句配置都要主意其中第一个000前面没有那个“.”<br />
保存退出重起apache</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.liaojun.com/345.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
