<?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>chenpc's unix home</title>
	<atom:link href="http://pclinux.csie.in/feed/" rel="self" type="application/rss+xml" />
	<link>http://pclinux.csie.in</link>
	<description>Do It in Linux's way</description>
	<lastBuildDate>Mon, 16 Nov 2009 11:36:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>把ssh-key加到遠端電腦</title>
		<link>http://pclinux.csie.in/2009/11/16/%e6%8a%8assh-key%e5%8a%a0%e5%88%b0%e9%81%a0%e7%ab%af%e9%9b%bb%e8%85%a6/</link>
		<comments>http://pclinux.csie.in/2009/11/16/%e6%8a%8assh-key%e5%8a%a0%e5%88%b0%e9%81%a0%e7%ab%af%e9%9b%bb%e8%85%a6/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 11:36:31 +0000</pubDate>
		<dc:creator>chenpc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://pclinux.csie.in/?p=50</guid>
		<description><![CDATA[ssh-copy-id -i .ssh/id_rsa.pub root@remotehost
]]></description>
			<content:encoded><![CDATA[<p>ssh-copy-id -i .ssh/id_rsa.pub root@remotehost</p>
]]></content:encoded>
			<wfw:commentRss>http://pclinux.csie.in/2009/11/16/%e6%8a%8assh-key%e5%8a%a0%e5%88%b0%e9%81%a0%e7%ab%af%e9%9b%bb%e8%85%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>上班族ssh tunnel求生手冊</title>
		<link>http://pclinux.csie.in/2009/10/20/%e4%b8%8a%e7%8f%ad%e6%97%8fssh-tunnel%e6%b1%82%e7%94%9f%e6%89%8b%e5%86%8a/</link>
		<comments>http://pclinux.csie.in/2009/10/20/%e4%b8%8a%e7%8f%ad%e6%97%8fssh-tunnel%e6%b1%82%e7%94%9f%e6%89%8b%e5%86%8a/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 13:06:37 +0000</pubDate>
		<dc:creator>chenpc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://pclinux.csie.in/?p=46</guid>
		<description><![CDATA[常常阿，在上班，但是想打個BBS，上個plurk，開個msn聊聊天。但是卻擔心網管監控你的一舉一動。於是可以透過ssh tunnel來把自己的連線加密，這樣就不會被看光光啦。
範例1：
在公司，透過外面的電腦當proxy，連到外面。
ssh -NfD 8888 remote_ip
-N : 不執行任何命令
-f : 在背景執行
-D : 建socks5 的proxy
這時候,瀏覽器和msn在socks 5 proxy設定的欄位填上localhost:8888 。
連出去的連驗就是加密，並且是穿過remot_ip的連線。
範例2:
在公司，透過外面的電腦連BBS。
ssh -NfL 2323:bbs.gamer.com.tw:23 remote_ip
-L : 將local port 轉向
telnet localhost 2323  就可以連到巴哈，而且是加密的。
也可用PCManx連localhost 2323也是一樣的意思。
範例3:
有時候假日，想要連回公司加個班。
但是公司是NAT，所以沒辦法這樣作。
可以運用TCP雙向傳輸的特性來辦到這件事。
ssh -NfR 2222:localhost:22 remote_ip
-R : 將remote port轉向
這時候，只要跑到remote_ip的機器上面
ssh localhost -p 2222
就會跑到在NAT後面，公司的機器。
簡單說就是開後門啦！
]]></description>
			<content:encoded><![CDATA[<p>常常阿，在上班，但是想打個BBS，上個plurk，開個msn聊聊天。但是卻擔心網管監控你的一舉一動。於是可以透過ssh tunnel來把自己的連線加密，這樣就不會被看光光啦。</p>
<p>範例1：<br />
在公司，透過外面的電腦當proxy，連到外面。</p>
<div style="border: 1px solid;">ssh -NfD 8888 remote_ip<br />
-N : 不執行任何命令<br />
-f : 在背景執行<br />
-D : 建socks5 的proxy</div>
<p>這時候,瀏覽器和msn在socks 5 proxy設定的欄位填上localhost:8888 。<br />
連出去的連驗就是加密，並且是穿過remot_ip的連線。</p>
<p>範例2:<br />
在公司，透過外面的電腦連BBS。</p>
<div style="border: 1px solid;">ssh -NfL 2323:bbs.gamer.com.tw:23 remote_ip<br />
-L : 將local port 轉向</div>
<p>telnet localhost 2323  就可以連到巴哈，而且是加密的。<br />
也可用PCManx連localhost 2323也是一樣的意思。</p>
<p>範例3:<br />
有時候假日，想要連回公司加個班。<br />
但是公司是NAT，所以沒辦法這樣作。<br />
可以運用TCP雙向傳輸的特性來辦到這件事。</p>
<div style="border: 1px solid;">ssh -NfR 2222:localhost:22 remote_ip<br />
-R : 將remote port轉向</div>
<p>這時候，只要跑到remote_ip的機器上面<br />
ssh localhost -p 2222<br />
就會跑到在NAT後面，公司的機器。<br />
簡單說就是開後門啦！</p>
]]></content:encoded>
			<wfw:commentRss>http://pclinux.csie.in/2009/10/20/%e4%b8%8a%e7%8f%ad%e6%97%8fssh-tunnel%e6%b1%82%e7%94%9f%e6%89%8b%e5%86%8a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash 基本設定檔</title>
		<link>http://pclinux.csie.in/2009/05/19/bash-%e5%9f%ba%e6%9c%ac%e8%a8%ad%e5%ae%9a%e6%aa%94/</link>
		<comments>http://pclinux.csie.in/2009/05/19/bash-%e5%9f%ba%e6%9c%ac%e8%a8%ad%e5%ae%9a%e6%aa%94/#comments</comments>
		<pubDate>Mon, 18 May 2009 16:36:10 +0000</pubDate>
		<dc:creator>chenpc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[BSD]]></category>

		<guid isPermaLink="false">http://pclinux.csie.in/?p=43</guid>
		<description><![CDATA[=====bashrc=======
if [[ $- != *i* ]] ; then
# Shell is non-interactive.  Be done now!
return
fi
PATH=&#8221;/usr/pkg/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}&#8221;
LANG=en_US.UTF-8
PS1=&#8217;\[\033[01;34m\](\033[01;32m\]\h\[\033[01;00m\]:\033[01;34m\]\w)\[\033[01;32m\] \u%\[\033[00m\] &#8216;
INPUTRC=~/.inputrc
export PATH LANG PS1 INPUTRC
if [[ $OSTYPE == 'netbsd' ]];
then
alias ls=&#8217;gls &#8211;color&#8217;
fi
=====inputrc=======
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
&#8220;\e[1~&#8221;: beginning-of-line
&#8220;\e[4~&#8221;: end-of-line
&#8220;\e[5~&#8221;: beginning-of-history
&#8220;\e[6~&#8221;: end-of-history
&#8220;\e[3~&#8221;: delete-char
&#8220;\e[2~&#8221;: quoted-insert
&#8220;\e[5C&#8221;: forward-word
&#8220;\e[5D&#8221;: backward-word
]]></description>
			<content:encoded><![CDATA[<p>=====bashrc=======</p>
<p>if [[ $- != *i* ]] ; then<br />
# Shell is non-interactive.  Be done now!<br />
return<br />
fi</p>
<p>PATH=&#8221;/usr/pkg/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}&#8221;<br />
LANG=en_US.UTF-8<br />
PS1=&#8217;\[\033[01;34m\](\033[01;32m\]\h\[\033[01;00m\]:\033[01;34m\]\w)\[\033[01;32m\] \u%\[\033[00m\] &#8216;<br />
INPUTRC=~/.inputrc<br />
export PATH LANG PS1 INPUTRC<br />
if [[ $OSTYPE == 'netbsd' ]];<br />
then<br />
alias ls=&#8217;gls &#8211;color&#8217;<br />
fi<br />
=====inputrc=======</p>
<p>set meta-flag on<br />
set input-meta on<br />
set convert-meta off<br />
set output-meta on<br />
&#8220;\e[1~&#8221;: beginning-of-line<br />
&#8220;\e[4~&#8221;: end-of-line<br />
&#8220;\e[5~&#8221;: beginning-of-history<br />
&#8220;\e[6~&#8221;: end-of-history<br />
&#8220;\e[3~&#8221;: delete-char<br />
&#8220;\e[2~&#8221;: quoted-insert<br />
&#8220;\e[5C&#8221;: forward-word<br />
&#8220;\e[5D&#8221;: backward-word</p>
]]></content:encoded>
			<wfw:commentRss>http://pclinux.csie.in/2009/05/19/bash-%e5%9f%ba%e6%9c%ac%e8%a8%ad%e5%ae%9a%e6%aa%94/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>利用/dev/shm 加速 portage運作</title>
		<link>http://pclinux.csie.in/2009/05/13/%e5%88%a9%e7%94%a8devshm-%e5%8a%a0%e9%80%9f-portage%e9%81%8b%e4%bd%9c/</link>
		<comments>http://pclinux.csie.in/2009/05/13/%e5%88%a9%e7%94%a8devshm-%e5%8a%a0%e9%80%9f-portage%e9%81%8b%e4%bd%9c/#comments</comments>
		<pubDate>Wed, 13 May 2009 11:43:25 +0000</pubDate>
		<dc:creator>chenpc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://pclinux.csie.in/?p=40</guid>
		<description><![CDATA[原理大致上是利用/dev/shm把portage放到記憶體裡面去。
而portage的特性是容量沒有很大，但是小檔案很多。
而小檔案在硬碟上面操作速度很慢，不管是sync或者是search。
我想要做的是寫一個boot up script，可以在開機的時候把portage tar開。
關機的時候把portage打包起來。
所以情況是
start: HD(portage.tar.gz)-&#62;RAM(/dev/shm/portage)
stop:  RAM(/dev/shm/portage) -&#62; HD(portage.tar.gz)
不管start or stop都不會讓硬碟作大量的小檔案存取。
作法：



mv /usr/portage /usr/portage.bak
mkdir /dev/shm/portage
ln -sf /dev/shm/portage /usr/portage
emerge --sync


這樣你的portage就在ram裡面了。



/etc/init.d/portage start       ---&#62;解開你的portage
/etc/init.d/portage stop        ---&#62;備份你的portage


在/etc/conf.d/portage裡面，指定你要備份的目錄。



PORTAGE_DIR=/dev/shm/portage     #放portage的目錄。
BACKUP_DIR=/usr                  #放備份檔的目錄，記得不要放在/tmp，重開機可能會被清掉。


記得/usr/portage/distfiles 和packages 要移出來。
這部份可以在/etc/make.conf裡面用：



PKGDIR="somewhere"
DISTIDR="somewhere"

在make.conf指定，或是用link把他link進去。
http://dsppc16.cs.nctu.edu.tw/~chenpc/portage
這裡是一個run script，放到/etc/init.d下面。
執行



/etc/init.d/portage start&#124;stop&#124;restart

即可
程式已經有稍微防呆，只要portage裡面有檔案他就不會tar 開。
裡面要是沒有檔案，他也不會打包。
目前我還沒遇到問題，但是使用前最好還是確定自己有備份。
效能：
df -h顯示shm吃了大約500MB，但是top看到只加了130MB左右，不知道怎麼回事。
RAM很多的話，可以玩看看。
start的速度大概是5秒。stop的速度也差不多5秒。
而emerge search速度非常快。
我的機器是：E8400,4G RAM,WD6400AACS。
]]></description>
			<content:encoded><![CDATA[<p>原理大致上是利用/dev/shm把portage放到記憶體裡面去。<br />
而portage的特性是容量沒有很大，但是小檔案很多。<br />
而小檔案在硬碟上面操作速度很慢，不管是sync或者是search。</p>
<p>我想要做的是寫一個boot up script，可以在開機的時候把portage tar開。<br />
關機的時候把portage打包起來。</p>
<p>所以情況是<br />
start: HD(portage.tar.gz)-&gt;RAM(/dev/shm/portage)<br />
stop:  RAM(/dev/shm/portage) -&gt; HD(portage.tar.gz)<br />
不管start or stop都不會讓硬碟作大量的小檔案存取。</p>
<p>作法：</p>
<dl class="codebox">
<dt><a onclick="selectCode(this); return false;" href="http://forums.gentoo.tw/viewtopic.php?f=22&amp;t=44494#"><br />
</a></dt>
<dd><code>mv /usr/portage /usr/portage.bak<br />
mkdir /dev/shm/portage<br />
ln -sf /dev/shm/portage /usr/portage<br />
emerge --sync<br />
</code></dd>
</dl>
<p>這樣你的portage就在ram裡面了。</p>
<dl class="codebox">
<dt><a onclick="selectCode(this); return false;" href="http://forums.gentoo.tw/viewtopic.php?f=22&amp;t=44494#"><br />
</a></dt>
<dd><code>/etc/init.d/portage start       ---&gt;解開你的portage<br />
/etc/init.d/portage stop        ---&gt;備份你的portage<br />
</code></dd>
</dl>
<p>在/etc/conf.d/portage裡面，指定你要備份的目錄。</p>
<dl class="codebox">
<dt><a onclick="selectCode(this); return false;" href="http://forums.gentoo.tw/viewtopic.php?f=22&amp;t=44494#"><br />
</a></dt>
<dd><code>PORTAGE_DIR=/dev/shm/portage     #放portage的目錄。<br />
BACKUP_DIR=/usr                  #放備份檔的目錄，記得不要放在/tmp，重開機可能會被清掉。<br />
</code></dd>
</dl>
<p>記得/usr/portage/distfiles 和packages 要移出來。<br />
這部份可以在/etc/make.conf裡面用：</p>
<dl class="codebox">
<dt><a onclick="selectCode(this); return false;" href="http://forums.gentoo.tw/viewtopic.php?f=22&amp;t=44494#"><br />
</a></dt>
<dd><code>PKGDIR="somewhere"<br />
DISTIDR="somewhere"</code></dd>
</dl>
<p>在make.conf指定，或是用link把他link進去。<br />
<a class="postlink" href="http://dsppc16.cs.nctu.edu.tw/%7Echenpc/portage">http://dsppc16.cs.nctu.edu.tw/~chenpc/portage</a><br />
這裡是一個run script，放到/etc/init.d下面。<br />
執行</p>
<dl class="codebox">
<dt><a onclick="selectCode(this); return false;" href="http://forums.gentoo.tw/viewtopic.php?f=22&amp;t=44494#"><br />
</a></dt>
<dd><code>/etc/init.d/portage start|stop|restart</code></dd>
</dl>
<p>即可<br />
程式已經有稍微防呆，只要portage裡面有檔案他就不會tar 開。<br />
裡面要是沒有檔案，他也不會打包。</p>
<p>目前我還沒遇到問題，但是使用前最好還是確定自己有備份。</p>
<p>效能：<br />
df -h顯示shm吃了大約500MB，但是top看到只加了130MB左右，不知道怎麼回事。<br />
RAM很多的話，可以玩看看。<br />
start的速度大概是5秒。stop的速度也差不多5秒。<br />
而emerge search速度非常快。<br />
我的機器是：E8400,4G RAM,WD6400AACS。</p>
]]></content:encoded>
			<wfw:commentRss>http://pclinux.csie.in/2009/05/13/%e5%88%a9%e7%94%a8devshm-%e5%8a%a0%e9%80%9f-portage%e9%81%8b%e4%bd%9c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>libconfig 用法</title>
		<link>http://pclinux.csie.in/2009/05/08/libconfig-%e7%94%a8%e6%b3%95/</link>
		<comments>http://pclinux.csie.in/2009/05/08/libconfig-%e7%94%a8%e6%b3%95/#comments</comments>
		<pubDate>Fri, 08 May 2009 09:38:38 +0000</pubDate>
		<dc:creator>chenpc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Program]]></category>

		<guid isPermaLink="false">http://pclinux.csie.in/?p=38</guid>
		<description><![CDATA[簡介：libconfig是一個config file 的parser，非常小只有38k，適合用在容量受限制的系統。
用法：
gcc -lconfig
=程式範例=
#include &#60;libconfig.h&#62;
config_t conf;
const char *hostname;
config_init(&#38;conf);
hostname=(char*)config_lookup_string(&#38;conf,&#8221;host&#8221;);
=設定檔範例=
host=&#8221;10.1.0.1&#8243;;
]]></description>
			<content:encoded><![CDATA[<p>簡介：libconfig是一個config file 的parser，非常小只有38k，適合用在容量受限制的系統。</p>
<p>用法：</p>
<p>gcc -lconfig<br />
=程式範例=</p>
<p>#include &lt;libconfig.h&gt;<br />
config_t conf;<br />
const char *hostname;<br />
config_init(&amp;conf);<br />
hostname=(char*)config_lookup_string(&amp;conf,&#8221;host&#8221;);<br />
=設定檔範例=</p>
<p>host=&#8221;10.1.0.1&#8243;;</p>
]]></content:encoded>
			<wfw:commentRss>http://pclinux.csie.in/2009/05/08/libconfig-%e7%94%a8%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Move ext3 to ext4</title>
		<link>http://pclinux.csie.in/2009/05/08/move-ext3-to-ext4/</link>
		<comments>http://pclinux.csie.in/2009/05/08/move-ext3-to-ext4/#comments</comments>
		<pubDate>Fri, 08 May 2009 05:36:03 +0000</pubDate>
		<dc:creator>chenpc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://pclinux.csie.in/?p=36</guid>
		<description><![CDATA[tune2fs -O extents,uninit_bg,dir_index /dev/sdxx
]]></description>
			<content:encoded><![CDATA[<pre><strong><strong>tune2fs -O extents,uninit_bg,dir_index /dev/sdxx</strong></strong></pre>
]]></content:encoded>
			<wfw:commentRss>http://pclinux.csie.in/2009/05/08/move-ext3-to-ext4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>suPHP</title>
		<link>http://pclinux.csie.in/2009/04/03/22/</link>
		<comments>http://pclinux.csie.in/2009/04/03/22/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 00:36:16 +0000</pubDate>
		<dc:creator>chenpc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://pclinux.csie.net/2009/04/03/22/</guid>
		<description><![CDATA[首先，我們常常會遇到的問題是，當很多人一起用一台機器的時候，UNIX自己有一套管理使用者權限的辦法。但是在處理www的服務時，卻是公用一個www 的帳號來處理使用者的網頁目錄。比方說，使用useridr時，我的家目錄 &#8220;/home/chenpc/public_html&#8221; 必須是www可以讀取的。這樣www才有辦法讀到我的網頁。如果我要在我家目錄上架一個blog or forum，勢必有關於mysql密碼的設定檔。wordpress為例，wp-config.php裡面放著access資料庫的密碼。由於使用者沒辦 法把這個檔案設定成只有www可以read，所以他的權限必須是&#8221;other can read&#8221;。這樣一來，同樣在這台機器上的使用者可以用cat wp-config.php讀取你的密碼。這樣一來問題非常嚴重。另一個問題是，當你要使用上傳檔案功能的時候，必須有一個目錄是777，因為必須 讓&#8221;other can write&#8221;。所以suphp可以用來解決這個問題。
安裝和設定方法參考http://www.suphp.org/Home.html。
使用suphp之後，寫一個php內容為：

&#60;?php
system("id")
?&#62;

這樣他會顯示出你的id，也就是說，他是依照檔案owner的權限去改變執行權限。也就是說，你自己的檔案會用你自己的權限去跑。wp- config.php可以使用700這種自己才讀得到得權限。當你機器很多人在使用的時候，可以考慮用這種方法才保護每個人的檔案安全性。
]]></description>
			<content:encoded><![CDATA[<p>首先，我們常常會遇到的問題是，當很多人一起用一台機器的時候，UNIX自己有一套管理使用者權限的辦法。但是在處理www的服務時，卻是公用一個www 的帳號來處理使用者的網頁目錄。比方說，使用useridr時，我的家目錄 &#8220;/home/chenpc/public_html&#8221; 必須是www可以讀取的。這樣www才有辦法讀到我的網頁。如果我要在我家目錄上架一個blog or forum，勢必有關於mysql密碼的設定檔。wordpress為例，wp-config.php裡面放著access資料庫的密碼。由於使用者沒辦 法把這個檔案設定成只有www可以read，所以他的權限必須是&#8221;other can read&#8221;。這樣一來，同樣在這台機器上的使用者可以用cat wp-config.php讀取你的密碼。這樣一來問題非常嚴重。另一個問題是，當你要使用上傳檔案功能的時候，必須有一個目錄是777，因為必須 讓&#8221;other can write&#8221;。所以suphp可以用來解決這個問題。<br />
安裝和設定方法參考<a class="postlink" href="http://www.suphp.org/Home.html">http://www.suphp.org/Home.html</a>。</p>
<p>使用suphp之後，寫一個php內容為：</p>
<dl class="codebox">
<dd><code>&lt;?php<br />
system("id")<br />
?&gt;</code></dd>
</dl>
<p>這樣他會顯示出你的id，也就是說，他是依照檔案owner的權限去改變執行權限。也就是說，你自己的檔案會用你自己的權限去跑。wp- config.php可以使用700這種自己才讀得到得權限。當你機器很多人在使用的時候，可以考慮用這種方法才保護每個人的檔案安全性。</p>
]]></content:encoded>
			<wfw:commentRss>http://pclinux.csie.in/2009/04/03/22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>高彈性的Virtual hosting</title>
		<link>http://pclinux.csie.in/2009/04/03/%e9%ab%98%e5%bd%88%e6%80%a7%e7%9a%84virtual-hosting/</link>
		<comments>http://pclinux.csie.in/2009/04/03/%e9%ab%98%e5%bd%88%e6%80%a7%e7%9a%84virtual-hosting/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 00:19:02 +0000</pubDate>
		<dc:creator>chenpc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://pclinux.csie.net/?p=20</guid>
		<description><![CDATA[一般virtual host必須把設定方法寫在httpd.conf裡面，這種方法缺點就是一旦更新檔案，apache就必須手動reload。既然vhost類似rewrite，謂何不用rewrite rule去取代？
在vhost.conf裡面加上：
RewriteEngine on
RewriteMap   lowercase  int:tolower
RewriteMap   vhost      txt:/www/vhost/vhost.map
RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$
RewriteCond  ${vhost:%1}  ^(/.*)$
RewriteRule  ^/(.*)$ %1/$1
vhost.map這個檔案格式如下：
&#8220;domainname&#8221;       &#8220;document root&#8221;
chenpc.csie.in        /home/chenpc/public_html
這樣只要更變vhost這格檔案，不需要重新啟動apache就可以作virtual host。甚至可以寫一個很簡單的php去access vhsot.map這個檔案就可以拿動態的更變virtual hsot。這樣可以讓每個使用者自己更變virtual host的名稱跟目錄，不用每次都麻煩管理者去處理。配合suphp使用，還可以加強使用者的安全性。
]]></description>
			<content:encoded><![CDATA[<p>一般virtual host必須把設定方法寫在httpd.conf裡面，這種方法缺點就是一旦更新檔案，apache就必須手動reload。既然vhost類似rewrite，謂何不用rewrite rule去取代？</p>
<p>在vhost.conf裡面加上：<br />
RewriteEngine on<br />
RewriteMap   lowercase  int:tolower<br />
RewriteMap   vhost      txt:/www/vhost/vhost.map<br />
RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$<br />
RewriteCond  ${vhost:%1}  ^(/.*)$<br />
RewriteRule  ^/(.*)$ %1/$1</p>
<p>vhost.map這個檔案格式如下：<br />
&#8220;domainname&#8221;       &#8220;document root&#8221;<br />
chenpc.csie.in        /home/chenpc/public_html</p>
<p>這樣只要更變vhost這格檔案，不需要重新啟動apache就可以作virtual host。甚至可以寫一個很簡單的php去access vhsot.map這個檔案就可以拿動態的更變virtual hsot。這樣可以讓每個使用者自己更變virtual host的名稱跟目錄，不用每次都麻煩管理者去處理。配合suphp使用，還可以加強使用者的安全性。</p>
]]></content:encoded>
			<wfw:commentRss>http://pclinux.csie.in/2009/04/03/%e9%ab%98%e5%bd%88%e6%80%a7%e7%9a%84virtual-hosting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix vmware-server-console keyboard map problem</title>
		<link>http://pclinux.csie.in/2009/02/17/fix-vmware-server-console-keyboard-map-problem/</link>
		<comments>http://pclinux.csie.in/2009/02/17/fix-vmware-server-console-keyboard-map-problem/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 18:01:07 +0000</pubDate>
		<dc:creator>chenpc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://pclinux.csie.net/2009/02/17/fix-vmware-server-console-keyboard-map-problem/</guid>
		<description><![CDATA[echo &#8220;xkeymap.nokeycodeMap = true&#8221; >> ~/.vmware/config
]]></description>
			<content:encoded><![CDATA[<p>echo &#8220;xkeymap.nokeycodeMap = true&#8221; >> ~/.vmware/config</p>
]]></content:encoded>
			<wfw:commentRss>http://pclinux.csie.in/2009/02/17/fix-vmware-server-console-keyboard-map-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>將linux 一般分割區轉成RAID1</title>
		<link>http://pclinux.csie.in/2008/12/13/%e5%b0%87linux-%e4%b8%80%e8%88%ac%e5%88%86%e5%89%b2%e5%8d%80%e8%bd%89%e6%88%90raid1/</link>
		<comments>http://pclinux.csie.in/2008/12/13/%e5%b0%87linux-%e4%b8%80%e8%88%ac%e5%88%86%e5%89%b2%e5%8d%80%e8%bd%89%e6%88%90raid1/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 14:17:38 +0000</pubDate>
		<dc:creator>chenpc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://pclinux.csie.net/2008/12/13/%e5%b0%87linux-%e4%b8%80%e8%88%ac%e5%88%86%e5%89%b2%e5%8d%80%e8%bd%89%e6%88%90raid1/</guid>
		<description><![CDATA[Set normal partition to RAID1
Boot into Live! CD
fdisk /dev/sdb  ; partition sdb3 as partition type &#8216;fd&#8217;
mount /dev/sda3 /mnt/gentoo
mdadm -C /dev/md0 -l 1 -n 2 missing /dev/sdb3
mkdir /mnt/raid
mount /dev/md0 /mnt/raid
rsync -avH &#8211;progress /mnt/gentoo /mnt/raid
fdisk /dev/sda  ; partition sda3 as partition type &#8216;fd&#8217;
madm /dev/md0 -a /dev/sda3
edit fstab /mnt/raid/etc/fstab to new root partition &#8216;/dev/md0&#8242;
reboot and set mdadm daemon [...]]]></description>
			<content:encoded><![CDATA[<p>Set normal partition to RAID1</p>
<p>Boot into Live! CD</p>
<p>fdisk /dev/sdb  ; partition sdb3 as partition type &#8216;fd&#8217;<br />
mount /dev/sda3 /mnt/gentoo<br />
mdadm -C /dev/md0 -l 1 -n 2 missing /dev/sdb3<br />
mkdir /mnt/raid<br />
mount /dev/md0 /mnt/raid<br />
rsync -avH &#8211;progress /mnt/gentoo /mnt/raid<br />
fdisk /dev/sda  ; partition sda3 as partition type &#8216;fd&#8217;<br />
madm /dev/md0 -a /dev/sda3<br />
edit fstab /mnt/raid/etc/fstab to new root partition &#8216;/dev/md0&#8242;</p>
<p>reboot and set mdadm daemon as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://pclinux.csie.in/2008/12/13/%e5%b0%87linux-%e4%b8%80%e8%88%ac%e5%88%86%e5%89%b2%e5%8d%80%e8%bd%89%e6%88%90raid1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

