<?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>Linux for Fun 中文站</title>
	<atom:link href="http://zh.linuxforfun.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://zh.linuxforfun.net</link>
	<description>Just for Fun</description>
	<lastBuildDate>Mon, 22 Feb 2010 06:56:23 +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>Firefox flash 插件：没有声音</title>
		<link>http://zh.linuxforfun.net/2008/08/04/firefox-flash-no-sound/</link>
		<comments>http://zh.linuxforfun.net/2008/08/04/firefox-flash-no-sound/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 08:59:52 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[多媒体]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/?p=20</guid>
		<description><![CDATA[如果你在 Firefox 浏览器里欣赏 Flash 视频（如FLV等）时，听不到声音，排除系统硬件设置问题后，最有可能的原因是：你的系统上没安装 libflashsupport 这个软件包。你只需要安装这个软件包后，重新启动 Firefox，就可以解决这个问题了。
对于 Fedora, 可以执行下面的命令来安装 libflashsupport 这个软件包：
# yum install libflashsupport
]]></description>
			<content:encoded><![CDATA[<p>如果你在 Firefox 浏览器里欣赏 Flash 视频（如FLV等）时，听不到声音，排除系统硬件设置问题后，最有可能的原因是：你的系统上没安装 libflashsupport 这个软件包。你只需要安装这个软件包后，重新启动 Firefox，就可以解决这个问题了。</p>
<p>对于 Fedora, 可以执行下面的命令来安装 libflashsupport 这个软件包：</p>
<blockquote><p># yum install libflashsupport</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/08/04/firefox-flash-no-sound/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JDK/JRE 中文字体设置</title>
		<link>http://zh.linuxforfun.net/2008/04/30/jdk-chinese-fonts/</link>
		<comments>http://zh.linuxforfun.net/2008/04/30/jdk-chinese-fonts/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 14:21:12 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[中文字体]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/?p=19</guid>
		<description><![CDATA[从 http://java.sun.com/ 上下载 Java Development Kit (JDK) 或 Java Runtime Environment (JRE) 的安装包，在 Linux 系统上安装后，运行图形界面程序时，中文字符通常显示为方框。这是因为安装包里对中文系统的缺省配置跟系统的中文字体状况不匹配。
按 Sun 的文档描述，一个操作系统的字体配置文件，根据下列信息来确定：

 JavaHome &#8211; JRE 的目录
OS &#8211; 表示操作系统的种类的字符串：

对 Windows，为 &#8220;98&#8243;, &#8220;2000&#8243;, &#8220;Me&#8221;, &#8220;XP&#8221;, &#8220;2003&#8243;.
对 Solaris，为空.
对 Linux，为 &#8220;Sun&#8221;, &#8220;RedHat&#8221;, &#8220;Turbo&#8221;, &#8220;SuSE&#8221;.


Version &#8211; 表示操作系统版本的字符串

JRE 使用按下列顺序第一个找到的文件作为系统的字体配置文件：
JavaHome/lib/fontconfig.OS.Version.properties
JavaHome/lib/fontconfig.OS.Version.bfc
JavaHome/lib/fontconfig.OS.properties
JavaHome/lib/fontconfig.OS.bfc
JavaHome/lib/fontconfig.Version.properties
JavaHome/lib/fontconfig.Version.bfc
JavaHome/lib/fontconfig.properties
JavaHome/lib/fontconfig.bfc
上面的文件以 .properties 为扩展名的为文本文件，以 .bfc 结尾的是二进制文件。
按照这个文档的说明，我们可以按照下面的方法来配置中文字体。
1、确定系统的发布版类型，判别方法是 /etc 目录下的 release 文件：
/etc/redhat-release =&#62; RedHat
/etc/sun-release =&#62; Sun
/etc/turbolinux-release =&#62; Turbo
/etc/SuSE-release =&#62; SuSE
按这种判断方法，Fedora 等发源于 [...]]]></description>
			<content:encoded><![CDATA[<p>从 <a href="http://java.sun.com/" target="_blank">http://java.sun.com/</a> 上下载 Java Development Kit (JDK) 或 Java Runtime Environment (JRE) 的安装包，在 Linux 系统上安装后，运行图形界面程序时，中文字符通常显示为方框。这是因为安装包里对中文系统的缺省配置跟系统的中文字体状况不匹配。</p>
<p>按 Sun 的<a href="http://java.sun.com/j2se/1.5.0/docs/guide/intl/fontconfig.html" target="_blank">文档</a>描述，一个操作系统的字体配置文件，根据下列信息来确定：</p>
<ul>
<li> JavaHome &#8211; JRE 的目录</li>
<li>OS &#8211; 表示操作系统的种类的字符串：
<ul>
<li>对 Windows，为 &#8220;98&#8243;, &#8220;2000&#8243;, &#8220;Me&#8221;, &#8220;XP&#8221;, &#8220;2003&#8243;.</li>
<li>对 Solaris，为空.</li>
<li>对 Linux，为 &#8220;Sun&#8221;, &#8220;RedHat&#8221;, &#8220;Turbo&#8221;, &#8220;SuSE&#8221;.</li>
</ul>
</li>
<li>Version &#8211; 表示操作系统版本的字符串</li>
</ul>
<p><span id="more-19"></span>JRE 使用按下列顺序第一个找到的文件作为系统的字体配置文件：</p>
<blockquote><p>JavaHome/lib/fontconfig.OS.Version.properties<br />
JavaHome/lib/fontconfig.OS.Version.bfc<br />
JavaHome/lib/fontconfig.OS.properties<br />
JavaHome/lib/fontconfig.OS.bfc<br />
JavaHome/lib/fontconfig.Version.properties<br />
JavaHome/lib/fontconfig.Version.bfc<br />
JavaHome/lib/fontconfig.properties<br />
JavaHome/lib/fontconfig.bfc</p></blockquote>
<p>上面的文件以 .properties 为扩展名的为文本文件，以 .bfc 结尾的是二进制文件。</p>
<p>按照这个文档的说明，我们可以按照下面的方法来配置中文字体。</p>
<p>1、确定系统的发布版类型，判别方法是 /etc 目录下的 release 文件：</p>
<blockquote><p>/etc/redhat-release =&gt; RedHat<br />
/etc/sun-release =&gt; Sun<br />
/etc/turbolinux-release =&gt; Turbo<br />
/etc/SuSE-release =&gt; SuSE</p></blockquote>
<p>按这种判断方法，Fedora 等发源于 RedHat 的发布版都属于 RedHat 类。如果 /etc 目录下不存在上面 4 个文件的任何一个，则 OS 为空。</p>
<p>2、拷贝 JavaHome/lib/fontconfig.OS.properties.src 为 JavaHome/lib/fontconfig.OS.properties。如对于 Fedora：</p>
<blockquote><p><code># cp fontconfig.RedHat.properties.src fontconfig.RedHat.properties</code></p></blockquote>
<p>对于不属于上面 4 类的发布版，不妨拷贝 RedHat 的配置文件为 fontconfig.properties：</p>
<blockquote><p><code># cp fontconfig.RedHat.properties.src fontconfig.properties</code></p></blockquote>
<p>3、编辑上述 .properties 文件，在文件的“Font File Names”一节里，找到在下面一行：</p>
<blockquote><p><code>filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/chinese/TrueType/zysong.ttf</code></p></blockquote>
<p>将“=”号以后的中文字体文件名，改为本系统上存在的一个中文字体文件名。您如果愿意，可以修改其他几行，为繁体中文、日语、韩语等您可能用到的语言设置合适的字体。</p>
<p>经过这么简单的修改，Java 的图形界面程序就可以正确地显示中文了。</p>
<p>上面介绍的是设置中文字体的标准的做法。另外，还有一个“偷懒”的做法。这就是：不需要修改任何文件，只要创建一个新目录：</p>
<blockquote><p>JavaHome/lib/fonts/fallback/</p></blockquote>
<p>然后把中文字体的 TTF 文件拷贝到这个目录里就 OK 了！</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/04/30/jdk-chinese-fonts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用 cvsd 配置 cvs 服务器</title>
		<link>http://zh.linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver/</link>
		<comments>http://zh.linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 14:49:10 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[软件开发]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[cvsd]]></category>
		<category><![CDATA[开发]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/?p=18</guid>
		<description><![CDATA[CVS 服务器最初被设计成由“xinetd”启动。不过现在的 Linux 发布版大多缺省不再安装或启动 xinetd 了，并且 CVS 服务器的配置也比较复杂。cvsd 是一个对 CVS pserver 的包装程序，它可以把 CVS 启动成一个独立的服务，并用指定的 uid/gid 运行在 chroot 的环境下，其安全性有所提高。并且，cvsd 的配置也要相对简单些。
本文将描述如何使用 cvsd 配置一个 CVS pserver。
1、安装 cvsd 软件包
对于基于 RPM 的 Linux 发布版，本站提供了预编译的 RPM 下载：
cvsd-1.0.14-1.i386.rpm
cvsd-1.0.14-1.src.rpm (source)
对其他发布版，您可以从 cvsd 的原始站点下载 源代码包，自己编译和安装。

2、配置文件 /etc/cvsd/cvsd.conf
检查 cvsd 的配置文件。有几点需要注意：

RootJail：cvs 将运行的 chroot 根目录。缺省设置为
RootJail /var/lib/cvsd
对于基于 RPM 的发布版，cvsd 的安装包已经对这个目录进行了初始化：
# cvsd-buildroot /var/lib/cvsd
对于其他发布版，如果这个目录没有初始化；或者您在配置文件中改变了缺省目录“RootJail”，您就需要运行 cvsd-buildroot 命令手动初始化。
Uid 和 Gid: cvsd 运行时使用的用户 ID 和组 [...]]]></description>
			<content:encoded><![CDATA[<p>CVS 服务器最初被设计成由“xinetd”启动。不过现在的 Linux 发布版大多缺省不再安装或启动 xinetd 了，并且 CVS 服务器的配置也比较复杂。<a href="http://ch.tudelft.nl/~arthur/cvsd/">cvsd</a> 是一个对 CVS pserver 的包装程序，它可以把 CVS 启动成一个独立的服务，并用指定的 uid/gid 运行在 chroot 的环境下，其安全性有所提高。并且，cvsd 的配置也要相对简单些。</p>
<p>本文将描述如何使用 cvsd 配置一个 CVS pserver。</p>
<p><strong>1、安装 cvsd 软件包</strong></p>
<p>对于基于 RPM 的 Linux 发布版，本站提供了预编译的 RPM 下载：</p>
<blockquote><p><a href="http://linuxforfun.net/misc/cvsd-1.0.14-1.i386.rpm">cvsd-1.0.14-1.i386.rpm</a><br />
<a href="http://linuxforfun.net/misc/cvsd-1.0.14-1.src.rpm">cvsd-1.0.14-1.src.rpm</a> (source)</p></blockquote>
<p>对其他发布版，您可以从 cvsd 的原始站点下载 <a href="http://ch.tudelft.nl/~arthur/cvsd/downloads.html">源代码包</a>，自己编译和安装。</p>
<p><span id="more-18"></span></p>
<p><strong>2、配置文件 /etc/cvsd/cvsd.conf</strong></p>
<p>检查 cvsd 的配置文件。有几点需要注意：</p>
<ul>
<li>RootJail：cvs 将运行的 chroot 根目录。缺省设置为<br />
<blockquote><p><code>RootJail /var/lib/cvsd</code></p></blockquote>
<p>对于基于 RPM 的发布版，cvsd 的安装包已经对这个目录进行了初始化：</p>
<blockquote><p><code># cvsd-buildroot /var/lib/cvsd</code></p></blockquote>
<p>对于其他发布版，如果这个目录没有初始化；或者您在配置文件中改变了缺省目录“RootJail”，您就需要运行 cvsd-buildroot 命令手动初始化。</li>
<li>Uid 和 Gid: cvsd 运行时使用的用户 ID 和组 ID。缺省设置是：<br />
<blockquote><p><code>Uid cvsd<br />
Gid cvsd</code></p></blockquote>
<p>对于基于 RPM 的发布版，cvsd 的安装包已经创建了 cvsd 用户和组。对于其他发布版，您必须手动创建它们。</li>
<li>Repos: 软件仓库的路径，每个仓库在配置文件中用一行这个配置。每个路径都是相对于“RootJail”并且以“/”字符开头。例如：<br />
<blockquote><p><code>Repos /coolsoft<br />
Repos /hotsoft</code></p></blockquote>
</li>
</ul>
<p><strong>3、创建软件仓库</strong></p>
<p>创建软件仓库，如“coolsoft”，用如下命令：</p>
<blockquote><p><code># cvs -d /var/lib/cvsd/coolsoft init</code></p></blockquote>
<p>这个命令将创建目录 /var/lib/cvsd/coolsoft，并在其下创建一个 CVSROOT 目录树。</p>
<p>如果您允许用户创建此仓库的顶级目录：</p>
<blockquote><p><code># chown cvsd:cvsd /var/lib/cvsd/coolsoft</code></p></blockquote>
<p>编辑文件 <code>/var/lib/cvsd/coolsoft/CVSROOT/config</code> 修改“LockDir”选项：</p>
<blockquote><p><code>LockDir /tmp/coolsoft</code></p></blockquote>
<p>这个目录是相对于“RootJail”目录，如 /var/lib/cvsd。必须手工创建此目录：</p>
<blockquote><p><code># mkdir /var/lib/cvsd/tmp/coolsoft<br />
# chown cvsd:cvsd /var/lib/cvsd/tmp/coolsoft</code></p></blockquote>
<p>现在，创建所有可以访问这个仓库的用户和他们的密码：</p>
<blockquote><p><code># cvsd-passwd /var/lib/cvsd/coolsoft jack</code></p></blockquote>
<p>如果您允许匿名访问这个仓库，创建一个用户，名为“anonymous”或“anoncvs”，并设置密码为空：</p>
<blockquote><p><code># cvsd-passwd /var/lib/cvsd/coolsoft anoncvs</code></p></blockquote>
<p>创建新文件 <code>/var/lib/cvsd/coolsoft/CVSROOT/writers</code>：</p>
<blockquote><p><code># touch /var/lib/cvsd/coolsoft/CVSROOT/writers</code></p></blockquote>
<p>可以保护仓库的访问权限，否则所有的用户都可以对本仓库有写入权限。在这个文件里，加入所有可以对本仓库有写入权限的用户名，一行一个用户。</p>
<p>如果您不允许用户创建仓库的顶级目录，您可以先创建将要用到的顶级目录，以存放用户递交的文件：</p>
<blockquote><p><code># cd /var/lib/cvsd/coolsoft<br />
# mkdir client server<br />
# chown cvsd:cvsd client server</code></p></blockquote>
<p><strong>4、启动 cvsd，测试软件仓库及权限</strong></p>
<p>启动 cvsd，使用命令</p>
<blockquote><p><code># /etc/init.d/cvsd start</code></p></blockquote>
<p>测试新的仓库：</p>
<blockquote><p><code># cvs -d :pserver:jack@myhost.at.office/coolsoft login<br />
# cvs -d :pserver:jack@myhost.at.office/coolsoft co client</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>配置 VSFTPD －－另一种途径</title>
		<link>http://zh.linuxforfun.net/2008/04/15/vsftpd-virtual-users-another-approach/</link>
		<comments>http://zh.linuxforfun.net/2008/04/15/vsftpd-virtual-users-another-approach/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 15:54:35 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[vsftpd]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/?p=17</guid>
		<description><![CDATA[如果你正在维护一个提供虚拟空间的服务器，为安全起见，你可能希望网站管理员只能管理他自己的文件。一个好的解决方法是：为所有的管理员配置 VSFTPD 的虚拟用户和根目录。
在上一篇文章里，我介绍了如何配置 VSFTPD 的虚拟用户。本文将说明如何用另一种方法配置 VSFTPD，这个方法需要在系统上创建真实的用户。
1、安装 VSFTPD
对于 Red Hat, CentOS 和 Fedora 这些基于 RPM 的系统，可以用下面的命令安装 VSFTPD：
# yum install vsftpd
对于 Debian and Ubuntu，相应的命令是：
# apt-get install vsftpd
2、配置虚拟用户和密码验证
我们可以为每个虚拟网站的管理员创建一个真实的帐号。不过我们将只允许这些帐号使用 FTP 访问我们的服务器。
首先，使用“useradd”命令创建帐号。这里需要注意的一些要点是：

用户组：为方便网站管理员管理自己的文件，我们可以指定他们的帐号与系统的 HTTP 服务器运行时使用的组相同。对于 Apache 服务器，这个组通常是“apache”；对于 lighttpd，这个组通常是“lighttpd”。
虚拟目录：我们指定这些用户的主目录跟他们的虚拟网站的 DocumentRoot 一致。我们把这些目录的属性设置为 HTTP 服务器运行的用户组可写。
登录 shell：为了把虚拟用户限制在只能使用 FTP 登录，我们把他们的登录 shell 设置成 /sbin/nologin。

例如：
# useradd -g apache -d /var/www/vhosts/mike -s /sbin/nologin mike
# chmod g+w /var/www/vhosts/mike
# passwd mike
Changing [...]]]></description>
			<content:encoded><![CDATA[<p>如果你正在维护一个提供虚拟空间的服务器，为安全起见，你可能希望网站管理员只能管理他自己的文件。一个好的解决方法是：为所有的管理员配置 VSFTPD 的虚拟用户和根目录。</p>
<p>在<a href="http://zh.linuxforfun.net/2008/04/05/vsftpd-virtual-users/">上一篇文章</a>里，我介绍了如何配置 VSFTPD 的虚拟用户。本文将说明如何用另一种方法配置 VSFTPD，这个方法需要在系统上创建真实的用户。</p>
<p><strong>1、安装 VSFTPD</strong></p>
<p>对于 Red Hat, CentOS 和 Fedora 这些基于 RPM 的系统，可以用下面的命令安装 VSFTPD：</p>
<blockquote><p><code># yum install vsftpd</code></p></blockquote>
<p>对于 Debian and Ubuntu，相应的命令是：</p>
<blockquote><p><code># apt-get install vsftpd</code></p></blockquote>
<p><span id="more-17"></span><strong>2、配置虚拟用户和密码验证</strong></p>
<p>我们可以为每个虚拟网站的管理员创建一个真实的帐号。不过我们将只允许这些帐号使用 FTP 访问我们的服务器。<br />
首先，使用“useradd”命令创建帐号。这里需要注意的一些要点是：</p>
<ul>
<li><strong>用户组</strong>：为方便网站管理员管理自己的文件，我们可以指定他们的帐号与系统的 HTTP 服务器运行时使用的组相同。对于 Apache 服务器，这个组通常是“apache”；对于 lighttpd，这个组通常是“lighttpd”。</li>
<li><strong>虚拟目录</strong>：我们指定这些用户的主目录跟他们的虚拟网站的 DocumentRoot 一致。我们把这些目录的属性设置为 HTTP 服务器运行的用户组可写。</li>
<li><strong>登录 shell</strong>：为了把虚拟用户限制在只能使用 FTP 登录，我们把他们的登录 shell 设置成 /sbin/nologin。</li>
</ul>
<p>例如：</p>
<blockquote><p><code># useradd -g apache -d /var/www/vhosts/mike -s /sbin/nologin mike<br />
# chmod g+w /var/www/vhosts/mike<br />
# passwd mike<br />
Changing password for user mike.<br />
New UNIX password:<br />
Retype new UNIX password:<br />
passwd: all authentication tokens updated successfully.</code></p></blockquote>
<p><strong>3、配置 VSFTPD</strong></p>
<p>创建配置文件 /etc/vsftpd/vsftpd-virtual.conf：</p>
<blockquote><p><code># disables anonymous FTP<br />
anonymous_enable=NO<br />
# enables non-anonymous FTP<br />
local_enable=YES<br />
# enables uploads and new directories<br />
write_enable=YES<br />
# authentication of virtual uses<br />
pam_service_name=login<br />
# the virtual user is restricted to the virtual FTP area<br />
chroot_local_user=YES<br />
# runs vsftpd in standalone mode<br />
listen=YES<br />
# listens on this port for incoming FTP connections<br />
listen_port=60021<br />
# the minimum port to allocate for PASV style data connections<br />
pasv_min_port=62222<br />
# the maximum port to allocate for PASV style data connections<br />
pasv_max_port=63333<br />
# controls whether PORT style data connections use port 20 (ftp-data)<br />
connect_from_port_20=YES<br />
# the umask for file creation<br />
local_umask=022</code></p></blockquote>
<p><strong>5、启动 VSFTPD 并测试</strong></p>
<p>用下面的命令启动 VSFTPD：</p>
<blockquote><p><code># /usr/sbin/vsftpd /etc/vsftpd/vsftpd-virtual.conf</code></p></blockquote>
<p>用 lftp 命令测试虚拟用户的访问权限：</p>
<blockquote><p><code># lftp -u mike -p 60021 192.168.1.101</code></p></blockquote>
<p>所有的虚拟用户应该可以管理他目录下的所有子目录和文件。</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/04/15/vsftpd-virtual-users-another-approach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Be Linux &#8211; YouTube 上的 Linux 企鹅广告</title>
		<link>http://zh.linuxforfun.net/2008/04/15/be-linux-penguins-linux-ad-on-youtube/</link>
		<comments>http://zh.linuxforfun.net/2008/04/15/be-linux-penguins-linux-ad-on-youtube/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 03:27:35 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[其他]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[youtube]]></category>
		<category><![CDATA[视频]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/?p=16</guid>
		<description><![CDATA[Be Linux.
From: kroperx
Added: April 02, 2008
A little Ad i made editing a well known video from the B B C.
Song:
Joe Bongiorno &#8211; Chasing the Wind
from Destined
（这段视频改编自 http://www.youtube.com/watch?v=nrxmpihCjqw）
]]></description>
			<content:encoded><![CDATA[<p><a href="http://zh.linuxforfun.net/2008/04/15/be-linux-penguins-linux-ad-on-youtube/"><em>点击这里查看嵌入的视频。</em></a></p>
<p><strong>Be Linux.</strong><br />
From: kroperx</p>
<p>Added: April 02, 2008<br />
A little Ad i made editing a well known video from the B B C.</p>
<p>Song:<br />
Joe Bongiorno &#8211; Chasing the Wind<br />
from Destined</p>
<p>（这段视频改编自 http://www.youtube.com/watch?v=nrxmpihCjqw）</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/04/15/be-linux-penguins-linux-ad-on-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>配置 VSFTPD 的虚拟用户</title>
		<link>http://zh.linuxforfun.net/2008/04/05/vsftpd-virtual-users/</link>
		<comments>http://zh.linuxforfun.net/2008/04/05/vsftpd-virtual-users/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 08:38:34 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[vsftpd]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/2008/04/05/%e9%85%8d%e7%bd%ae-vsftpd-%e7%9a%84%e8%99%9a%e6%8b%9f%e7%94%a8%e6%88%b7/</guid>
		<description><![CDATA[如果你正在维护一个提供虚拟空间的服务器，为安全起见，你可能希望网站管理员只能管理他自己的文件。一个好的解决方法是：为所有的管理员配置 VSFTPD 的虚拟用户和根目录。下面我们就简明地解说一下如何做。
（参考：配置 VSFTPD 的虚拟用户－－另一种途径）
1、安装 of VSFTPD
对于 Red Hat, CentOS 和 Fedora 这些基于 RPM 的系统，可以用下面的命令安装 VSFTPD：
# yum install vsftpd
对于 Debian and Ubuntu，相应的命令是：
# apt-get install vsftpd
2、配置虚拟用户和密码验证
我们将使用 PAM 的 pam_userdb 来为虚拟用户提供密码验证。这需要一个 “db” 格式的数据库。我们需要“db_load”命令。对于 CentOS 和 Fedora，这个命令在 db4-utils 包里：
# yum install db4-utils
对于 Ubuntu：
# apt-get install db4.2-util
要创建“db”格式的文件，首先，我们创建一个普通文件文件“virtual-users.txt”，这个文件的格式非常简单，就是一行用户名，一行密码，循环往下写：
mary
123456
jack
654321
然后，执行下面的命令创建真正的数据库：
# db_load -T -t hash -f virtual-users.txt /etc/vsftpd/virtual-users.db
现在，创建一个 PAM 文件 /etc/pam.d/vsftpd-virtual 来使用这个数据库：
auth required [...]]]></description>
			<content:encoded><![CDATA[<p>如果你正在维护一个提供虚拟空间的服务器，为安全起见，你可能希望网站管理员只能管理他自己的文件。一个好的解决方法是：为所有的管理员配置 VSFTPD 的虚拟用户和根目录。下面我们就简明地解说一下如何做。<br />
（参考：<a href="http://zh.linuxforfun.net/2008/04/15/vsftpd-virtual-users-another-approach/">配置 VSFTPD 的虚拟用户－－另一种途径</a>）</p>
<p><strong>1、安装 of VSFTPD</strong></p>
<p>对于 Red Hat, CentOS 和 Fedora 这些基于 RPM 的系统，可以用下面的命令安装 VSFTPD：</p>
<blockquote><p><code># yum install vsftpd</code></p></blockquote>
<p>对于 Debian and Ubuntu，相应的命令是：</p>
<blockquote><p><code># apt-get install vsftpd</code></p></blockquote>
<p><span id="more-15"></span><strong>2、配置虚拟用户和密码验证</strong></p>
<p>我们将使用 PAM 的 pam_userdb 来为虚拟用户提供密码验证。这需要一个 “db” 格式的数据库。我们需要“db_load”命令。对于 CentOS 和 Fedora，这个命令在 db4-utils 包里：</p>
<blockquote><p><code># yum install db4-utils</code></p></blockquote>
<p>对于 Ubuntu：</p>
<blockquote><p><code># apt-get install db4.2-util</code></p></blockquote>
<p>要创建“db”格式的文件，首先，我们创建一个普通文件文件“virtual-users.txt”，这个文件的格式非常简单，就是一行用户名，一行密码，循环往下写：</p>
<blockquote><p><code>mary<br />
123456<br />
jack<br />
654321</code></p></blockquote>
<p>然后，执行下面的命令创建真正的数据库：</p>
<blockquote><p><code># db_load -T -t hash -f virtual-users.txt /etc/vsftpd/virtual-users.db</code></p></blockquote>
<p>现在，创建一个 PAM 文件 /etc/pam.d/vsftpd-virtual 来使用这个数据库：</p>
<blockquote><p><code>auth required pam_userdb.so db=/etc/vsftpd/virtual-users<br />
account required pam_userdb.so db=/etc/vsftpd/virtual-users</code></p></blockquote>
<p><strong>3、配置 VSFTPD</strong></p>
<p>创建配置文件 /etc/vsftpd/vsftpd-virtual.conf：</p>
<blockquote><p><code># disables anonymous FTP<br />
anonymous_enable=NO<br />
# enables non-anonymous FTP<br />
local_enable=YES<br />
# activates virtual users<br />
guest_enable=YES<br />
# virtual users to use local privs, not anon privs<br />
virtual_use_local_privs=YES<br />
# enables uploads and new directories<br />
write_enable=YES<br />
# the PAM file used by authentication of virtual uses<br />
pam_service_name=vsftpd-virtual<br />
# in conjunction with 'local_root',<br />
# specifies a home directory for each virtual user<br />
user_sub_token=$USER<br />
local_root=/var/www/virtual/$USER<br />
# the virtual user is restricted to the virtual FTP area<br />
chroot_local_user=YES<br />
# hides the FTP server user IDs and just display "ftp" in directory listings<br />
hide_ids=YES<br />
# runs vsftpd in standalone mode<br />
listen=YES<br />
# listens on this port for incoming FTP connections<br />
listen_port=60021<br />
# the minimum port to allocate for PASV style data connections<br />
pasv_min_port=62222<br />
# the maximum port to allocate for PASV style data connections<br />
pasv_max_port=63333<br />
# controls whether PORT style data connections use port 20 (ftp-data)<br />
connect_from_port_20=YES<br />
# the umask for file creation<br />
local_umask=022</code></p></blockquote>
<p><strong>4、创建用户主目录</strong></p>
<p>在上面的配置文件指定的目录下，创建所有虚拟用户的主目录（如果这些用户已经有自己的文件目录，只需要创建一个符号连接就可以了），并改变这些目录的属主为 ftp：</p>
<blockquote><p><code># mkdir /var/www/virtual/mary<br />
# chown ftp:ftp /var/www/virtual/mary</code></p></blockquote>
<p><strong>5、启动 VSFTPD 并测试</strong></p>
<p>用下面的命令启动 VSFTPD：</p>
<blockquote><p><code># /usr/sbin/vsftpd /etc/vsftpd/vsftpd-virtual.conf</code></p></blockquote>
<p>用 lftp 命令测试虚拟用户的访问权限：</p>
<blockquote><p><code># lftp -u mary -p 60021 192.168.1.101</code></p></blockquote>
<p>所有的虚拟用户应该可以管理他目录下的所有子目录和文件。</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/04/05/vsftpd-virtual-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flashblock &#8211; 相见恨晚的 Firefox 附加软件</title>
		<link>http://zh.linuxforfun.net/2008/03/16/flashblock/</link>
		<comments>http://zh.linuxforfun.net/2008/03/16/flashblock/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 01:18:50 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/2008/03/16/flashblock/</guid>
		<description><![CDATA[长期以来，我一直为 Firefox 的 Flash 插件烦恼。它总是占用大量的 CPU。特别是在一些门户网站的页面上，经常有十几、二十个 Flash 广告，我的老笔记本电脑一浏览含有大量 Flash 的网站，CPU 就 50% 以上，甚至 100%。不一会儿，笔记本电脑的风扇就开始呼呼地转。不胜其烦时，我想彻底删除 Flash 插件，可是偶尔还有浏览含有 Flash 页面的需求，比如现在越来越多类似 Youtube 的视频网站使用 FLV 作为内嵌页面的视频格式。这种烦恼持续了很长时间，直到有一天我发现了这个附加软件——Flashblock，那一瞬间，真有相见恨晚的感觉！
Flashblock 在网页加载时，阻止页面上所有的 Flash 自动开始播放；相反，它在页面 Flash 的相应位置显示一个类似“开始播放”的按钮。当你想播放某个 Flash 时，只要点击那个 Flash 位置上相应的播放按钮就可以了。Flashblock 还有白名单功能，你可以把你希望自动播放 Flash 的站点的域名加入白名单，如：把 .youtube.com  加入白名单，你就可以方便地观赏 Youtube 视频了！
现在，在浏览含有大量 Flash 广告的页面时，CPU 再也不会被额外占用了，我可以轻轻松松地 surfing the web，世界从此清静了！
]]></description>
			<content:encoded><![CDATA[<p>长期以来，我一直为 Firefox 的 Flash 插件烦恼。它总是占用大量的 CPU。特别是在一些门户网站的页面上，经常有十几、二十个 Flash 广告，我的老笔记本电脑一浏览含有大量 Flash 的网站，CPU 就 50% 以上，甚至 100%。不一会儿，笔记本电脑的风扇就开始呼呼地转。不胜其烦时，我想彻底删除 Flash 插件，可是偶尔还有浏览含有 Flash 页面的需求，比如现在越来越多类似 Youtube 的视频网站使用 FLV 作为内嵌页面的视频格式。这种烦恼持续了很长时间，直到有一天我发现了这个附加软件——<a href="https://addons.mozilla.org/zh-CN/firefox/addon/433">Flashblock</a>，那一瞬间，真有相见恨晚的感觉！</p>
<p>Flashblock 在网页加载时，阻止页面上所有的 Flash 自动开始播放；相反，它在页面 Flash 的相应位置显示一个类似“开始播放”的按钮。当你想播放某个 Flash 时，只要点击那个 Flash 位置上相应的播放按钮就可以了。Flashblock 还有白名单功能，你可以把你希望自动播放 Flash 的站点的域名加入白名单，如：把 .youtube.com  加入白名单，你就可以方便地观赏 Youtube 视频了！</p>
<p>现在，在浏览含有大量 Flash 广告的页面时，CPU 再也不会被额外占用了，我可以轻轻松松地 surfing the web，世界从此清静了！</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/03/16/flashblock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决 Google Toolbar 只能显示“下载书签&#8230;”问题</title>
		<link>http://zh.linuxforfun.net/2008/03/15/google-toolbar-bookmarks/</link>
		<comments>http://zh.linuxforfun.net/2008/03/15/google-toolbar-bookmarks/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 00:50:38 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bookmarks]]></category>
		<category><![CDATA[toolbar]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/2008/03/15/google-toolbar-bookmarks/</guid>
		<description><![CDATA[这两天尝试使用 Google Toolbar 上的书签功能，点击 Toolbar 上的书签按钮，只出现“下载书签&#8230;”几个字，而且是灰掉的。而在 Windows下的 Firefox里，Toolbar的导入 Firefox 书签、下载书签、添加书签等功能都是正常的。Linux下的 Google Toolbar 究竟有什么不同呢？
在 Google 上搜索了半天，才得知：原来是系统缺少 libstdc++.so.5 这个库文件导致的。这个库文件是老版本的 C++ 函数库，目前较新的 Linux 发布版一般缺省是不安装这个库的。故此，解决“下载书签&#8230;”问题的方法是：
1、安装包含 libstdc++.so.5 的软件包。对于 Fedora：
# yum install compat-libstdc++-33
对于 Ubuntu：
# sudo apt-get install libstdc++5
对于其他发布版，安装相应的软件包。
2、退出 Firefox，重新启动 Firefox，重新安装 Google Toolbar。这点非常重要，否则问题依然存在。
OK，现在就可以在 Google Toolbar 里看到自己的所有书签了！
]]></description>
			<content:encoded><![CDATA[<p>这两天尝试使用 Google Toolbar 上的书签功能，点击 Toolbar 上的书签按钮，只出现“下载书签&#8230;”几个字，而且是灰掉的。而在 Windows下的 Firefox里，Toolbar的导入 Firefox 书签、下载书签、添加书签等功能都是正常的。Linux下的 Google Toolbar 究竟有什么不同呢？</p>
<p>在 Google 上搜索了半天，才得知：原来是系统缺少 libstdc++.so.5 这个库文件导致的。这个库文件是老版本的 C++ 函数库，目前较新的 Linux 发布版一般缺省是不安装这个库的。故此，解决“下载书签&#8230;”问题的方法是：</p>
<p>1、安装包含 libstdc++.so.5 的软件包。对于 Fedora：</p>
<blockquote><p><code># yum install compat-libstdc++-33</code></p></blockquote>
<p>对于 Ubuntu：</p>
<blockquote><p><code># sudo apt-get install libstdc++5</code></p></blockquote>
<p>对于其他发布版，安装相应的软件包。</p>
<p>2、退出 Firefox，重新启动 Firefox，<strong>重新安装 Google Toolbar</strong>。这点非常重要，否则问题依然存在。</p>
<p>OK，现在就可以在 Google Toolbar 里看到自己的所有书签了！</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/03/15/google-toolbar-bookmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在使用 SmartRAID V 的服务器上安装 CentOS 5.1</title>
		<link>http://zh.linuxforfun.net/2008/03/04/smartraid-centos/</link>
		<comments>http://zh.linuxforfun.net/2008/03/04/smartraid-centos/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 02:59:01 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[smartraid v]]></category>
		<category><![CDATA[安装]]></category>
		<category><![CDATA[驱动]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/2008/03/04/%e5%9c%a8%e4%bd%bf%e7%94%a8-smartraid-v-%e7%9a%84%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85-centos-51/</guid>
		<description><![CDATA[公司有一台老旧的服务器，在闲置一年后，需要重新安装 Linux。鉴于 CentOS 更新比较方便，我尝试在这台使用 SmartRAID V 的服务器上安装 CentOS 5.1。安装过程遇到了不少困难，但最终成功安装了 CentOS 5.1。
服务器的基本配置：

2 x Intel(R) Xeon(TM) CPU 2.40GHz
4G Memory
Adaptec (formerly DPT) SmartRAID V Controller
6x 36704 MB SCSI disks
Intel Corporation 82545EM Gigabit Ethernet Controller
ATAPI 52X CD-ROM drive

安装过程描述如下：
0、做 RAID5
在安装之前，先用SmartRAID Storage Manager 做了一个 5 块硬盘组成的 RAID5，留了一块硬盘做 HotSpare。
1、安装介质
我下载的 Centos 5.1 安装盘是 DVD ISO。但服务器没有 DVD-ROM。所以先用 images/diskboot.img做了个 USB启动盘，尝试用 USB启动服务器，没有成功。不得已，只好用 images/boot.iso刻了一张可引导的 CD-ROM。在另一台 Linux 机器上把 [...]]]></description>
			<content:encoded><![CDATA[<p>公司有一台老旧的服务器，在闲置一年后，需要重新安装 Linux。鉴于 CentOS 更新比较方便，我尝试在这台使用 SmartRAID V 的服务器上安装 CentOS 5.1。安装过程遇到了不少困难，但最终成功安装了 CentOS 5.1。</p>
<p>服务器的基本配置：</p>
<ul>
<li>2 x Intel(R) Xeon(TM) CPU 2.40GHz</li>
<li>4G Memory</li>
<li>Adaptec (formerly DPT) SmartRAID V Controller</li>
<li>6x 36704 MB SCSI disks</li>
<li>Intel Corporation 82545EM Gigabit Ethernet Controller</li>
<li>ATAPI 52X CD-ROM drive</li>
</ul>
<p>安装过程描述如下：</p>
<p><span id="more-12"></span><strong>0、做 RAID5</strong></p>
<p>在安装之前，先用SmartRAID Storage Manager 做了一个 5 块硬盘组成的 RAID5，留了一块硬盘做 HotSpare。</p>
<p><strong>1、安装介质</strong></p>
<p>我下载的 Centos 5.1 安装盘是 DVD ISO。但服务器没有 DVD-ROM。所以先用 images/diskboot.img做了个 USB启动盘，尝试用 USB启动服务器，没有成功。不得已，只好用 images/boot.iso刻了一张可引导的 CD-ROM。在另一台 Linux 机器上把 DVD ISO 加载到 Apache 服务器的一个目录下，准备使用 HTTP 方式安装。</p>
<p><strong>2、引导，加载 RAID 驱动</strong></p>
<p>用安装盘引导后， 选择 HTTP 安装介质，配置网络参数和 HTTP 服务器地址，安装过程进入图形界面。这时，如果直接选择 ”Next“ 进入下一个步骤，系统将无法识别任何硬盘！这是因为：CentOS没有将 SmartRAID V的驱动放进用于安装的内核里！</p>
<p>解决方法是：事前将安装盘中的   CentOS/kernel-2.6.18-53.el5.i686.rpm 解开，把下列两个驱动模块文件：</p>
<blockquote><p><code>/lib/modules/2.6.18-53.el5/kernel/drivers/message/i2o/i2o_block.ko<br />
/lib/modules/2.6.18-53.el5/kernel/drivers/message/i2o/i2o_scsi.ko</code></p></blockquote>
<p>拷贝到 HTTP 服务器的某个目录下，让要安装的服务器可以取得到。</p>
<p>然后，在图形安装界面下，按 Ctrl-Alt-F2 切换到命令行模式，运行 wget 命令将上面两个驱动文件取过来。然后执行命令：</p>
<blockquote><p><code># insmod i2o_block.ko<br />
# insmod i2o_scsi.ko</code></p></blockquote>
<p>加载 i2o_scsi.ko 时，可能需要好几分钟。</p>
<p>上面两条命令执行完毕后，按 Ctrl-Alt-F6 切换回图形安装界面，点击“Next”进入下一个步骤。这时会弹出一个错误窗口，大致内容是：</p>
<blockquote><p>Error opening /dev/sda: No such device or address</p></blockquote>
<p>不用管它，点击错误窗口的“Cancel”忽略它。这时，安装程序就可以成功地找到我们刚才在 Storage Manager 里做的 RAID5 硬盘 /dev/i2o/hda了。找到硬盘后，我们就可以按通常的步骤分区，安装操作系统了。</p>
<p>（在分区的时候，一开始我使用了缺省的 LVM，但是安装完成后引导时，进入 runlevel 3后，引导几乎处于停顿状态，系统不可用。没有找到原因。重新开始安装过程，选择自己手工分区，不使用 LVM。安装完成后引导一切正常。）</p>
<p><strong>3、制作 initrd</strong></p>
<p>软件包安装完成后，不能点击“Reboot”马上重新启动。因为 i2o_block.ko 和 i2o_scsi.ko并不在 CentOS 内核缺省的 initrd 文件里。这时重新启动，系统将无法引导。</p>
<p>在最后一个图形安装界面下，按 Ctrl-Alt-F2 重新切换到命令行状态，执行如下命令：</p>
<blockquote><p><code># chroot /mnt/sysimage /bin/bash<br />
# /sbin/mkinitrd -f --preload=i2o_block --preload=i2o_scsi  \<br />
/boot/initrd-2.6.18-53.el5PAE.img  2.6.18-53.el5PAE<br />
# exit</code></p></blockquote>
<p>然后，按 Ctrl-Alt-F6 切换回图形安装界面，点击“Reboot”重新启动系统。大功告成！</p>
<p>以后，凡是升级内核后，都要执行上面的 mkinitrd 命令，把 i2o_block  和  i2o_scsi  两个模块加进  initrd  文件。</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/03/04/smartraid-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在 Windows IIS 6 上配置 WordPress</title>
		<link>http://zh.linuxforfun.net/2008/01/29/wordpress-windows-iis-6/</link>
		<comments>http://zh.linuxforfun.net/2008/01/29/wordpress-windows-iis-6/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 14:13:16 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/2008/01/29/%e5%9c%a8-windows-iis-6-%e4%b8%8a%e9%85%8d%e7%bd%ae-wordpress/</guid>
		<description><![CDATA[今天帮助一位同事把 WordPress 博客从一个 Linux 服务器上迁移到租用的一个运行 IIS 6 的 Windows 2003 服务器空间上。由于是租用空间，所以能配置的东西有限。在安装和配置 WordPress 2.3.2 时遇到了一些困难；经过摸索和 google 搜索，最后迁移成功。
首先，在 Linux 服务器上：
1、通过 WordPress Admin Panel，把以前的文章、评论和页面 Export 成一个 XML 文件。
2、把 wordpress 下所有文件打了个 ZIP 包 wordpress.zip。
然后：
3、把 wordpress.zip 展开并传递到租用的 Windows 服务器的个人空间的 blog 子目录下。
4、修改租用空间的参数，添加 index.php 作为缺省主页之一。
5、修改 wp-config.php，设置相应的 MySQL 参数。
6、通过浏览器运行 http://www.picksth.com/blog/ 配置 WordPress。
7、在 WordPress Admin Panel 里，Import 刚才保存的以前的文章、评论和页面。
8、修改其他配置：如基本信息、插件等。

在修改永久链接时，发现这个 IIS 6 只支持下列形式的永久链接：
 http://www.picksth.com/blog/index.php/2008/01/25/softfix/
就是说，这个 IIS 6 [...]]]></description>
			<content:encoded><![CDATA[<p>今天帮助一位同事把 WordPress 博客从一个 Linux 服务器上迁移到租用的一个运行 IIS 6 的 Windows 2003 服务器空间上。由于是租用空间，所以能配置的东西有限。在安装和配置 WordPress 2.3.2 时遇到了一些困难；经过摸索和 google 搜索，最后迁移成功。</p>
<p>首先，在 Linux 服务器上：</p>
<p>1、通过 WordPress Admin Panel，把以前的文章、评论和页面 Export 成一个 XML 文件。<br />
2、把 wordpress 下所有文件打了个 ZIP 包 wordpress.zip。</p>
<p>然后：</p>
<p>3、把 wordpress.zip 展开并传递到租用的 Windows 服务器的个人空间的 blog 子目录下。<br />
4、修改租用空间的参数，添加 index.php 作为缺省主页之一。<br />
5、修改 wp-config.php，设置相应的 MySQL 参数。<br />
6、通过浏览器运行 http://www.picksth.com/blog/ 配置 WordPress。<br />
7、在 WordPress Admin Panel 里，Import 刚才保存的以前的文章、评论和页面。<br />
8、修改其他配置：如基本信息、插件等。<br />
<span id="more-11"></span><br />
在修改永久链接时，发现这个 IIS 6 只支持下列形式的永久链接：</p>
<blockquote><p><a href="http://www.picksth.com/blog/index.php/2008/01/25/softfix/"> http://www.picksth.com/blog/index.php/2008/01/25/softfix/</a></p></blockquote>
<p>就是说，这个 IIS 6 不支持 mod_rewrite，但是幸运的是，它支持 PATH_INFO。虽然不喜欢多一个 index.php/，但是由于租用空间的配置限制，也只能如此了。</p>
<p>以上配置完毕后，WordPress 基本工作了。但是，发现了两个严重问题：</p>
<p>1、原来永久链接含有中文字符的文章、分类和标签统统不灵了，总是显示 not found。<br />
2、标签云显示的标签全是编号了。</p>
<p>对于第一个问题，一开始不知道是什么原因。同事只好决定手工甚至所有的 slug 为英文。就在这项工程快完工时，我在 google 上搜索到<a href="http://wordpress.org.cn/forums/viewthread.php?tid=9437">这个帖子</a>，按照其中的介绍，修改了 wp-includes/classes.php，把第 44 行开始的几行略做修改，修改前的代码：</p>
<pre>			if ( isset($_SERVER['PATH_INFO']) )
				$pathinfo = $_SERVER['PATH_INFO'];
			else
				$pathinfo = '';
			$pathinfo_array = explode('?', $pathinfo);
			$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
			$req_uri = $_SERVER['REQUEST_URI'];</pre>
<p>修改后的代码：</p>
<pre>			if ( isset($_SERVER['PATH_INFO']) )
				$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
			else
				$pathinfo = '';
			$pathinfo_array = explode('?', $pathinfo);
			$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
			$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");</pre>
<p>修改之后，果然 IIS 6 也可以支持中文的 URL 了！</p>
<p>对于第二个问题，没有找到解决方法；只好把所有文章的标签重新编辑一遍，其后页面的标签显示就正常了。</p>
<p>从这次迁移的过程看，Apache 和 IIS 在诸多方面还是很不一样的。所以，迁移是个体力活哦！轻易不要迁移！</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/01/29/wordpress-windows-iis-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
