<?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>一路有宁 &#187; Linux</title>
	<atom:link href="http://blog.yening.cn/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.yening.cn</link>
	<description>何不潇洒走一会?</description>
	<lastBuildDate>Mon, 04 Jan 2010 11:04:22 +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>在64位的环境下编译32位的应用程序</title>
		<link>http://blog.yening.cn/2006/11/01/188.html</link>
		<comments>http://blog.yening.cn/2006/11/01/188.html#comments</comments>
		<pubDate>Wed, 01 Nov 2006 06:17:08 +0000</pubDate>
		<dc:creator>Onion</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.yening.cn/2006/11/01/188.html</guid>
		<description><![CDATA[测试环境：
CPU : 64bit Intel(R) Xeon(TM) CPU 2.80GHz * 2
OS  ：Debain / Linux 2.6.17.11 #2 SMP Thu Sep 7 00:44:27 CST 2006 x86_64 GNU/Linux
GCC: version 4.1.2 20060814 (prerelease) (Debian 4.1.1-11)
背景知识: http://www.divms.uiowa.edu/local/linux_help/rh_ws3_amd64_faq.html

我们的 64bit Debain 需要安装以下软件包
apt-get install ia32-libs libc6-dev-i386 linux32
1) 最关键的东西是需要告知gcc编译器编译的平台是 i386,CFLAGS 必须添加 -m32 参数. [关于gcc编译参数的官方文档]
2) 用 linux32 命令在configure改一下CHOST,设置一下编译环境
linux32 命令使用前后区别
staff-1:~/src/lame-3.96.1# ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system [...]]]></description>
			<content:encoded><![CDATA[<p>测试环境：<br />
CPU : 64bit Intel(R) Xeon(TM) CPU 2.80GHz * 2<br />
OS  ：Debain / Linux 2.6.17.11 #2 SMP Thu Sep 7 00:44:27 CST 2006 x86_64 GNU/Linux<br />
GCC: version 4.1.2 20060814 (prerelease) (Debian 4.1.1-11)</li>
<p>背景知识: <a href="http://www.divms.uiowa.edu/local/linux_help/rh_ws3_amd64_faq.html">http://www.divms.uiowa.edu/local/linux_help/rh_ws3_amd64_faq.html<br />
</a></p>
<p>我们的 64bit Debain 需要安装以下软件包</p>
<p><code>apt-get install ia32-libs libc6-dev-i386 linux32</code></p>
<p>1) 最关键的东西是需要告知gcc编译器编译的平台是 i386,CFLAGS 必须添加 -m32 参数. [<a href="http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/i386-and-x86_002d64-Options.html">关于gcc编译参数的官方文档</a>]</p>
<p>2) 用 linux32 命令在configure改一下CHOST,设置一下编译环境<span id="more-188"></span></p>
<p>linux32 命令使用前后区别</p>
<p><code>staff-1:~/src/lame-3.96.1# ./configure<br />
checking build system type... x86_64-unknown-linux-gnu<br />
checking host system type... x86_64-unknown-linux-gnu<br />
</code></p>
<p><code>staff-1:~/src/lame-3.96.1# linux32 ./configure<br />
checking build system type... i686-pc-linux-gnu<br />
checking host system type... i686-pc-linux-gnu<br />
</code></p>
<p>3) 如果编译的程序是32位的，所需要的动态链接库也需重新编译,例如mplayer需要用到 mp3lame,jpeg-6b,libpng等，均需要重新编译.</p>
<p>4) 如何知道应用程序是64位还是32位的?可使用file命令查看.</p>
<p><code>staff-1:~# file /bin/ls<br />
/bin/ls: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, stripped<br />
</code></p>
<p><code>staff-1:~# file /usr/bin/mplayer<br />
/usr/bin/mplayer: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, stripped<br />
</code></p>
<p>5) 一些编译前准备的实例,mplayer</p>
<p><code>linux32 ./configure --prefix=/usr --cc="gcc -m32" --target="i386-linux"<br />
make<br />
make install<br />
</code></p>
<p>注意：-cc,&#8211;target 参数不一定每个 configure 程序都提供,需灵活变通,其本质是设置了一些环境变量，可用手动配置.</p>
<p><code>export CFLAGS="-m32 -04 -march=i386 -mtune=i386"</code></p>
<p>6) 注意和原来的共享库冲突,尽量不要编译到 /usr 目录下，否则影响其它64位的程序正常运作就得不尝失了.</p>
<p>7) 能不能100%编译成功? 不一定，如果 makefile 使用了64位的linker例如ld等,去link你编译出来32位的so的话，那就会报告不兼容. Good luck!!</p>
<p>相关参考:</p>
<ul>
<li><a href="http://wiki.winehq.org/WineOn64bit">How to build 32-bit Wine on a 64-bit (x86-64) system</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.yening.cn/2006/11/01/188.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SSH不输入密码连接远程Linux主机</title>
		<link>http://blog.yening.cn/2006/10/30/187.html</link>
		<comments>http://blog.yening.cn/2006/10/30/187.html#comments</comments>
		<pubDate>Mon, 30 Oct 2006 06:27:21 +0000</pubDate>
		<dc:creator>Onion</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.yening.cn/2006/10/30/187.html</guid>
		<description><![CDATA[系统环境 :  ubuntu 6.06 / ubuntu 6.10
SSH服务 :  openssh-server
1) 在本地主机生成密钥对
ssh-keygen -t rsa
这个命令生成一个密钥对：id_rsa（私钥文件）和id_rsa.pub（公钥文件）。默认被保存在~/.ssh/目录下。
2) 将公钥添加到远程主机的 authorized_keys 文件中
将文件上传到远程主机中
scp ~/.ssh/id_rsa.pub root@192.168.1.23:/root/ 
SSH到登陆到远程主机，将公钥追加到 authorized_keys 文件中
cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
或直接运行命令:
cat ~/.ssh/id_dsa.pub&#124;ssh root@192.168.1.23 'sh -c "cat - >>~/.ssh/authorized_keys2"' 
3) 重启 open-ssh 服务
/etc/init.d/ssh restart

4) 测试
ssh root@192.168.1.23
scp /home/onion/.ssh/id_rsa.pub root@192.168.1.23:/root/
呵呵，不用输入密码了:)
== 附录 ==
/etc/ssd/sshd_config 几个关键配置点

PermitRootLogin yes
PasswordAuthentication yes
# AuthorizedKeysFile   .ssh/authorized_keys  # 这个地方尽量使用默认,gentoo 下  [...]]]></description>
			<content:encoded><![CDATA[<p>系统环境 :  ubuntu 6.06 / ubuntu 6.10<br />
SSH服务 :  openssh-server</p>
<p><strong>1) 在本地主机生成密钥对</strong></p>
<div class="code">ssh-keygen -t rsa</div>
<p>这个命令生成一个密钥对：id_rsa（私钥文件）和id_rsa.pub（公钥文件）。默认被保存在~/.ssh/目录下。</p>
<p><strong>2) 将公钥添加到远程主机的 authorized_keys 文件中</strong></p>
<p>将文件上传到远程主机中</p>
<div class="code">scp ~/.ssh/id_rsa.pub root@192.168.1.23:/root/ </div>
<p>SSH到登陆到远程主机，将公钥追加到 authorized_keys 文件中</p>
<div class="code">cat /root/id_rsa.pub >> /root/.ssh/authorized_keys</div>
<p>或直接运行命令:</p>
<p><code class="code">cat ~/.ssh/id_dsa.pub|ssh root@192.168.1.23 'sh -c "cat - >>~/.ssh/authorized_keys2"' </code></p>
<p><del datetime="2006-11-04T03:17:08+00:00"><strong>3) 重启 open-ssh 服务</strong></p>
<div class="code">/etc/init.d/ssh restart</div>
<p></del></p>
<p><strong>4) 测试</strong></p>
<div class="code">ssh root@192.168.1.23</div>
<div class="code">scp /home/onion/.ssh/id_rsa.pub root@192.168.1.23:/root/</div>
<p>呵呵，不用输入密码了:)</p>
<p>== 附录 ==<br />
/etc/ssd/sshd_config 几个关键配置点<br />
<code><br />
PermitRootLogin yes<br />
PasswordAuthentication yes<br />
# AuthorizedKeysFile   .ssh/authorized_keys  # 这个地方尽量使用默认,gentoo 下  ~/.ssh/authorized_keys 与 ~/.ssh/authorized_keys2 等效<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yening.cn/2006/10/30/187.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>解决ubuntu下mplayer播放乱码问题</title>
		<link>http://blog.yening.cn/2006/10/29/95.html</link>
		<comments>http://blog.yening.cn/2006/10/29/95.html#comments</comments>
		<pubDate>Sun, 29 Oct 2006 04:18:29 +0000</pubDate>
		<dc:creator>Onion</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.yening.cn/2006/06/06/95.html</guid>
		<description><![CDATA[安装请参考 http://www.oldskoolphreak.com/tfiles/hack/ubuntu.txt
 遇到的主要问题是播放中文字幕文件时会乱码.
 解决思路是中文字体和调整codepage.
在安装mplayer,先安装freetype支持
 wget http://download.savannah.gnu.org/releases/freetype/freetype-2.2.1.tar.bz2 tar &#8211;xjf&#160;&#160; freetype-2.2.1.tar.bz2 cd freetype-2.2.1 ./configure make;make install
安装完毕后，重新编译mplayer
 cd MPlayer-1.0pre7try2  ./configure &#8211;enable-gui &#8211;enable-freetype make;make install
 之后将你喜欢的字体文件,如simhei.ttf, copy到 /usr/local/share/mplayer/fonts 下 
 重新运行gmplayer,在perfermences将Encoding改为simple chinese(cp936),并选中unicode subtitle,最后在Font选项卡，选中字体为simhei.ttf encoding 为默认的unicode即可,这样便大功告成了.

&#160;Update ::
[2006/10/29] MPlayer-1.0rc1 可以在ubuntu 6.10上使用gcc-4.1.2编译通过，但是必须要卸载包 libgtk1.2-dev, 改装libgtk2.0-dev,否则编译的时候会提示 &#8220;undefined reference to `vo_setwindow&#8217;&#8221;

[2006/06/27]  MPlayer-1.0pre8 使用gcc 4.0的编译器虽然能编译成功，但不能正常运行，会出现 *** glibc detected *** free(): 的错误之后就crash了,换成gcc 3.4编译后正常.另外编译的时候需要加上一个 &#8211;enable-png 的选项,否则可能会通不过configure.
[2006/06/06] [...]]]></description>
			<content:encoded><![CDATA[<p>安装请参考 <a href="http://www.oldskoolphreak.com/tfiles/hack/ubuntu.txt" target="_blank">http://www.oldskoolphreak.com/tfiles/hack/ubuntu.txt</a></p>
<p> 遇到的主要问题是播放中文字幕文件时会乱码.</p>
<p> 解决思路是中文字体和调整codepage.</p>
<p>在安装mplayer,先安装freetype支持</p>
<p> wget http://download.savannah.gnu.org/releases/freetype/freetype-2.2.1.tar.bz2<br /> tar &#8211;xjf&nbsp;&nbsp; freetype-2.2.1.tar.bz2<br /> cd freetype-2.2.1<br /> ./configure<br /> make;make install</p>
<p>安装完毕后，重新编译mplayer</p>
<p> cd MPlayer-1.0pre7try2 <br /> ./configure &#8211;enable-gui &#8211;enable-freetype<br /> make;make install</p>
<p> 之后将你喜欢的字体文件,如simhei.ttf, copy到 /usr/local/share/mplayer/fonts 下 </p>
<p> 重新运行gmplayer,在perfermences将Encoding改为simple chinese(cp936),并选中unicode subtitle,最后在Font选项卡，选中字体为simhei.ttf encoding 为默认的unicode即可,这样便大功告成了.</p>
<p><img id="image185" src="http://pub.yening.cn/2006/10/snapshot1.png" alt="Mplayer" /></p>
<p>&nbsp;Update ::</p>
<p>[2006/10/29] MPlayer-1.0rc1 可以在ubuntu 6.10上使用gcc-4.1.2编译通过，但是必须要卸载包 libgtk1.2-dev, 改装libgtk2.0-dev,否则编译的时候会提示 &#8220;undefined reference to `vo_setwindow&#8217;&#8221;</p>
<p><img id="image186" src="http://pub.yening.cn/2006/10/snapshot2.png" alt="snapshot2.png" /></p>
<p>[2006/06/27]  MPlayer-1.0pre8 使用gcc 4.0的编译器虽然能编译成功，但不能正常运行，会出现 *** glibc detected *** free(): 的错误之后就crash了,换成gcc 3.4编译后正常.另外编译的时候需要加上一个 &#8211;enable-png 的选项,否则可能会通不过configure.</p>
<p>[2006/06/06]  需要全屏播放的话，还要选中 perfermences /vedio /gl X11(OpenGL) 选项.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yening.cn/2006/10/29/95.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>去看龙芯II和Suse Linux 10.1</title>
		<link>http://blog.yening.cn/2006/09/10/183.html</link>
		<comments>http://blog.yening.cn/2006/09/10/183.html#comments</comments>
		<pubDate>Sun, 10 Sep 2006 14:36:31 +0000</pubDate>
		<dc:creator>Onion</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Live]]></category>

		<guid isPermaLink="false">http://blog.yening.cn/2006/09/10/183.html</guid>
		<description><![CDATA[上次在 LinuxFans.org 看到今天在上海有一个 Linux 技术交流大会，据说有龙芯II的样机和suse Linux的demo，反正没事，去瞧瞧呗。




一开始 Posix 说了多核CPU现状和发展，最后还说到网络处理芯片NSP的发展，一堆一堆的名词术语，听到昏乎乎。


不过还是有收获的，至少知道以后计算机网卡/路由器/交换机等网络设备的功能会越来越强大，会在应用层上支持TCP/IP加速，病毒扫描，防火墙，对数据包进行正则表达式匹配应用等，并且转发和处理的能力会大大增强，还知道了中国有一个家叫南山之桥(NSB)的公司，也参与到NSP芯片的设计当中，产品已经出来了,名为蓝凤凰 TS8210，其产品在解放军/政府等中使用，呵呵，说不定 GFW 的功劳 NSB 也功不可没。
至于 Suse 10.1 也没什么噱头了，无非是XGL,3D桌面弄得全场惊呼而已，反正我们ubuntu宿舍是玩腻了。倒是Suse Linux香港的那位帅哥那口很生硬的普通话，听起来很搞笑。他DIY笔记电脑封面觉得看起来很Cool，YaST的功能看起来也不错，有时间装一个来玩玩。




SurfChen 已经迫不及待的在Apple上装起来了:)

Novell 看起来对 Desktop 市场非常有兴趣，收购了SUSE Linux 和 SGL 后马上投入人力物力去开发，现在的 OpenSUSE 主要面对的群体是 Windows用户 或者 Linux入门用户，并且产品一再强调易用性和可用性，如开始菜单的设计，类似Google的桌面搜索，XGL的炫目特效，类视Windows控制面板的 YAST，同时兼容 GHOME,KDE 两种窗口管理器等，的确非常有意思，让我这个 Ubuntu 粉丝也有点动心了:)
比较精彩的就是64位龙芯II和华镭Rays Linux了，我还在 cnbeta 上发了一篇稿子。







当时 Rays Linux 在龙芯上跑起来，运行到 Login 的时候，全场掌声雷动！
最后收获


]]></description>
			<content:encoded><![CDATA[<p>上次在 LinuxFans.org 看到今天在上海有一个 Linux 技术交流大会，据说有龙芯II的样机和suse Linux的demo，反正没事，去瞧瞧呗。</p>
<p><img src="http://static.flickr.com/94/239140581_b6b5ac814f.jpg" width="500" height="375" alt="PICT0057" /></p>
<p><span id="more-183"></span></p>
<p><img src="http://static.flickr.com/80/239140771_e2df6dab5a.jpg" alt="" /></p>
<p><a href="http://www.flickr.com/photos/onion83/239140668/" title="Photo Sharing"><img src="http://static.flickr.com/84/239140668_1b8318e857.jpg" width="500" height="375" alt="PICT0058" /></a></p>
<p>一开始 Posix 说了多核CPU现状和发展，最后还说到网络处理芯片NSP的发展，一堆一堆的名词术语，听到昏乎乎。</p>
<p><a href="http://www.flickr.com/photos/onion83/239141196/" title="Photo Sharing"><img src="http://static.flickr.com/90/239141196_c1a5c9de5a.jpg" width="500" height="375" alt="PICT0061" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239141283/" title="Photo Sharing"><img src="http://static.flickr.com/95/239141283_80036fe721.jpg" width="500" height="375" alt="PICT0062" /></a></p>
<p>不过还是有收获的，至少知道以后计算机网卡/路由器/交换机等网络设备的功能会越来越强大，会在应用层上支持TCP/IP加速，病毒扫描，防火墙，对<strong>数据包进行正则表达式匹配应用</strong>等，并且转发和处理的能力会大大增强，还知道了中国有一个家叫<a href="http://www.nsbic.com/">南山之桥</a>(NSB)的公司，也参与到NSP芯片的设计当中，产品已经出来了,名为<a href="http://www.nsbic.com/html/product.asp?id=44">蓝凤凰 TS8210</a>，其产品在解放军/政府等中使用，呵呵，说不定 GFW 的功劳 NSB 也功不可没。</p>
<p>至于 Suse 10.1 也没什么噱头了，无非是XGL,3D桌面弄得全场惊呼而已，反正我们ubuntu宿舍是玩腻了。倒是Suse Linux香港的那位帅哥那口很生硬的普通话，听起来很搞笑。他DIY笔记电脑封面觉得看起来很Cool，YaST的功能看起来也不错，有时间装一个来玩玩。</p>
<p><a href="http://www.flickr.com/photos/onion83/239141356/" title="Photo Sharing"><img src="http://static.flickr.com/89/239141356_05dfca94da.jpg" width="500" height="375" alt="PICT0063" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239141645/" title="Photo Sharing"><img src="http://static.flickr.com/89/239141645_79347b4ba8.jpg" width="500" height="375" alt="PICT0067" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239141736/" title="Photo Sharing"><img src="http://static.flickr.com/80/239141736_802222af07.jpg" width="500" height="375" alt="PICT0068" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239141969/" title="Photo Sharing"><img src="http://static.flickr.com/84/239141969_d5d057ebab.jpg" width="500" height="375" alt="PICT0070" /></a></p>
<p>SurfChen 已经迫不及待的在Apple上装起来了:)</p>
<p><a href="http://www.flickr.com/photos/onion83/239141563/" title="Photo Sharing"><img src="http://static.flickr.com/89/239141563_6ccfb036b4.jpg" width="500" height="375" alt="PICT0065" /></a></p>
<p><a href="http://www.novell.com/">Novell</a> 看起来对 Desktop 市场非常有兴趣，收购了SUSE Linux 和 SGL 后马上投入人力物力去开发，现在的 OpenSUSE 主要面对的群体是 Windows用户 或者 Linux入门用户，并且产品一再强调易用性和可用性，如开始菜单的设计，类似Google的桌面搜索，XGL的炫目特效，类视Windows控制面板的 YAST，同时兼容 GHOME,KDE 两种窗口管理器等，的确非常有意思，让我这个 Ubuntu 粉丝也有点动心了:)</p>
<p>比较精彩的就是64位龙芯II和华镭Rays Linux了，我还在 cnbeta 上<a href="http://www.cnbeta.com/modules.php?name=News&#038;file=article&#038;sid=15150">发了一篇稿子</a>。</p>
<p><a href="http://www.flickr.com/photos/onion83/239142619/" title="Photo Sharing"><img src="http://static.flickr.com/89/239142619_419a8ea690.jpg" width="500" height="375" alt="PICT0077" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239142443/" title="Photo Sharing"><img src="http://static.flickr.com/79/239142443_46f10be519.jpg" width="500" height="375" alt="PICT0075" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239142939/" title="Photo Sharing"><img src="http://static.flickr.com/89/239142939_813a277b86.jpg" width="500" height="375" alt="PICT0079" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239143584/" title="Photo Sharing"><img src="http://static.flickr.com/87/239143584_c16d669393.jpg" width="500" height="375" alt="PICT0082" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239143938/" title="Photo Sharing"><img src="http://static.flickr.com/92/239143938_053f973100.jpg" width="500" height="375" alt="PICT0085" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239144701/" title="Photo Sharing"><img src="http://static.flickr.com/86/239144701_d831a4931e.jpg" width="500" height="375" alt="PICT0092" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239144765/" title="Photo Sharing"><img src="http://static.flickr.com/95/239144765_57c5f7ad14.jpg" width="500" height="375" alt="PICT0094" /></a></p>
<p>当时 Rays Linux 在龙芯上跑起来，运行到 Login 的时候，全场掌声雷动！</p>
<p>最后收获</p>
<p><a href="http://www.flickr.com/photos/onion83/239142141/" title="Photo Sharing"><img src="http://static.flickr.com/86/239142141_a6e13effed.jpg" width="500" height="375" alt="PICT0073" /></a></p>
<p><a href="http://www.flickr.com/photos/onion83/239239970/" title="Photo Sharing"><img src="http://static.flickr.com/92/239239970_79b12824a4.jpg" width="500" height="375" alt="PICT0099" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yening.cn/2006/09/10/183.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux下Firefox Flash 插件播放视频没有声音的问题</title>
		<link>http://blog.yening.cn/2006/09/09/182.html</link>
		<comments>http://blog.yening.cn/2006/09/09/182.html#comments</comments>
		<pubDate>Sat, 09 Sep 2006 08:06:41 +0000</pubDate>
		<dc:creator>Onion</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.yening.cn/2006/09/09/182.html</guid>
		<description><![CDATA[感谢 BLooDY 提供办法.
1.安装 alsa-oss 包：
sudo apt-get install alsa-oss
2.编辑 firefoxrc 文件：
sudo vim /etc/firefox/firefoxrc
将其中的 FIREFOX_DSP=&#8221;" 修改为 FIREFOX_DSP=&#8221;aoss&#8221;。
3.Enjoy!
我尝试不装 alsa-oss 只是修改 FIREFOX_DSP=&#8221;auto&#8221;，也能播放声音. 
update::
2006-09-18:今晚按照上面的步骤再弄了一次，没有成功，但是重启一下计算机就OK了.
]]></description>
			<content:encoded><![CDATA[<p>感谢 <a href="http://my.opera.com/tuziibanez/blog/show.dml/399724">BLooDY </a>提供办法.</p>
<p>1.安装 alsa-oss 包：</p>
<div class="code">sudo apt-get install alsa-oss</div>
<p>2.编辑 firefoxrc 文件：</p>
<div class="code">sudo vim /etc/firefox/firefoxrc</div>
<p>将其中的 FIREFOX_DSP=&#8221;" 修改为 FIREFOX_DSP=&#8221;aoss&#8221;。</p>
<p>3.Enjoy!</p>
<p>我尝试不装 alsa-oss 只是修改 FIREFOX_DSP=&#8221;auto&#8221;，也能播放声音. </p>
<p>update::<br />
2006-09-18:今晚按照上面的步骤再弄了一次，没有成功，但是重启一下计算机就OK了.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yening.cn/2006/09/09/182.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>在 Linux/Apache 2.2 上配置SVN服务器</title>
		<link>http://blog.yening.cn/2006/08/07/165.html</link>
		<comments>http://blog.yening.cn/2006/08/07/165.html#comments</comments>
		<pubDate>Mon, 07 Aug 2006 04:30:56 +0000</pubDate>
		<dc:creator>Onion</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.yening.cn/2006/08/07/165.html</guid>
		<description><![CDATA[
准备，下载所需要文件.
检查已安装的 Apache2 是否已经安装了 mod_dav .
编译SVN，遇到的问题和解决方法

使用 默认文件系统(fsfs) 保存数据
使用 Berkeley DB 保存数据

配置Apache和SVN，测试.
其它小结

从Windows平台上数据转移
配置文件,使用其支持对文件中的 $Id$ 标签每次提交的时候自动更新版本信息.
基于路径的权限控制

常用SVN命令

相关资源


* 准备，下载所需要文件.
本文测试环境：


ubuntu 6.06 LTS (kernel 2.6.15-25-k7，gcc-4.0.3) /ubuntu server (2.6.15-26-server,gcc-4.0.4)
Subversion 1.3.2/1.4.2
Apache 2.2.2/2.2.3
GCC 4.1.2

最新的版本 Subversion 可以在这里找到 ：http://subversion.tigris.org/project_packages.html
* 下载neon库，使svn支持webdav,https加密的链接.(下载并重命名即可,subversion会自动监测并配置),目前只支持 0.25.5.


cd subversion-SVN-LAST-VERSION-DIR
wget http://www.webdav.org/neon/neon-0.25.5.tar.gz
tar xzf  neon-0.25.5.tar.gz
mv neon-0.25.5 neon

* 检查已安装的 Apache2 是否已经安装了 mod_dav .
如果已经成功安装了Apache，使用 httpd -M 来查看有没有安装 dav_module，如果没有的话 必须附加 &#8216;&#8211;enable-dav&#8217; &#8216;&#8211;enable-dav-fs&#8217; 两个参数重新编译 Apache，否则即使编译通过了svn,apache也会启动不起来.
如何编译 Apache 请参考我另外一篇文章.
* 编译SVN，遇到的问题和解决方法.
使用默认的文件系统保存数据.
最终完整通过安装和测试的编译参数为：

./configure &#45;&#45;with-apxs=/usr/local/apache2/bin/apxs \
&#45;&#45;with-apr=/home/src/server/httpd-2.2.2/srclib/apr  [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>准备，下载所需要文件.</li>
<li>检查已安装的 Apache2 是否已经安装了 mod_dav .</li>
<li>编译SVN，遇到的问题和解决方法</li>
<ul>
<li>使用 默认文件系统(fsfs) 保存数据</li>
<li>使用 Berkeley DB 保存数据</li>
</ul>
<li>配置Apache和SVN，测试.</li>
<li>其它小结</li>
<ul>
<li>从Windows平台上数据转移</li>
<li>配置文件,使用其支持对文件中的 $Id$ 标签每次提交的时候自动更新版本信息.</li>
<li>基于路径的权限控制</li>
<p><span id="more-165"></span></p>
<li>常用SVN命令</li>
</ul>
<li>相关资源</li>
</ul>
<p><a id="more-165"></a></p>
<h3>* 准备，下载所需要文件.</h3>
<p>本文测试环境：</p>
<li>
<div class="code">
ubuntu 6.06 LTS (kernel 2.6.15-25-k7，gcc-4.0.3) /ubuntu server (2.6.15-26-server,gcc-4.0.4)<br />
Subversion 1.3.2/1.4.2<br />
Apache 2.2.2/2.2.3<br />
GCC 4.1.2
</div>
<p>最新的版本 Subversion 可以在这里找到 ：<a href="http://subversion.tigris.org/project_packages.html">http://subversion.tigris.org/project_packages.html</a></p>
<h3>* 下载neon库，使svn支持webdav,https加密的链接.(下载并重命名即可,subversion会自动监测并配置),目前只支持 0.25.5.</h3>
<p><br/></p>
<div class="code">
cd subversion-SVN-LAST-VERSION-DIR<br />
wget http://www.webdav.org/neon/neon-0.25.5.tar.gz<br />
tar xzf  neon-0.25.5.tar.gz<br />
mv neon-0.25.5 neon
</div>
<h3>* 检查已安装的 Apache2 是否已经安装了 mod_dav .</h3>
<p>如果已经成功安装了Apache，使用 httpd -M 来查看有没有安装 dav_module，如果没有的话 必须附加 &#8216;&#8211;enable-dav&#8217; &#8216;&#8211;enable-dav-fs&#8217; 两个参数重新编译 Apache，否则即使编译通过了svn,apache也会启动不起来.</p>
<p>如何编译 Apache <a href="http://blog.yening.cn/2006/07/02/54.html">请参考我另外一篇文章</a>.</p>
<h3>* 编译SVN，遇到的问题和解决方法.</h3>
<h4><strong>使用默认的文件系统保存数据.</strong></h4>
<p>最终完整通过安装和测试的编译参数为：</p>
<div class="code">
./configure &#45;&#45;with-apxs=/usr/local/apache2/bin/apxs \<br />
&#45;&#45;with-apr=/home/src/server/httpd-2.2.2/srclib/apr  \<br />
&#45;&#45;with-apr-util=/home/src/server/httpd-2.2.2/srclib/apr-util<br />
&#45;&#45;&#8211;with-ssl<br />
make<br />
make install
</div>
<p>其中 /home/src/server/ 为 httpd-2.2.2 源代码所在文件夹，根据实际情况调整一下.</p>
<p>◆ 遇到问题：</p>
<p>1) &#45;&#45;with-apr 和 &#45;&#45;with-apr-util 如果没有加上的话，即使编译成功了也会出现</p>
<div class="code">Can&#8217;t set position pointer in file &#8216;/home/svn/repos/db/revs/0&#8242;: Invalid argument </div>
<p>这样的错误提示.</p>
<p>2) 暂时不能使用 Berkeley DB <font color=blue>[* 已解决]</font></p>
<p>svn保存文件更新数据库的方法有两个，一种是直接使用 fs (filesystem)来保存,另一种是通过Oracle提供支持的开源数据库 <a href="http://www.sleepycat.com/products/bdb.html">Berkeley DB</a> 进行保存。但是如果加上 &#8211;with-berkeley-db=/usr/local/BerkeleyDB.4.4 就会configure时就会报错.</p>
<div class="code">
configure: error: APR-UTIL was installed independently, it won&#8217;t be<br />
                        possible to use the specified Berkeley DB: /usr/local/BerkeleyDB.4.4</p>
</div>
<p>我想 apr-unit 暂时不支持吧，我们就用默认的fs好了.</p>
<p>3) 在make 的时候可能会遇到缺少 srclib/apr/libapr-1.la，srclib/apr-util/libaprutil-1.la 两个文件，找不到而make error.</p>
<p>解决办法：/usr/local/apache2/lib/ 中找到，将其复制到源代码文件夹相应的位置中.</p>
<p><font color="red"><strong>Update!!</strong></font></p>
<h4><strong>使用 BerkeleyDB 保存数据.</strong></h4>
<p>1) 安装 BerkeleyDB</p>
<div class="code">
cd /usr/local/src<br />
wget http://downloads.sleepycat.com/db-4.3.29.tar.gz</p>
<p>tar xzvf db-4.3.29.tar.gz<br />
cd /usr/local/src/db-4.3.29/build_unix<br />
../dist/configure &#45;&#45;enable-compat185<br />
make<br />
make install
</p></div>
<p>2) 更新apr和apr-util源代码</p>
<div class="code">
# 清理编译后的.la文件<br />
cd /usr/local/src/httpd-2.2.3</p>
<p>make clean</p>
<p>cd /usr/local/src/subversion-1.3.2<br />
rm -rf apr<br />
rm -rf apr-util<br />
cp -rf /usr/local/src/httpd-2.2.3/srclib/apr ./<br />
cp -rf /usr/local/src/httpd-2.2.3/srclib/apr-util/ ./
</p></div>
<p>3) 编译安装</p>
<div class="code">
./configure &#45;&#45;with-apxs=/usr/local/apache2/bin/apxs \<br />
&#45;&#45;with-berkeley-db=/usr/local/BerkeleyDB.4.3 \<br />
&#45;&#45;with-ssl<br />
make<br />
make install
</div>
<p>◆ 遇到问题：<br />
1) BerkeleyDB 版本不能大于 4.3.否则同样会出现以下错误.</p>
<div class="code">
configure: error: APR-UTIL was installed independently, it won&#8217;t be<br />
                        possible to use the specified Berkeley DB: /usr/local/BerkeleyDB.4.4
</div>
<p>主要是apr-util 暂时不支持4.4的版本.</p>
<p>2) 必须更新apr，apr-util 源代码.<br />
subversion-1.3.2 自带的 apr-util 的版本是0.9.6的,必须升级为 1.2.7 虽然能编译过去。但在 svn checkout 的时候会提示</p>
<div class="code">
svn: REPORT request failed on &#8216;/!svn/vcc/default&#8217;<br />
svn: REPORT of &#8216;/!svn/vcc/default&#8217;: Could not read status line: connection was closed by server.
</div>
<p>这个问题困扰了我很长时间，Google和官方论坛都无结果。后来昨天竟然自己无意中解决了，感动的得哭了:)</p>
<h3>*  配置Apache和SVN，测试</h3>
<p>成功编译svn后会在 httpd.conf 中自动加上 </p>
<div class="code">
LoadModule dav_svn_module     modules/mod_dav_svn.so<br />
LoadModule authz_svn_module   modules/mod_authz_svn.so
</div>
<p>两个模块，没有的话，自行加上或检测是否真的编译成功.</p>
<p>假设我们现在要将一个名为 Lair 的项目导入到 SVN中</p>
<p>1). Apache的配置</p>
<p>在 conf/httpd.conf 或 conf/extra/httpd-vhosts.conf 中加入</p>
<div class="code">
&lt;Location /svn/Lair&gt;</p>
<p>   DAV svn<br />
   SVNPath /home/svn/Lair<br />
&lt;/Location&gt;
</p></div>
<p>可以参考以下apache的配置，实现数据加密传输，用户身份验证.</p>
<div class="code">
Listen 443</p>
<p>AddType application/x-x509-ca-cert .crt<br />
AddType application/x-pkcs7-crl .crl.</p>
<p>SSLPassPhraseDialog exec:/etc/sendsslpwd<br />
SSLSessionCache shmcb:/usr/local/apache2/logs/ssl_scache(512000)<br />
SSLSessionCacheTimeout 300<br />
SSLMutex file:/usr/local/apache2/logs/ssl_mutex</p>
<p>&lt;VirtualHost _default_:443&gt;<br />
DocumentRoot /var/SVNRoot<br />
ServerName svn.yousite.com:443<br />
ServerAdmin webmaster@yousite.com<br />
&lt;Location /&gt;</p>
<p>DAV svn<br />
SVNPath /var/SVNRoot<br />
AuthzSVNAccessFile /etc/svnserve.conf<br />
Satisfy Any<br />
AuthType Basic<br />
AuthName &#8220;yousite SVN Repository&#8221;<br />
AuthUserFile /etc/httpd-passwords.txt<br />
Require valid-user</p>
<p>&lt;/Location&gt;<br />
SSLEngine on<br />
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL<br />
SSLCertificateFile /etc/ssl/server.crt<br />
SSLCertificateKeyFile /etc/ssl/server.key</p>
<p>&lt;/VirtualHost&gt;
</p></div>
<p>更详细的配置说明文档 <a href="http://svnbook.red-bean.com/nightly/en/svn.ref.mod_dav_svn.conf.html">http://svnbook.red-bean.com/nightly/en/svn.ref.mod_dav_svn.conf.html</a></p>
<p>2). 配置，并且测试SVN，</p>
<p>创建一个新用户,用了保存仓库.</p>
<div class="code">useradd -m svn</div>
<p>创建一个新模块</p>
<div class="code">
su daemon (apache是以daemon用户运行的,所以要切换身份，否则可能会报目录访问权限错误)<br />
svnadmin create &#45;&#45;fs-type fsfs /home/svn/Lair
</div>
<p>导入原来的项目</p>
<div class="code">
svn import /var/www/Lair http://localhost/svn/Lair -m &#8216;Initial import&#8217;</p>
</div>
<p>重新建立工作目录</p>
<div class="code">
rm -rf /var/www/Lair (注意备份!!)<br />
svn checkout http://localhost/svn/Lair
</div>
<p>测试打开 http://localhost/svn/Lair<br />
<img id="image166" src="http://pub.yening.cn/2006/07/1152448175.png" alt="1152448175.png" /><br />
如能看到一个你项目录列表，说明您成功了。</p>
<h3>*  其它小结</h3>
<p>■ 数据转移:</p>
<p>从 Windows 平台 SVN 服务器转移<br />
如果windows svn储存的格式也是dbd的话，直接将SVN的文件夹copy过来即可.然后<br />
执行 svnadmin recover /var/SVNRoot 检查一下数据库是否损坏.</p>
<p>最后注意权限,确保 db 目录下的所有文件能被apache读写（留意httpd.conf中的 User 和 Group）。</p>
<div class="code">
chmod 755 db<br />
chmod 666 db/*
</div>
<p>否则checkout时出现以下错误，多数是因为 <strong>文件或者目录权限问题 </strong>引起的，可以尝试用 chown 或者 chmod 命令修改一下权限</p>
<div class="code">
&lt;m:human-readable errcode=&#8221;160029&#8243;&gt;</p>
<p>Could not open the requested SVN filesystem<br />
&lt;/m:human-readable&gt;</p>
<p>&lt;m:human-readable errcode=&#8221;13&#8243;&gt;<br />
Could not open the requested SVN filesystem<br />
&lt;/m:human-readable&gt;</p>
<p>Can&#8217;t open activity db: APR does not understand this error code
</p></div>
<p>另外一种方法没有测试过，原理大致和mysqldump一样，将svn导出为文本文件，然后重新导入，好处是可以避免因为存储格式不同而导致的数据转移困难。</p>
<div class="code">
# dump data to file (assuming a repo @ c:\repo):</p>
<p>  svnadmin dump c:\repo > c:\repo.txt<br />
# Copy the file over to linux:<br />
  mkdir /repo<br />
  svnadmin create /repo<br />
  svnadmin load /repo < /repo.txt
</div>
<p>■ 设置访问控制</p>
<p>当 httpd.conf 中 设置 AuthzSVNAccessFile 时，可以设置不同用户对不同目录的访问控制.以下是一个例子.</p>
<div class="code">
[groups]<br />
root = admin.root<br />
web = user1,user2<br />
soft = user3,user4</p>
<p>[/]<br />
@root = rw</p>
<p>[/www]</p>
<p>@web = rw</p>
<p>[/soft]<br />
@soft = rw
</p></div>
<p>一个更复杂的权限控制例子:</p>
<div  class="code">
[groups]<br />
root = user1,user2<br />
web = user3,user4,user5,user6<br />
art = user7,user8,user9,user6<br />
blog = user10,user11<br />
<br/><br />
# 所有的对 根路径 有读写权限而不是具体的某个库,例如 192.168.1.56/svn/ 下 有 trunk,tag,release 三个库,<br />
    则组内成员都对于这三个库具有读写权限.<br />
[/]<br />
@root = rw<br />
@web = rw</p>
<p># 指定某个库(trunk)的访问权限<br />
[trunk:/lib/Lair]<br />
@blog = rw</p>
<p># user5 将对目录有任何权限,虽然他继承根路径<br />
[trunk:/apps/views/blog]<br />
@blog = rw<br />
user5 =           </p>
<p>[trunk:/apps/views/myblog]<br />
@blog = rw<br />
user5 = </p>
<p>[trunk:/www]<br />
@art = rw<br />
@blog = rw</p>
<p>[trunk:/apps/views]<br />
@art = rw
</p></div>
<p>详细的说明文档：<a href="http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html">http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html</a></p>
<p>■ 配置文件，使用其支持对文件中的 $Id$ 标签每次提交的时候自动更新版本信息(自动属性).</p>
<p>Windows :  C:\Documents and Settings\%USERNAME%\Application Data\Subversion\config<br />
Linux      :  ~\.subversion\config</p>
<div class="code">
[miscellany]</p>
<p>enable-auto-props = yes<br />
[auto-props]<br />
*.php=svn:keywords=Id<br />
*.html=svn:keywords=Id
</p></div>
<p><a href="http://svnbook.red-bean.com/nightly/en/svn.advanced.props.html">>> 关于自动属性的更高级讨论</a></p>
<p>■ 几条常用svn 命令<br />
svn update<br />
svn add &#8220;filename&#8221;<br />
svn commit</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Change Log:</p>
<ul>
<li>2007-06-14  httpd-2.2.4,subversion-1.4.4,BDB-4.3,下通过.neno 还是不能使用0.2.6的，否则根据没有办法 checkout http 协议开头的URL.
<li>2007-01-03 修正关于neno库的安装说明，以上配置可以最新版本的 httpd-2.2.3,subversion-1.4.2,BDB-4.3下通过.
<li><del datetime="2006-11-03T12:57:17+00:00">2006-08-14 neon库subversion已经自带,不需要在单独安装,添加-with-ssl即可使用svn对ssl支持.</del></li>
<li>2006-08-10 补充自动属性的说明.</li>
<li>2006-08-08 加入关于目录访问验证的说明.</li>
<li>2006-08-07 httpd,2.2.3测试依然有效，解决bdb数据库的支持问题，添加从Windows到Linux下的数据转移方案。</li>
<li>2006-07-25 看到到.<a href="http://wuhongsheng.com/2006/07/upgrade_httpd_to_apache22.html">声仔</a>对 Can&#8217;t set position pointer in file 另一种解决方案,我当时也测试了，好像没有成功。不想用apache源代码编译的朋友可以也测试一下</li>
<li>2006-07-09 初稿.</li>
</ul>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
参考:</p>
<ul>
<li><a href="http://subversion.tigris.org/faq.html">http://subversion.tigris.org/faq.html</a> [FAQ]</li>
<li><a href="http://svnbook.red-bean.com/ ">http://svnbook.red-bean.com/ </a>[文档]</li>
<li><a href="http://www.svnforum.org/">http://www.svnforum.org/</a>  [论坛]</li>
<li><a href="http://d.hatena.ne.jp/cooldaemon/searchdiary?word=%2a%5bSubversion%5d">http://d.hatena.ne.jp/cooldaemon/searchdiary?word=%2a%5bSubversion%5d</a></li>
<li><a href="http://artis.imag.fr/~Xavier.Decoret/resources/svn/index.html">http://artis.imag.fr/~Xavier.Decoret/resources/svn/index.html</a></li>
<li><a href="http://www.germane-software.com/~ser/R_n_R/subversion.html#ftn.N45">http://www.germane-software.com/~ser/R_n_R/subversion.html#ftn.N45</a></li>
<li><a href="http://zen.sh.nu/book/zh/index.html">http://zen.sh.nu/book/zh/index.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.yening.cn/2006/08/07/165.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>在Ubuntu Server上编译安装 Apache 2.2(with SSL) + PHP 5.1.4 + MYSQL 5.0.22</title>
		<link>http://blog.yening.cn/2006/07/02/54.html</link>
		<comments>http://blog.yening.cn/2006/07/02/54.html#comments</comments>
		<pubDate>Sun, 02 Jul 2006 07:15:12 +0000</pubDate>
		<dc:creator>Onion</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.yening.cn/2006/07/02/54.html</guid>
		<description><![CDATA[配置最新最IN的 Web Server！！ 编译 Apache 2.2 + PHP 5.1.2 + MYSQL 5.0.19 的详细步骤.


准备，下载所需要的库文件   
安装 Ubuntu Server   
安装编译器和必须的运行库   
编译安装 Apache 2.2、PHP 5.12、MySQL 5.01   
测试，配置Apache和MySQL自启动. 


准备，下载所需要的文件
*



Name
Size
Last Version


Ubuntu-Server 6.04 (Dapper Drake) i386
634M
Discover


&#160;


bison-2.1.tar.gz
1285K
Discover


flex-2.5.4a.tar.gz
372K
Discover


bzip2-1.0.3.tar.gz
653K
Discover


zlib-1.2.3.tar.gz
484K
Discover


openssl-0.9.8.tar.gz
3183K
Discover


libiconv-1.10.tar.gz
3861K
Discover


freetype-2.1.10.tar.gz
1350K
Discover


jpegsrc.v6b.tar.gz
598K
Discover


libpng-1.2.9beta9.tar.gz
800K
Discover


gd-2.0.33.tar.gz
573K
Discover


libxml2-2.6.23.tar.gz
4407K
Discover


curl-7.15.2.tar.gz
1762K
Discover


&#160;


httpd-2.2.0.tar.bz2
4725K
Discover


mysql-max-5.0.19-linux-i686.tar.gz
37650K
Discover


php-5.1.2.tar.bz2
6171K
Discover


ZendOptimizer-3.0.0Beta3-linux-glibc21-i386.tar.gz
6469K
Discover




安装 Ubuntu Server
  
 Ubuntu   的安装过程相当友好,根据向导一步步向下做就可以了，除了分区的时候要留意一点外，其它基本都是Next,Next,这里就不再累赘。因为只在本机随便玩玩，为求方便，安装完毕系统后我装了一个ssh,并且修改了root的密码.步骤如下：
 	1) 安装 ssh 
shell&#62; apt-get install ssh
 	2) 修改root的密码  [...]]]></description>
			<content:encoded><![CDATA[<p>配置最新最IN的 Web Server！！ 编译 Apache 2.2 + PHP 5.1.2 + MYSQL 5.0.19 的详细步骤.
</p>
<ul>
<li>准备，下载所需要的库文件   </li>
<li>安装 Ubuntu Server   </li>
<li>安装编译器和必须的运行库   </li>
<li>编译安装 Apache 2.2、PHP 5.12、MySQL 5.01   </li>
<li>测试，配置Apache和MySQL自启动. <br /><span id="more-54"></span></li>
</ul>
<ol>
<li>准备，下载所需要的文件<br />
*<br />
<table bgcolor="#ffeedd" border="1" width="90%">
<tbody>
<tr bgcolor="#ffe4ca">
<td align="center" bgcolor="#ffbf80">Name</td>
<td align="center" bgcolor="#ffbf80">Size</td>
<td align="center" bgcolor="#ffbf80">Last Version</td>
</tr>
<tr>
<td><a href="http://cdimage.ubuntu.com/ubuntu-server/daily/current/dapper-install-i386.iso">Ubuntu-Server 6.04 (Dapper Drake) i386</a></td>
<td align="center">634M</td>
<td align="center"><a href="http://cdimage.ubuntu.com/ubuntu-server/daily/current/?C=S;O=D">Discover</a></td>
</tr>
<tr>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td><a href="ftp://ftp.cs.cuhk.edu.hk/pub/gnu/gnu/bison/bison-2.1.tar.gz">bison-2.1.tar.gz</a></td>
<td align="center">1285K</td>
<td align="center"><a href="http://ftp.gnu.org/pub/gnu/bison/?M=D">Discover</a></td>
</tr>
<tr>
<td><a href="ftp://sunsite.ust.hk/pub/gnu/non-gnu/flex/flex-2.5.4a.tar.gz">flex-2.5.4a.tar.gz</a></td>
<td align="center">372K</td>
<td align="center"><a href="http://prdownloads.sourceforge.net/flex/">Discover</a></td>
</tr>
<tr>
<td><a href="http://www.bzip.org/1.0.3/bzip2-1.0.3.tar.gz">bzip2-1.0.3.tar.gz</a></td>
<td align="center">653K</td>
<td align="center"><a href="http://www.bzip.org/downloads.html">Discover</a></td>
</tr>
<tr>
<td><a href="http://www.zlib.net/zlib-1.2.3.tar.gz">zlib-1.2.3.tar.gz</a></td>
<td align="center">484K</td>
<td align="center"><a href="http://www.zlib.net/">Discover</a></td>
</tr>
<tr>
<td><a href="ftp://ftp.openssl.org/source/openssl-0.9.8.tar.gz">openssl-0.9.8.tar.gz</a></td>
<td align="center">3183K</td>
<td align="center"><a href="ftp://ftp.openssl.org/source/">Discover</a></td>
</tr>
<tr>
<td><a href="http://mirrors.kernel.org/gnu/libiconv/libiconv-1.10.tar.gz">libiconv-1.10.tar.gz</a></td>
<td align="center">3861K</td>
<td align="center"><a href="http://mirrors.kernel.org/gnu/libiconv/?C=M;O=D">Discover</a></td>
</tr>
<tr>
<td><a href="http://jaist.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.10.tar.gz">freetype-2.1.10.tar.gz</a></td>
<td align="center">1350K</td>
<td align="center"><a href="http://prdownloads.sourceforge.net/freetype/?sort_by=date&amp;sort=desc">Discover</a></td>
</tr>
<tr>
<td style="height: 20px;"><a href="http://www.ijg.org/files/jpegsrc.v6b.tar.gz">jpegsrc.v6b.tar.gz</a></td>
<td align="center">598K</td>
<td align="center"><a href="http://www.ijg.org/files/?M=D">Discover</a></td>
</tr>
<tr>
<td><a href="http://ufpr.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.9beta9.tar.gz">libpng-1.2.9beta9.tar.gz</a></td>
<td align="center">800K</td>
<td align="center"><a href="http://prdownloads.sourceforge.net/libpng/?sort_by=date&amp;sort=desc">Discover</a></td>
</tr>
<tr>
<td><a href="http://www.boutell.com/gd/http/gd-2.0.33.tar.gz">gd-2.0.33.tar.gz</a></td>
<td align="center">573K</td>
<td align="center"><a href="http://www.boutell.com/gd/http/?C=M;O=D">Discover</a></td>
</tr>
<tr>
<td><a href="http://xmlsoft.org/sources/libxml2-2.6.23.tar.gz">libxml2-2.6.23.tar.gz</a></td>
<td align="center">4407K</td>
<td align="center"><a href="http://xmlsoft.org/sources/?C=M;O=D">Discover</a></td>
</tr>
<tr>
<td><a href="http://www.execve.net/curl/curl-7.15.2.tar.gz">curl-7.15.2.tar.gz</a></td>
<td align="center">1762K</td>
<td align="center"><a href="http://www.execve.net/curl/?M=D">Discover</a></td>
</tr>
<tr>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td><a href="http://apache.justdn.org/httpd/httpd-2.2.0.tar.bz2">httpd-2.2.0.tar.bz2</a></td>
<td align="center">4725K</td>
<td align="center"><a href="http://httpd.apache.org/download.cgi">Discover</a></td>
</tr>
<tr>
<td><a href="http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-max-5.0.19-linux-i686.tar.gz/from/http://mirror.vmmatrix.net/mysql/">mysql-max-5.0.19-linux-i686.tar.gz</a></td>
<td align="center">37650K</td>
<td align="center"><a href="http://dev.mysql.com/">Discover</a></td>
</tr>
<tr>
<td><a href="http://cn.php.net/get/php-5.1.2.tar.bz2/from/this/mirror">php-5.1.2.tar.bz2</a></td>
<td align="center">6171K</td>
<td align="center"><a href="http://cn.php.net/downloads.php">Discover</a></td>
</tr>
<tr>
<td><a href="http://downloads.zend.com/optimizer/3.0.0Beta3/ZendOptimizer-3.0.0Beta3-linux-glibc21-i386.tar.gz">ZendOptimizer-3.0.0Beta3-linux-glibc21-i386.tar.gz</a></td>
<td align="center">6469K</td>
<td align="center"><a href="http://downloads.zend.com/optimizer/">Discover</a></td>
</tr>
</tbody>
</table>
</li>
<li>安装 Ubuntu Server
<p> <img src="http://pub.yening.cn/2006/03/1142870836.png" alt="Ubutu Server" border="0"> </p>
<p> Ubuntu   的安装过程相当友好,根据向导一步步向下做就可以了，除了分区的时候要留意一点外，其它基本都是Next,Next,这里就不再累赘。因为只在本机随便玩玩，为求方便，安装完毕系统后我装了一个ssh,并且修改了root的密码.步骤如下：</p>
<p> 	1) 安装 ssh </p>
<div class="code">shell&gt; apt-get install ssh</div>
<p> 	2) 修改root的密码  </p>
<div class="code">shell&gt; sudo passwd root 	(提示您输入密码)</div>
</li>
<li>安装编译器和必须的运行库
<ol>
<li><strong>安装编译器</strong>
<p>新装好的ubuntu光秃秃的，连基本的c++编译器和make工具都没有,我们需要安装以下基本的编译工具.</p>
<div class="code">gcc <br />make<br />autoconf<br />automake<br />libtool </div>
<p>考虑到系统的兼容性,并且上面的东东比较都大,不找最新版本了，直接用<strong>apt-get install XXX</strong>  来安装.因为我们的Ubuntu是dailyBulid的,所以光盘的内容基本上都是最新的了,无需重新下载.一定要最新版本的话，不妨先apt-get update 来更新一下软件的仓库,然后再 apt-get install.</p>
</li>
<li><strong>安装必须的运行库和工具</strong>
<ol>
<li>配置c++编译器选项,针对不同的CPU进行编译优化,如无特殊要求,可以跳过这一步.[<a href="http://gentoo-wiki.com/Safe_Cflags">更多CPU的编译参数</a>]
<div class="code"># Intel PentiumIV,Celeon Family <br /> export CFLAGS=&#8221;-march=pentium4 -mfpmath=sse -msse2 -O2 -pipe -s -fomit-frame-pointer&#8221;</p>
<p> # AMD Alton,Duron Family <br /> export CFLAGS=&#8221;-O3 -march=athlon-xp -pipe -fomit-frame-pointer -msse -mmmx -m3dnow -mfpmath=sse&#8221; </p>
</div>
</li>
<li>开始编译并配置SSL证书 假设下载好的所有软件都放在 /usr/src 目录下,并且所有的软件都安装在 /usr/local 目录下. <strong>按表中的先后顺序编译lib和必须的工具</strong> （如libpng需要bzip2,不同的包,有一定的依存关系).如无特殊说明,编译的基本命令为:
<div class="code">tar -xzvf PACKAGE-VERSION.tar.gz <br /> cd PACKAGE-VERSION <br /> ./configure &#45;&#45;prefix=/usr/local <br /> make <br /> make install</div>
<p>* <span style="color:blue">[Update]</span> openssl 0.98d 默认不编译共享库 libssl.so,在 configure 必须加上 shared 参数，具体请看README文件，否则curl等只能使用系统老的 libssl 库.</p>
<p>* 编译 jpegsrc.v6b.tar.gz，make install 后 ，还需要再 make install-lib 安装头文件.</p>
<p>Good Luck &amp; Congratulate! <img src="http://blog.yening.cn/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> </p>
<p>顺利编译上面的一大堆lib和tools后，接下来生成SSL的证书，生成的证书只能自己使用，真正的ca证书需要花钱购买的.</p>
<p>* 在生成文件的时候，会有一些交互问答,其中有一点很重要 <strong>Enter pass phrase:</strong> 程序会通过您的输入的内容生成一个不可逆的hash，通过这个hash来保护的证书和数据加密传输,将其简单理解为设置密码就行了.</p>
<p># Create a private key and place it into directory/var/ssl</p>
<div class="code">mkdir /var/ssl<br />cd /var/ssl</div>
<div class="code"> /usr/local/bin/openssl genrsa -des3 -rand some_big_file_1:some_big_file_2 -out server.key 1024</div>
<p># Next, we will create a private key without a pass-phrase,this is less secure, but it allows us to bootup the serverwithout manually entering the pass-phrase every time</p>
<div class="code">/usr/local/bin/openssl rsa -in server.key -out server.key.unsecure</div>
<p># We will also create a request file that will be emailed toproper certification authority for getting a trusted SSLcertificate (if needed) under file localhost.key.csr:</p>
<div class="code">/usr/local/bin/openssl req -new -key server.key -out server.key.csr</div>
<p><strong>注意：当提示输入 Common Name (eg, YOUR name) []: ，请输入你需要SSL支持的域名,如localhost,blog.yening.cn，否则浏览器会提示证书错误.</strong></p>
<p># While waiting for the certification authority, we can createa temporary self-signed certificate, good for <strong>2 year(730 day)</strong>;</p>
<div class="code">/usr/local/bin/openssl x509 -req -days 730 -in server.key.csr -signkey server.key -out server.crt</div>
<div class="code">chmod 400 server.crt<br />chmod 400 server.key<br />chmod 400 server.key.unsecure</div>
</li>
</ol>
</li>
<li>编译安装 Apache 2.2、PHP 5.12、MySQL 5.01
<ul>
<li>编译安装 Apache 2
<div class="code">
cd /usr/src<br />
bzip2 -d httpd-2.2.0.tar.bz2<br />
tar -xvf httpd-2.2.0.tar<br />
cd httpd-2.2.0<br />
./configure &#45;&#45;prefix=/usr/local/apache2 \<br />
&#45;&#45;enable-so \<br />
&#45;&#45;enable-auth-digest \<br />
&#45;&#45;enable-rewrite \<br />
&#45;&#45;enable-setenvif \<br />
&#45;&#45;enable-mime \<br />
&#45;&#45;enable-ssl \<br />
&#45;&#45;with-ssl=/usr/local \<br />
&#45;&#45;enable-headers<br />
<br />
make<br />
make install<br />
ln -s /usr/local/apache2/bin/apachectl /usr/local/bin<br />
ln -s /usr/local/apache2/conf/httpd.conf /etc/httpd.conf<br />
mv /usr/local/apache2/htdocs /var/www</p>
</div>
<p>
</p>
<h5>** 配置</h5>
<p>修改 /usr/local/apache2/conf/httpd.conf</p>
<p># 修改文档根目录到 /var/www
</p>
<div class="code">DocumentRoot &#8220;/var/www&#8221;</div>
<p># 配置 /var/www 目录的权限
</p>
<div class="code">Options Indexes Includes FollowSymLinks MultiViews<br />AllowOverride All <br />Order allow,deny <br />Allow from all </div>
<p># 默认首页添加 index.htm index.php</p>
<div class="code">DirectoryIndex index.html index.htm index.php</div>
<p>
# 监听443端口,支持https连接<br />
取消注释 httpd.conf 中的  Include conf/extra/httpd-ssl.conf<br />
用编辑器编辑 httpd-ssl.conf 配置服务器私钥，以下是我的配置文件内容：</p>
<div class="code">
Listen 443</p>
<p>AddType application/x-x509-ca-cert .crt<br />
AddType application/x-pkcs7-crl    .crl.<br />
# SSLPassPhraseDialog  builtin<br />
<strong>SSLPassPhraseDialog  exec:/usr/local/apache2/conf/sendsslpwd</strong><br />
SSLSessionCache      shmcb:/usr/local/apache2/logs/ssl_scache(512000)<br />
SSLSessionCacheTimeout  300<br />
SSLMutex file:/usr/local/apache2/logs/ssl_mutex</p>
<p>&lt;VirtualHost _default_:443&gt;<br />
	DocumentRoot “/var/www”<br />
	ServerName localhost:443</p>
<p>	ServerAdmin you@example.com<br />
	SSLEngine on<br />
	SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL<br />
        <strong>SSLCertificateFile /var/ssl/server.crt</strong><br />
	<strong>SSLCertificateKeyFile /var/ssl/server.key</strong></p>
<p>        &lt;FilesMatch “\.(cgi|shtml|phtml|php)$”&gt;<br />
        SSLOptions +StdEnvVars<br />
	&lt;/FilesMatch&gt;</p>
<p>        &lt;Directory “/usr/local/apache2/cgi-bin”&gt;<br />
        SSLOptions +StdEnvVars<br />
	&lt;/Directory&gt;</p>
<p>        BrowserMatch “.*MSIE.*” \<br />
        nokeepalive ssl-unclean-shutdown \<br />
        downgrade-1.0 force-response-1.0<br />
    &lt;/VirtualHost&gt;
</p></div>
<p>创建SSL密码自动应答文件，否则每次Apache启动的时候，都会要求你输入SSL的密码.<br />
创建 /usr/local/apache2/conf/sendsslpwd ,内容如下.</p>
<div class="code">
#!/bin/bash<br />
SSLpasswd=&#8221;YOUR PASSPHRASE &#8221;<br />
echo $SSLpasswd
</div>
<div class="code">chmod 755 /usr/local/apache2/conf/sendsslpwd</div>
<h5>** 测试</h5>
<div class="code">shell&gt; apachectl start</div>
<p>打开浏览器,输入http(s)://SERVERIP/,都能看到 It works! 说明 Apache With SSL 安装成功.</p>
<p>正确生成的证书在IE的安全警报下，应该会有两个绿色小勾，如图所示：<br />
<img id="image175" src="http://pub.yening.cn/2006/07/ca.png" alt="ca.png" /><br />
生成的证书会在第二天起效(可以调整一下系统时间测试)，但第三个小勾还是如果配置对的话还是会打上的.</p>
</li>
<li>安装 MySQL 5
<div class="code">cd /usr/src tar -xzvf mysql-max-5.0.19-linux-i686.tar.gz<br />mv mysql-max-5.0.19-linux-i686 /usr/local/mysql<br />cd /usr/local/mysql<br />groupadd mysql<br />useradd -g mysql mysql<br />scripts/mysql_install_db &#45;&#45;user=mysql<br />chown -R root .<br />chown -R mysql data<br />chgrp -R mysql .<br />ln -s /usr/local/mysql/bin/mysqld_safe /usr/local/bin<br />ln -s /usr/local/mysql/bin/mysql /usr/local/bin</div>
<p>
</p>
<h5> ** 测试:</h5>
<div class="code">shell&gt; mysqld_safe &#45;&#45;user=mysql &amp; <br />shell&gt;mysql</div>
<p>屏幕出现 mysql&gt; 提示,说明MySQL安装成功.              </p>
</li>
<li>编译安装 PHP 5
<div class="code">cd /usr/src<br />bzip2 -d php-5.1.2.tar.bz2<br />tar -xvf php-5.1.2.tar<br />cd php-5.1.2<br />
<br />./configure &#45;&#45;prefix=/usr/local \<br />
&#45;&#45;with-config-file-path=/usr/local/apache2/conf \<br />
&#45;&#45;with-apxs2=/usr/local/apache2/bin/apxs \<br />
&#45;&#45;with-bz2=/usr/local \<br />
&#45;&#45;with-curl=/usr/local \<br />
&#45;&#45;with-curlwrappers \<br />
&#45;&#45;enable-ftp \<br />
&#45;&#45;enable-sockets \<br />
&#45;&#45;disable-ipv6 \<br />
&#45;&#45;with-gd=/usr/local \<br />
&#45;&#45;with-jpeg-dir=/usr/local \<br />
&#45;&#45;with-png-dir=/usr/local \<br />
&#45;&#45;with-freetype-dir=/usr/local \<br />
&#45;&#45;enable-gd-native-ttf \<br />
&#45;&#45;with-iconv-dir=/usr/local \<br />
&#45;&#45;enable-mbstring \<br />
&#45;&#45;with-gettext \<br />
&#45;&#45;with-openssl-dir=/usr/local \<br />
&#45;&#45;with-libxml-dir=/usr/local \<br />
&#45;&#45;with-mysql=/usr/local/mysql \<br />
&#45;&#45;with-mysqli=/usr/local/mysql/bin/mysql_config \<br />
&#45;&#45;with-mysql-sock=/tmp/mysql.sock \<br />
&#45;&#45;enable-sqlite-utf8 \<br />
&#45;&#45;with-zlib=/usr/local \<br />
&#45;&#45;with-zlib-dir=/usr/local \<br />
&#45;&#45;enable-zend-multibyte</p>
<p>make<br />make install<br />cp php.ini-dist /usr/local/apache2/conf/php.ini<br />ln -s /usr/local/apache2/conf/php.ini /etc/php.ini</p>
</div>
<p>
</p>
<h5>** 配置</h5>
<p>#在Apache中添加php关联,这步应该是编译php的时候自动完成的,但是我编译的时候没有自动添上,可能是Apache2.2的缘故。打开/usr/local/apache2/conf/httpd.conf,加入 </p>
<div class="code">AddType application/x-httpd-php .php <br /> AddType application/x-httpd-php-source .phps </div>
<p># 根据具体的您要求配置php,这步可以略过 vi/usr/local/apache2/conf/php.ini</p>
</li>
<li>安装 ZendOptimizer
<div class="code">cd /usr/src tar -xzvf<br />ZendOptimizer-3.0.0Beta3-linux-glibc21-i386.tar.gz <br />cd ZendOptimizer-3.0.0Beta3-linux-glibc21-i386 <br />./install.sh</div>
<p>按照屏幕提示输入 php.ini 的路径即可,安装程序会自动关闭WebServer,安装完毕后会帮你再启动(忙了一天,这步最爽,哈哈.)</p>
</li>
</ul>
</li>
<li> 	  测试，配置Apache和MySQL自动启动.经过漫长的等待，激动人心的一刻终于来了。
<p> 	  # 	  创建一个php文件</p>
<div class="code">shell&gt; echo &#8216;&lt;?php phpinfo()?&gt;&#8217; 	  &gt; /var/www/index.php</div>
<p>打开浏览器,输入 <a href="http://serverip/index.php">http://SERVERIP/index.php</a>，出现以下画面：</p>
<p><a href="http://pub.yening.cn/2006/03/1142871155.png" target="_blank"><img src="http://pub.yening.cn/2006/03/1142871136.png" alt="php5.12" border="0"></a></p>
<p>恭喜您,和我一样,拥有目前最新,最IN的 WebServer和PHP了,再研究一下PHP的configure和PCEL,您可以获得PHP更多的模块和功能．</p>
<p>最后,用vi编辑 /etc/rc.local 文件，让Apache和MySQL在系统启动的时候自动启动.</p>
<p># 在exit 0前面加入</p>
<div class="code">/usr/local/apache2/bin/apachectl start<br />/usr/local/mysql/bin/mysqld_safe &#45;&#45;user=mysql &amp; </div>
<p>■ 其它问题:<br />
一台Apache Web服务只能创建一个SSL站点</p>
<p>当您有多个虚拟主机同时监听443端口时，Apache的error.log日志文件中会出现以下提示:</p>
<div class="code">
[Tue Aug 01 15:37:05 2006] [warn] Init: SSL server IP/port conflict: ssl-1.verycd.com:443 (/usr/local/apache2/conf/extra/httpd-ssl.conf:236) vs. ssl-2.verycd.com:443 (/usr/local/apache2/conf/extra/httpd-ssl.conf:250)<br />
[Tue Aug 01 15:37:05 2006] [warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!
</div>
<p>详细的描述请参考 http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html</p>
</div>
<p>64位编译有问题的朋友，可参考 <a href="http://www.phpchina.com/?798/action_viewspace_itemid_1442.html">阿标的《CENTOS4.3安装全攻略》</a>，写得也非常详细.</p>
<p><strong><font color="red">大功告成！！</font></strong></p>
<h5>   :: Change Log :: </h5>
<ul>
<li>2006-11-07 添加编译openssl 动态库 libssl.so 所需要参数.</li>
<li>2006-11-02 暂时发现 php-5.20 无法使用最新 curl-7.16.0 编译通过，降到 <a href="http://curl.haxx.se/download/curl-7.15.5.tar.bz2">curl-7.15.5</a> 就正常了.</li>
<li>2006-08-07 (v1.22) 更新SSL的自动密码应答部分,其它问题。</li>
<li>2006-07-25 (v1.21) 更新关于编译参数优化的资料,修正SSL证书生成部分的说明.
<li>2006-07-02 (v1.2)
<ul>
<li>修正SSL部分的配置说明，修正编译参数被wordpress转义的bug.</li>
<li>以上配置在 PHP-5.1.4，Apache-2.2.2，MySQL-5.0.22 (Ubuntu,6.06)依然有效.<br/><img id="image111" src="http://pub.yening.cn/2006/07/1151827945.png" alt="php5.14-apache2.2.2-with-ssl" /></li>
</ul>
</li>
<li>2006-04-18 (v1.1) 修正几个格式和用语的错误. </li>
<li>2006-03-21 (v1.0) 收集整理资料，初稿</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.yening.cn/2006/07/02/54.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>squid安装笔记</title>
		<link>http://blog.yening.cn/2006/05/08/84.html</link>
		<comments>http://blog.yening.cn/2006/05/08/84.html#comments</comments>
		<pubDate>Mon, 08 May 2006 13:10:31 +0000</pubDate>
		<dc:creator>Onion</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.yening.cn/2006/05/08/84.html</guid>
		<description><![CDATA[&#160;&#8212;- 安装 &#8212;-
wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE13.tar.gztar zxf squid-2.5.STABLE13.tar.gzcd squid-2.5.STABLE13./configure &#8211;prefix=/usr/localmakemake installvi /usr/local/squid/etc/squid.conf
mkdir /var/squid/cachechown -R nobody:nobody /var/squid/cachechmod 0777 /var/squid/cache -R/usr/local/squid/sbin/squid -z/usr/local/squid/sbin/squid -NCd1
&#160;

&#160;&#8212;- 配置文件 &#8212;-
# 默认端口http_port 80
# 缓存暂用内存大小cache_mem 512 MBmaximum_object_size_in_memory 4128 KB
# 缓存目录,及其大小cache_dir ufs /var/squid/cache 2048 16 256
# 关闭访问日志cache_access_log nonecache_log nonecache_store_log none
auth_param basic children 5auth_param basic realm Squid proxy-caching web serverauth_param basic credentialsttl 2 hoursauth_param basic casesensitive off
#hierarchy_stoplist cgi-bin [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&#8212;- 安装 &#8212;-</p>
<p>wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE13.tar.gz<br />tar zxf squid-2.5.STABLE13.tar.gz<br />cd squid-2.5.STABLE13<br />./configure &#8211;prefix=/usr/local<br />make<br />make install<br />vi /usr/local/squid/etc/squid.conf</p>
<p>mkdir /var/squid/cache<br />chown -R nobody:nobody /var/squid/cache<br />chmod 0777 /var/squid/cache -R<br />/usr/local/squid/sbin/squid -z<br />/usr/local/squid/sbin/squid -NCd1</p>
<p>&nbsp;</p>
<p><!-- more -->
<p>&nbsp;&#8212;- 配置文件 &#8212;-</p>
<p># 默认端口<br />http_port 80</p>
<p># 缓存暂用内存大小<br />cache_mem 512 MB<br />maximum_object_size_in_memory 4128 KB</p>
<p># 缓存目录,及其大小<br />cache_dir ufs /var/squid/cache 2048 16 256</p>
<p># 关闭访问日志<br />cache_access_log none<br />cache_log none<br />cache_store_log none</p>
<p>auth_param basic children 5<br />auth_param basic realm Squid proxy-caching web server<br />auth_param basic credentialsttl 2 hours<br />auth_param basic casesensitive off</p>
<p>#hierarchy_stoplist cgi-bin admin</p>
<p># 禁止缓存策略<br />acl nocache urlpath_regex cookie.*\.php<br />no_cache deny nocache</p>
<p># 缓存更新策略<br />refresh_pattern ^ftp:&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1440&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp; 10080<br />refresh_pattern ^gopher:&nbsp;&nbsp;&nbsp; 1440&nbsp;&nbsp;&nbsp; 0%&nbsp;&nbsp;&nbsp; 1440<br />refresh_pattern -i \.xml&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp; 440&nbsp;&nbsp;&nbsp; ignore-reload<br />refresh_pattern -i \.jpg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp;&nbsp; 440&nbsp;&nbsp;&nbsp; ignore-reload<br />refresh_pattern -i \.css&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp;&nbsp; 440&nbsp;&nbsp;&nbsp; ignore-reload<br />refresh_pattern -i \.js&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp;&nbsp; 440&nbsp;&nbsp;&nbsp; ignore-reload<br />refresh_pattern -i \.gif&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp;&nbsp; 440&nbsp;&nbsp;&nbsp; ignore-reload<br />refresh_pattern -i \.png&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp;&nbsp; 440&nbsp;&nbsp;&nbsp; ignore-reload<br />refresh_pattern -i \.html&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp; ignore-reload<br />refresh_pattern -i \.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp;&nbsp; 440&nbsp;&nbsp;&nbsp; ignore-reload<br />refresh_pattern -i \.mp3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp;&nbsp; 440&nbsp;&nbsp;&nbsp; ignore-reload<br />refresh_pattern -i \.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp;&nbsp; 440&nbsp;&nbsp;&nbsp;&nbsp; ignore-reload <br />refresh_pattern .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20%&nbsp;&nbsp;&nbsp;&nbsp; 30</p>
<p># 访问策略<br />acl all src 0.0.0.0/0.0.0.0<br />acl manager proto cache_object<br />acl localhost src 127.0.0.1/255.255.255.255<br />acl to_localhost dst 127.0.0.0/8<br />acl SSL_ports port 443 563<br />acl Safe_ports port 80<br />acl Self referer_regex -i ^http://blog\.yening\.cn$<br />acl has_referer referer_regex .<br />&nbsp;&nbsp;&nbsp; <br />acl purge method PURGE<br />acl CONNECT method CONNECT<br />acl www_visitor dstdomain .win .yening.cn .verycd.com<br />acl OverConnLimit maxconn 30<br />acl Purge method PURGE<br />http_access allow Purge<br />http_access allow manager localhost<br />http_access deny manager<br />http_access deny !Safe_ports<br />http_access deny CONNECT !SSL_ports<br />http_access deny OverConnLimit<br />http_access allow www_visitor<br />http_access allow Self<br />http_access deny !has_referer</p>
<p>http_access deny all<br />http_reply_access allow all<br />icp_access allow all<br />visible_hostname onion</p>
<p>httpd_accel_host virtual<br />httpd_accel_port 80<br />httpd_accel_uses_host_header on<br />coredump_dir /var/squid/cache</p>
<p>&nbsp;&#8212;- 其它 &#8212;-</p>
<p>linux有同时打开文件数限制,在访问量比较大的网站需要使用ulimit 增加同时打开文件数数.</p>
<p>ulimit 65533<br />/usr/local/sbin/squid -V</p>
<p>重新读取配置文件而不关闭squid.</p>
<p>/usr/local/sbin/squid -k reconfigure</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yening.cn/2006/05/08/84.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
