<?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>icez network &#187; Linux</title>
	<atom:link href="http://www.icez.net/blog/topics/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://www.icez.net/blog</link>
	<description>Technical Blog by icez network</description>
	<lastBuildDate>Mon, 30 Jan 2012 17:31:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>0126 &#124; ติดตั้ง Zabbix Server บน CentOS</title>
		<link>http://www.icez.net/blog/1392/zabbix-server-installation-centos</link>
		<comments>http://www.icez.net/blog/1392/zabbix-server-installation-centos#comments</comments>
		<pubDate>Tue, 06 Dec 2011 08:22:06 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[IP Network]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[zabbix]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=1392</guid>
		<description><![CDATA[ก่อนอื่น เตรียม repository ให้พร้อม + MySQL Server 1 ฐานข้อมูลครับ เนื่องจาก zabbix ไม่ได้เป็น repository หลักของ centos จึงทำให้ต้องมีการติดตั้ง repository เพิ่มเติมเล็กน้อย ****** วิธีนี้ไม่รับประกันว่าสามารถลงคู่กับเครื่องที่มี DirectAdmin ได้ ****** 1) EPEL centos 5 : rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm centos 6 : rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm 2) Atomic wget -qO - http://www.atomicorp.com/installers/atomic &#124; sh พร้อมแล้วก็ติดตั้งกันได้เลยครับ CentOS 64-bit: yum -y install zabbix-server-mysql.x86_64 zabbix-web-mysql.x86_64 CentOS 32-bit: [...]]]></description>
			<content:encoded><![CDATA[<p>ก่อนอื่น เตรียม repository ให้พร้อม + MySQL Server 1 ฐานข้อมูลครับ<br />
เนื่องจาก zabbix ไม่ได้เป็น repository หลักของ centos<br />
จึงทำให้ต้องมีการติดตั้ง repository เพิ่มเติมเล็กน้อย</p>
<p>****** วิธีนี้ไม่รับประกันว่าสามารถลงคู่กับเครื่องที่มี DirectAdmin ได้ ******</p>
<h3>1) EPEL</h3>
<p>centos 5 :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rpm <span style="color: #660033;">-Uvh</span> http:<span style="color: #000000; font-weight: bold;">//</span>download.fedora.redhat.com<span style="color: #000000; font-weight: bold;">/</span>pub<span style="color: #000000; font-weight: bold;">/</span>epel<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">5</span><span style="color: #000000; font-weight: bold;">/</span>i386<span style="color: #000000; font-weight: bold;">/</span>epel-release-<span style="color: #000000;">5</span>-<span style="color: #000000;">4</span>.noarch.rpm</pre></div></div>

<p>centos 6 :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rpm <span style="color: #660033;">-Uvh</span> http:<span style="color: #000000; font-weight: bold;">//</span>download.fedora.redhat.com<span style="color: #000000; font-weight: bold;">/</span>pub<span style="color: #000000; font-weight: bold;">/</span>epel<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">6</span><span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>epel-release-<span style="color: #000000;">6</span>-<span style="color: #000000;">5</span>.noarch.rpm</pre></div></div>

<h3>2) Atomic</h3>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-qO</span> - http:<span style="color: #000000; font-weight: bold;">//</span>www.atomicorp.com<span style="color: #000000; font-weight: bold;">/</span>installers<span style="color: #000000; font-weight: bold;">/</span>atomic <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sh</span></pre></div></div>

<p><span id="more-1392"></span></p>
<hr />
<p>พร้อมแล้วก็ติดตั้งกันได้เลยครับ<br />
CentOS 64-bit:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum <span style="color: #660033;">-y</span> <span style="color: #c20cb9; font-weight: bold;">install</span> zabbix-server-mysql.x86_64 zabbix-web-mysql.x86_64</pre></div></div>

<p>CentOS 32-bit:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum <span style="color: #660033;">-y</span> <span style="color: #c20cb9; font-weight: bold;">install</span> zabbix-server-mysql zabbix-web-mysql</pre></div></div>

<p>เปิดไฟล์ /etc/zabbix/zabbix_server.conf ขึ้นมา<br />
แก้ไข option เกี่ยวกับการเชื่อมต่อ database ประมาณนี้</p>
<pre>DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zbx@localhost
</pre>
<p>แล้วก็ import database</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>doc<span style="color: #000000; font-weight: bold;">/</span>zabbix-server-mysql-<span style="color: #000000; font-weight: bold;">*/</span>create<span style="color: #000000; font-weight: bold;">/</span>schema<span style="color: #000000; font-weight: bold;">/</span>mysql.sql <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>doc<span style="color: #000000; font-weight: bold;">/</span>zabbix-server-mysql-<span style="color: #000000; font-weight: bold;">*/</span>create<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/*</span>.sql <span style="color: #000000; font-weight: bold;">|</span> mysql <span style="color: #660033;">-u</span> zabbix <span style="color: #660033;">-p</span> zabbix</pre></div></div>

<p>แล้วเข้าเว็บได้เลยฮะ http://IP/zabbix/ มันจะเด้งเข้าหน้าติดตั้งให้เลย<br />
ก็ทำไปตามขั้นตอน ปรับตั้งค่า php.ini แล้วก็ระบุ user/pass เข้าฐานข้อมูลครับ<br />
เสร็จแล้วให้ login ด้วย user admin / pass zabbix</p>
<p>* สำหรับ directadmin สั่ง ln -s /usr/share/zabbix /var/www/html/ เพิ่มอีกคำสั่งครับ</p>
<p>ตอนต่อไป (ที่ไม่รู้ว่าจะมาเมื่อไหร่) พบกับการตั้งค่า zabbix เบื้องต้นครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/1392/zabbix-server-installation-centos/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>0125 &#124; การคำนวณ load ของ server</title>
		<link>http://www.icez.net/blog/1300/server-load-estimation</link>
		<comments>http://www.icez.net/blog/1300/server-load-estimation#comments</comments>
		<pubDate>Tue, 20 Sep 2011 14:27:46 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[Calculate]]></category>
		<category><![CDATA[Traffic]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=1300</guid>
		<description><![CDATA[สืบเนื่องจากคำถามที่เจอบ่อยๆ: - เว็บผมมีคนเข้า วันละ xxxx คน พี่รับไหวมั้ยครับ - เว็บผมมีคนเข้า วันละ xxxx คน ต้องใช้ host ประมาณไหนเหรอครับ ============================================== เรื่องมันมีอยู่ว่า server 1 เครื่อง ก็เปรียบเสมือนกับ ห้อง 1 ห้อง มีขนาดความจุรับได้ N คน &#8220;พร้อมๆ กัน&#8221; แล้วก็มาถามว่า ไอ้ห้อง 1 ห้องที่ว่านี่ &#8220;วันนึง&#8221; จะรองรับ &#8220;คนเข้า&#8221; ได้กี่คนครับ? ============================================== ปัจจัยที่เกิดขึ้นคือ 1) คนที่เข้าห้องนั้น อยู่ในห้องนานแค่ไหน? = response time ของ 1 request 2) ขนาดตัวของคนที่เข้า ใหญ่แค่ไหน (แน่นอน อ้วนมากก็เปลืองพื้นที่ห้องมาก) = request+response [...]]]></description>
			<content:encoded><![CDATA[<p>สืบเนื่องจากคำถามที่เจอบ่อยๆ:</p>
<p>- เว็บผมมีคนเข้า วันละ xxxx คน พี่รับไหวมั้ยครับ<br />
- เว็บผมมีคนเข้า วันละ xxxx คน ต้องใช้ host ประมาณไหนเหรอครับ</p>
<p>==============================================</p>
<p>เรื่องมันมีอยู่ว่า server 1 เครื่อง ก็เปรียบเสมือนกับ ห้อง 1 ห้อง มีขนาดความจุรับได้ N คน &#8220;พร้อมๆ กัน&#8221;<br />
แล้วก็มาถามว่า ไอ้ห้อง 1 ห้องที่ว่านี่ &#8220;วันนึง&#8221; จะรองรับ &#8220;คนเข้า&#8221; ได้กี่คนครับ?</p>
<p>==============================================</p>
<p>ปัจจัยที่เกิดขึ้นคือ</p>
<p>1) คนที่เข้าห้องนั้น อยู่ในห้องนานแค่ไหน? = response time ของ 1 request<br />
2) ขนาดตัวของคนที่เข้า ใหญ่แค่ไหน (แน่นอน อ้วนมากก็เปลืองพื้นที่ห้องมาก) = request+response size</p>
<p>จากสองข้อนี้ ก็เลยทำให้ไม่สามารถประมาณการใช้งานจริงๆ ได้หรอกครับ เพราะขึ้นอยู่กับพฤติกรรมคนดูล้วนๆ ครับ</p>
<p>ของอย่างนี้มันต้องลอง !!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/1300/server-load-estimation/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>0123 &#124; ติดตั้ง OpenVZ บน CentOS 6.0 64bit</title>
		<link>http://www.icez.net/blog/1213/install-openvz-on-centos-6-0</link>
		<comments>http://www.icez.net/blog/1213/install-openvz-on-centos-6-0#comments</comments>
		<pubDate>Mon, 11 Jul 2011 17:18:52 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[openvz]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=1213</guid>
		<description><![CDATA[คู่มือก๊อปวางอีกแล้วครับท่าน ปรับปรุงจาก CentOS 5.0 นิดหน่อย เนื่องจากชื่อ package มันไม่ตรงกัน วิธีลงไม่รวมถึงการ optimize ระบบ และการตั้งค่า vps นะครับ wget -O /etc/yum.repos.d/openvz.repo http://icez.net/files/openvz-el6.repo rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ yum -y install vzkernel.x86_64 vzkernel-devel.x86_64 vzkernel-headers.x86_64 perl.x86_64 perl -pi -e &#34;s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g&#34; /etc/sysctl.conf echo &#34;net.ipv4.conf.default.proxy_arp = 0&#34; &#62;&#62; /etc/sysctl.conf echo &#34;net.ipv4.conf.default.send_redirects = 1&#34; &#62;&#62; /etc/sysctl.conf echo &#34;net.ipv4.conf.all.send_redirects = 0&#34; &#62;&#62; /etc/sysctl.conf [...]]]></description>
			<content:encoded><![CDATA[<p>คู่มือก๊อปวางอีกแล้วครับท่าน ปรับปรุงจาก CentOS 5.0 นิดหน่อย เนื่องจากชื่อ package มันไม่ตรงกัน<br />
วิธีลงไม่รวมถึงการ optimize ระบบ และการตั้งค่า vps นะครับ</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-O</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>yum.repos.d<span style="color: #000000; font-weight: bold;">/</span>openvz.repo http:<span style="color: #000000; font-weight: bold;">//</span>icez.net<span style="color: #000000; font-weight: bold;">/</span>files<span style="color: #000000; font-weight: bold;">/</span>openvz-el6.repo
rpm <span style="color: #660033;">--import</span> http:<span style="color: #000000; font-weight: bold;">//</span>download.openvz.org<span style="color: #000000; font-weight: bold;">/</span>RPM-GPG-Key-OpenVZ
yum <span style="color: #660033;">-y</span> <span style="color: #c20cb9; font-weight: bold;">install</span> vzkernel.x86_64 vzkernel-devel.x86_64 vzkernel-headers.x86_64 perl.x86_64
<span style="color: #c20cb9; font-weight: bold;">perl</span> <span style="color: #660033;">-pi</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g&quot;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>sysctl.conf
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;net.ipv4.conf.default.proxy_arp = 0&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>sysctl.conf
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;net.ipv4.conf.default.send_redirects = 1&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>sysctl.conf
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;net.ipv4.conf.all.send_redirects = 0&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>sysctl.conf
chkconfig vz on
init <span style="color: #000000;">6</span></pre></div></div>

<p>ที่เหลือก็&#8230; download template มาลง เอาไว้ใน folder /vz/template/cache<br />
<a href="http://wiki.openvz.org/Download/template/precreated">http://wiki.openvz.org/Download/template/precreated</a><br />
<a href="http://download.openvz.org/template/precreated/">http://download.openvz.org/template/precreated/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/1213/install-openvz-on-centos-6-0/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>0117 &#124; ลง Flashcache ใน OpenVZ</title>
		<link>http://www.icez.net/blog/1001/openvz-flashcache-instal</link>
		<comments>http://www.icez.net/blog/1001/openvz-flashcache-instal#comments</comments>
		<pubDate>Tue, 01 Feb 2011 09:51:27 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=1001</guid>
		<description><![CDATA[สารพัดวิชามารกันเลยทีเดียว กว่าจะลงได้ เล่นเอาแทบตาย อันที่จริงมันนิดเดียวเองครับ แค่ไปเอา source มา ก่อนอื่น check ก่อนเลยว่าใช้ kernel ตัวไหนอยู่ด้วยคำสั่ง uname -r ตัวอย่างด้านล่างสำหรับ kernel ovzkernel-xen ovzkernel-2.6.18-274.el5.028stab093.2 เท่านั้นนะครับ หาก version เปลี่ยนก็ต้องไปหา source tree ใหม่ด้วย ที่ http://ftp.openvz.org/kernel/branches/rhel5-2.6.18/current/ เสร็จแล้ว เข้าสิทธิ์ root รันคำสั่งต่อไปนี้ yum install rpm-build.x86_64 git.x86_64 ovzkernel-xen-devel.x86_64 ovzkernel-xen.x86_64 shutdown -r now รีบูทเครื่องทีนึง แล้วก็ออกมาพิมพ์คำสั่งพวกนี้ด้วยสิทธิ์ user ธรรมดา (หรือจะ root ก็ได้ แต่ต้องข้ามบางคำสั่ง กะแก้ไข path เอาเองนะครับ) cd mkdir -p rpmbuild/&#123;BUILD,RPMS,SOURCES,SPECS,SRPMS&#125; [...]]]></description>
			<content:encoded><![CDATA[<p>สารพัดวิชามารกันเลยทีเดียว กว่าจะลงได้ เล่นเอาแทบตาย<br />
อันที่จริงมันนิดเดียวเองครับ แค่ไปเอา source มา</p>
<p>ก่อนอื่น check ก่อนเลยว่าใช้ kernel ตัวไหนอยู่ด้วยคำสั่ง</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">uname</span> <span style="color: #660033;">-r</span></pre></div></div>

<p>ตัวอย่างด้านล่างสำหรับ kernel <strong>ovzkernel-xen</strong> <strong>ovzkernel-2.6.18-274.el5.028stab093.2</strong> เท่านั้นนะครับ<br />
หาก version เปลี่ยนก็ต้องไปหา source tree ใหม่ด้วย ที่ http://ftp.openvz.org/kernel/branches/rhel5-2.6.18/current/</p>
<p><span id="more-1001"></span></p>
<p>เสร็จแล้ว เข้าสิทธิ์ root รันคำสั่งต่อไปนี้</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum <span style="color: #c20cb9; font-weight: bold;">install</span> rpm-build.x86_64 git.x86_64 ovzkernel-xen-devel.x86_64 ovzkernel-xen.x86_64
shutdown <span style="color: #660033;">-r</span> now</pre></div></div>

<p>รีบูทเครื่องทีนึง แล้วก็ออกมาพิมพ์คำสั่งพวกนี้ด้วยสิทธิ์ user ธรรมดา<br />
(หรือจะ root ก็ได้ แต่ต้องข้ามบางคำสั่ง กะแก้ไข path เอาเองนะครับ)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> rpmbuild<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>BUILD,RPMS,SOURCES,SPECS,SRPMS<span style="color: #7a0874; font-weight: bold;">&#125;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'%_topdir %(echo $HOME)/rpmbuild'</span> <span style="color: #000000; font-weight: bold;">&gt;</span> .rpmmacros
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>mirrors.thzhost.com<span style="color: #000000; font-weight: bold;">/</span>openvz<span style="color: #000000; font-weight: bold;">/</span>kernel<span style="color: #000000; font-weight: bold;">/</span>branches<span style="color: #000000; font-weight: bold;">/</span>rhel5-2.6.18<span style="color: #000000; font-weight: bold;">/</span>current<span style="color: #000000; font-weight: bold;">/</span>ovzkernel-2.6.18-<span style="color: #000000;">274</span>.el5.028stab093.2.src.rpm
rpm <span style="color: #660033;">-i</span> ovzkernel-2.6.18-<span style="color: #000000;">274</span>.el5.028stab093.2.src.rpm <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> mockb
<span style="color: #7a0874; font-weight: bold;">cd</span> rpmbuild<span style="color: #000000; font-weight: bold;">/</span>SPECS<span style="color: #000000; font-weight: bold;">/</span>
rpmbuild <span style="color: #660033;">-bp</span> <span style="color: #660033;">--target</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">uname</span> -m<span style="color: #000000; font-weight: bold;">`</span> kernel-ovz.spec <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;</span> prep-err.log <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tee</span> prep-out.log
<span style="color: #7a0874; font-weight: bold;">cd</span> ..<span style="color: #000000; font-weight: bold;">/</span>BUILD<span style="color: #000000; font-weight: bold;">/</span>ovzkernel-2.6.18<span style="color: #000000; font-weight: bold;">/</span>linux-2.6.18-<span style="color: #000000;">274</span>.el5.028stab093.2.x86_64<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> oldconfig
<span style="color: #c20cb9; font-weight: bold;">make</span> prepare
<span style="color: #c20cb9; font-weight: bold;">make</span> modules_prepare
rsync <span style="color: #660033;">-av</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>kernels<span style="color: #000000; font-weight: bold;">/</span>2.6.18-<span style="color: #000000;">274</span>.el5.028stab093.2-x86_64<span style="color: #000000; font-weight: bold;">/</span> .<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>กลับเข้ามาที่สิทธิ์ root ไปโหลดไฟล์ src flashcache จาก github มา</p>
<p>https://github.com/facebook/flashcache/tarball/master</p>
<p>แตกไฟล์ให้เรียบร้อย cd เข้าไปใน folder นั้นแล้วพิมพ์</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">KERNEL_TREE</span>=<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>icez<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>BUILD<span style="color: #000000; font-weight: bold;">/</span>ovzkernel-2.6.18<span style="color: #000000; font-weight: bold;">/</span>linux-2.6.18-<span style="color: #000000;">274</span>.el5.028stab093.2.x86_64  <span style="color: #007800;">KERNEL_SOURCE_VERSION</span>=2.6.18-<span style="color: #000000;">274</span>.el5.028stab093.2 <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p>ตรวจสอบความเรียบร้อยด้วยคำสั่ง<br />
modprobe flashcache</p>
<p>ถ้าไม่มี error อะไรขึ้นมาก็ผ่าน <s>ถ้ามีก็แก้กันเองนะครับ T_T</s><br />
เสร็จและ<br />
ที่เหลือก็สร้าง flashcache device (check ให้แน่ใจว่ายังไม่ได้ mount harddisk นะครับ)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">flashcache_create <span style="color: #660033;">-b</span> 4k <span style="color: #660033;">-s</span> 100g vzdata <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>SSD <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>HDD</pre></div></div>

<p>มันจะได้ block device ที่ /dev/mapper/vzdata<br />
ให้ mount ที่ไอ้นี่แทนได้เลยครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/1001/openvz-flashcache-instal/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>0114 &#124; ติดตั้ง MogileFS บน CentOS 5.5 64bit</title>
		<link>http://www.icez.net/blog/908/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-mogilefs-%e0%b8%9a%e0%b8%99-centos-5-5-64bit</link>
		<comments>http://www.icez.net/blog/908/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-mogilefs-%e0%b8%9a%e0%b8%99-centos-5-5-64bit#comments</comments>
		<pubDate>Mon, 08 Nov 2010 10:02:19 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[mogilefs]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=908</guid>
		<description><![CDATA[จดไว้กันลืม เผื่อวันไหนได้เอามาใช้อีกรอบ อันที่จริงก็ไม่ยากครับ มี repository แล้ว yum install เอาก็จบ แค่ว่ารายการ package มันยาว (ฮา) rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm yum --exclude=*.i386 install mogilefsd perl-MogileFS-Client perl-MogileFS-Utils mogstored mogstored-backend-perlbal mogstored-backend-apache perl-MogileFS-Client perl-MogileFS-Utils mogstored-backend-lighttpd.noarch mkdir -p /var/mogdata/dev1 chown mogilefsd.users -R /var/mogdata chkconfig mogilefsd on chkconfig mogstored on จบ&#8230; ซะเมื่อไหร่ มา config ต่อครับ นิดนึง ไปที่ mysql server สร้างฐานข้อมูลพร้อม user/password เสร็จแล้วเปิดไฟล์ /etc/mogilefs/mogilefsd.conf แก้คำว่า [...]]]></description>
			<content:encoded><![CDATA[<p>จดไว้กันลืม เผื่อวันไหนได้เอามาใช้อีกรอบ<br />
อันที่จริงก็ไม่ยากครับ มี repository แล้ว yum install เอาก็จบ<br />
แค่ว่ารายการ package มันยาว (ฮา)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rpm <span style="color: #660033;">-Uvh</span> http:<span style="color: #000000; font-weight: bold;">//</span>download.fedora.redhat.com<span style="color: #000000; font-weight: bold;">/</span>pub<span style="color: #000000; font-weight: bold;">/</span>epel<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">5</span><span style="color: #000000; font-weight: bold;">/</span>i386<span style="color: #000000; font-weight: bold;">/</span>epel-release-<span style="color: #000000;">5</span>-<span style="color: #000000;">4</span>.noarch.rpm
yum <span style="color: #660033;">--exclude</span>=<span style="color: #000000; font-weight: bold;">*</span>.i386 <span style="color: #c20cb9; font-weight: bold;">install</span> mogilefsd perl-MogileFS-Client perl-MogileFS-Utils mogstored mogstored-backend-perlbal mogstored-backend-apache perl-MogileFS-Client perl-MogileFS-Utils mogstored-backend-lighttpd.noarch
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>mogdata<span style="color: #000000; font-weight: bold;">/</span>dev1
<span style="color: #c20cb9; font-weight: bold;">chown</span> mogilefsd.users <span style="color: #660033;">-R</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>mogdata
chkconfig mogilefsd on
chkconfig mogstored on</pre></div></div>

<p>จบ&#8230; ซะเมื่อไหร่ มา config ต่อครับ นิดนึง</p>
<p><span id="more-908"></span></p>
<p>ไปที่ mysql server สร้างฐานข้อมูลพร้อม user/password<br />
เสร็จแล้วเปิดไฟล์ /etc/mogilefs/mogilefsd.conf<br />
แก้คำว่า mogilefs ในแต่ละบรรทัดให้ตรงกับที่สร้างฐานข้อมูลไว้</p>
<pre>
db_dsn DBI:mysql:mogilefs:localhost
db_user mogilefs
db_pass mogilefs
conf_port 6001
listener_jobs 5
</pre>
<p>แล้วสั่ง</p>
<pre>mogdbsetup --dbuser=mogilefs --dbpass=mogilefs --dbname=mogilefs</pre>
<p>(อย่าลืมแก้ user/pass/dbname ด้วยนะครับ)</p>
<p>แล้วสร้างไฟล์ /etc/mogilefs/mogstored.conf ใส่ข้อมูลไปตามนี้</p>
<pre>httplisten=0.0.0.0:7500
mgmtlisten=0.0.0.0:7501
docroot=/var/mogdata/
</pre>
<p>แล้วสั่งคำสั่งต่อไปนี้</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">service mogilefsd restart
service mogstored restart
mogadm host add mogdata01 <span style="color: #660033;">--ip</span>=127.0.0.1 <span style="color: #660033;">--port</span>=<span style="color: #000000;">7500</span> <span style="color: #660033;">--status</span>=alive
mogadm device add mogdata01 <span style="color: #000000;">1</span></pre></div></div>

<p>เรียบร้อย<br />
ดูข้อมูลด้วยคำสั่ง mogadm check ครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/908/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-mogilefs-%e0%b8%9a%e0%b8%99-centos-5-5-64bit/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>0109 &#124; Cloud Web Hosting</title>
		<link>http://www.icez.net/blog/804/cloud-web-hosting</link>
		<comments>http://www.icez.net/blog/804/cloud-web-hosting#comments</comments>
		<pubDate>Fri, 27 Aug 2010 17:59:25 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[IP Network]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[carp]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[glusterfs]]></category>
		<category><![CDATA[high availability]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=804</guid>
		<description><![CDATA[บทความต่อไปนี้เป็นเพียงการทดสอบทฤษฎี หรือ Proof of Concept เท่านั้น ยังทดสอบใช้งานจริงไม่ผ่านด้วยสาเหตุทั้งปวง เป้าหมายคือสร้างโฮสติ้งที่ล่มยากๆ และรองรับงานได้ปริมาณมากครับ (โลภมากเนาะมึงนี่) ฝั่ง web server ตรงนี้เป็น cluster ย่อมๆ เลย network ใช้ Virtual IP แต่ทำงานแบบ Dual Mode คือทุกเครื่องจะมีทั้ง Active VIP และ Standby VIP โดยที่ Active VIP ของเครื่อง 1 จะเป็น Standby VIP ของเครื่อง 2 อย่างนี้ไปเรื่อยๆ แล้วใช้ glusterfs ทำ replicate เก็บข้อมูล สามารถยัด node เพิ่มได้เรื่อยๆ ถ้าต้องการพื้นที่เพิ่ม ปัญหาอย่างเดียวที่เจอตอนนี้คือ database ครับ &#8230; มัน&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>บทความต่อไปนี้เป็นเพียงการทดสอบทฤษฎี หรือ Proof of Concept เท่านั้น ยังทดสอบใช้งานจริงไม่ผ่านด้วยสาเหตุทั้งปวง<br />
เป้าหมายคือสร้าง<a target="_blank" href="http://www.thzhost.com/"><b>โฮสติ้ง</b></a>ที่ล่มยากๆ และรองรับงานได้ปริมาณมากครับ<br />
(โลภมากเนาะมึงนี่)</p>
<p>ฝั่ง web server ตรงนี้เป็น cluster ย่อมๆ เลย network ใช้ Virtual IP แต่ทำงานแบบ Dual Mode คือทุกเครื่องจะมีทั้ง Active VIP และ Standby VIP<br />
โดยที่ Active VIP ของเครื่อง 1 จะเป็น Standby VIP ของเครื่อง 2 อย่างนี้ไปเรื่อยๆ<br />
แล้วใช้ glusterfs ทำ replicate เก็บข้อมูล สามารถยัด node เพิ่มได้เรื่อยๆ ถ้าต้องการพื้นที่เพิ่ม</p>
<p>ปัญหาอย่างเดียวที่เจอตอนนี้คือ database ครับ &#8230; มัน&#8230; ทำงานพร้อมกันแบบ active-active ไม่ได้ T_T<br />
ไม่สามารถใช้ master-master replication ได้ด้วยสาเหตุบางประการ เวลา master ล่ม จะ promote slave ขึ้นมาเป็น master แทนทันที<br />
สามารถสลับเครื่องไปมาตลอด แต่ใช้ ip เดียว วิ่งผ่าน Virtual IP อันนึงครับ<br />
อันนี้เขียน script ช่วยสลับเครื่องเพิ่มเติมไว้ด้วย ยังไม่รู้ว่าใช้งานจริงแล้วจะเน่าอนาถขนาดไหน</p>
<p>สรุป software ที่ใช้ (ในชุดทดสอบ)</p>
<p>- Linux CentOS 5.5 x86_64<br />
- Apache 2.2 / PHP 5.2 / MySQL 5.0<br />
- UCARP (Redundant Network Protocol)<br />
- GlusterFS 3.0.5 (Distributed Storage Engine)<br />
- Plesk 9.5 (Web Hosting Control Panel) ==> Concept ยังไม่ได้ทดสอบใช้งานจริง</p>
<p>จำนวนเครื่องในระบบขั้นต่ำ 4 เครื่อง แบ่งเป็น<br />
- Web Server + Storage 2<br />
- Database 2</p>
<p>ถ้าให้ดีขึ้นก็จับแยก storage ออกมาหน่อยจะดีมาก ด้านล่างเป็น diagram คร่าวๆ ครับ</p>
<p><span id="more-804"></span></p>
<p align="center">
 <a href="http://upic.me/show/16003745" target="_blank"><img border="0" src="http://upic.me/ts/i/pn/img_20100828_003209.jpg"></a><br />
 <a href="http://upic.me/show/16003748" target="_blank"><img border="0" src="http://upic.me/ts/i/4g/img_20100828_003349.jpg"></a><br />
 <a href="http://upic.me/show/16003753" target="_blank"><img border="0" src="http://upic.me/ts/i/90/img_20100828_003813.jpg"></a><br />
 <a href="http://upic.me/show/16003757" target="_blank"><img border="0" src="http://upic.me/ts/i/x4/img_20100828_004140.jpg"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/804/cloud-web-hosting/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>0108 &#124; GlusterFS High Availability Testbed</title>
		<link>http://www.icez.net/blog/802/glusterfs-high-availability-testbed</link>
		<comments>http://www.icez.net/blog/802/glusterfs-high-availability-testbed#comments</comments>
		<pubDate>Thu, 26 Aug 2010 20:49:51 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[IP Network]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[glusterfs]]></category>
		<category><![CDATA[high availability]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=802</guid>
		<description><![CDATA[ยังไม่ขออธิบายอะไรก่อนนะครับ ไว้เขียนแยกอีกที (จะได้เขียนมั้ยเนี่ย) กดดูแบบ hd &#038; full screen นะครับ ไม่งั้นอ่านไม่ออกแน่ๆ (มือสั่นอย่างรุนแรง)]]></description>
			<content:encoded><![CDATA[<p>ยังไม่ขออธิบายอะไรก่อนนะครับ ไว้เขียนแยกอีกที (จะได้เขียนมั้ยเนี่ย)</p>
<p>กดดูแบบ hd &#038; full screen นะครับ ไม่งั้นอ่านไม่ออกแน่ๆ (มือสั่นอย่างรุนแรง)</p>
<p><object width="720" height="420"><param name="movie" value="http://www.youtube.com/v/gU6b5hKa0aA?fs=1&amp;hl=en_US&amp;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/gU6b5hKa0aA?fs=1&amp;hl=en_US&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="720" height="420"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/802/glusterfs-high-availability-testbed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>0103 &#124; top &#8211; Linux Administrative Tools</title>
		<link>http://www.icez.net/blog/715/top-linux-administrative-tools</link>
		<comments>http://www.icez.net/blog/715/top-linux-administrative-tools#comments</comments>
		<pubDate>Fri, 09 Jul 2010 12:41:01 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[top]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=715</guid>
		<description><![CDATA[เอามาลง blog ตัวเองซักที&#8230; &#8221; top &#8220; (capture ช้าไปสองวิ เสียดายจัง) ไม่ต้องลงเพิ่ม ติดมากับ os อยู่แล้วไม่ว่าจะลงแบบ minimal ขนาดไหน หรือถ้าทำหายไป มันจะอยู่ใน package &#8220;procps&#8221; ครับ มันบอกอะไรบ้าง ไล่ทีละบรรทัด เลยนะครับ (คิดจากค่าปกติของ centos ซึ่ง os อื่นๆ ก็คล้ายๆ กัน อาจมีแตกต่างบ้างแล้วแต่การปรับตั้งค่า) บรรทัดบนสุด top &#8211; 09:13:20 up 187 days,&#160; 8:40,&#160; 1 user,&#160; load average: 0.43, 0.66, 0.61 สีแดง: เวลาปัจจุบันของ server สีเขียว: uptime (ระยะเวลาตั้งแต่ boot OS ขึ้นมา) [...]]]></description>
			<content:encoded><![CDATA[<p>เอามาลง blog ตัวเองซักที&#8230;</p>
<h1>&#8221; top &#8220;</h1>
<p><a href="http://upic.me/e5w8j" target="_blank"><img border="0" src="http://upic.me/i/mc/ke4ac.png" alt="" /></a><br />
(capture  ช้าไปสองวิ เสียดายจัง)</p>
<p>ไม่ต้องลงเพิ่ม ติดมากับ os  อยู่แล้วไม่ว่าจะลงแบบ minimal ขนาดไหน<br />
หรือถ้าทำหายไป มันจะอยู่ใน  package &#8220;procps&#8221; ครับ</p>
<p><strong>มันบอกอะไรบ้าง</strong><br />
ไล่ทีละบรรทัด เลยนะครับ (คิดจากค่าปกติของ centos ซึ่ง os อื่นๆ ก็คล้ายๆ กัน  อาจมีแตกต่างบ้างแล้วแต่การปรับตั้งค่า)</p>
<p>บรรทัดบนสุด<br />
top &#8211; <span style="color: red;">09:13:20</span> <span style="color: green;">up 187 days,&nbsp; 8:40</span>,&nbsp; <span style="color: purple;">1 user</span>,&nbsp; <span style="color: blue;">load average: 0.43, 0.66, 0.61</span><br />
<span style="color: red;">สีแดง</span>: เวลาปัจจุบันของ server<br />
<span style="color: green;">สีเขียว</span>: uptime (ระยะเวลาตั้งแต่ boot OS ขึ้นมา)<br />
<span style="color: purple;">สีม่วง</span>: จำนวน user ที่ login เข้าไปใน shell (การ login หน้าเครื่อง + ssh ที่เปิด terminal เท่านั้น)<br />
<span style="color: blue;">สีน้ำเงิน</span>: load average : ปริมาณงานที่ &#8220;ค้าง&#8221; ในระบบ<span class="bbc_u">เฉลี่ย</span> ในรอบ 1 , 5 และ 15 นาทีตามลำดับ</p>
<p>บรรทัดที่ 2: บรรทัดนี้จะบอกข้อมูลเกี่ยวกับ process ในเครื่องครับ<br />
Tasks: <span style="color: red;">183 total</span>,   <span style="color: green;">3 running</span>, <span style="color: purple;">180 sleeping</span>,   <span style="color: blue;">0 stopped</span>,   <span style="color: pink;">0 zombie</span><br />
<span style="color: red;">สีแดง</span>: จำนวน process ทั้งหมด<br />
<span style="color: green;">สีเขียว</span>: จำนวน process ที่กำลังเรียกใช้ CPU อยู่ &#8220;ณ เวลานั้นๆ&#8221;<br />
<span style="color: purple;">สีม่วง</span>: จำนวน process ที่ไม่มีการทำงาน/ไม่มีการเรียกใช้ CPU อยู่<br />
<span style="color: blue;">สีน้ำเงิน</span>: process ที่อยู่ในสถานะ &#8220;หยุด&#8221; (ไอนี้ไม่แน่ใจครับ คู่มือมันเขียนแบบนั้นแต่ผมไม่เคยเห็นตัวเลขขึ้นซักที)<br />
<span style="color: pink;">สีชมพู</span>: process ผีดิบ <img class="smiley" title="lol" src="http://www.thaihosttalk.com/Smileys/default/biggrin.gif" border="0" alt="lol" /> มันคือ process ที่ตาย/จบการทำงานไปแล้ว แต่ยังไม่สามารถ clear ออกจากหน่วยความจำได้ ส่วนมากจะเป็นพวก process ที่รอการตอบสนองจาก hardware ต่างๆ อยู่ครับ (รวมถึงแรมด้วย)</p>
<p>บรรทัดที่ 3: การใช้งาน CPU  อันนี้มีของเล่นนิดหน่อยครับ สำหรับเครื่องที่ cpu หลาย core หรือหลาย cpu<br />
Cpu(s):   4.0%us,  0.7%sy,  0.0%ni, 94.1%id,  0.9%wa,  0.0%hi,  0.3%si,  0.0%st</p>
<p>สังเกต ดีๆ มันจะเขียนหน้าบรรทัดว่า Cpu(s) &lt;&#8211; ตรง (s) หมายความว่าเป็นภาพรวม  cpu ทุก core<br />
ให้กดแป้นพิมพ์เลข 1 ตรงแป้นพิมพ์ธรรมดา ที่อยู่ข้างๆ  ปุ่มตัวหนอน (` / ~) แล้วมันจะแตกออกมาเป็นแบบนี้ครับ</p>
<p>Cpu0  :  27.6%us,  7.2%sy,  0.2%ni, 53.6%id, 10.9%wa,  0.0%hi,  0.5%si,  0.0%st<br />
Cpu1   : 28.1%us,  7.2%sy,  0.1%ni, 55.3%id,  9.0%wa,  0.0%hi,  0.4%si,   0.0%st<br />
Cpu2  : 27.8%us,  7.0%sy,  0.2%ni, 62.0%id,  2.8%wa,  0.0%hi,   0.2%si,  0.0%st<br />
Cpu3  : 28.1%us,  7.3%sy,  0.2%ni, 58.8%id,   3.4%wa,  0.2%hi,  2.1%si,  0.0%st</p>
<p>แยกกันให้เห็นหมดเลย ว่า CPU  ไหนกำลังทำอะไรอยู่<br />
ทีนี้ แต่ละ column ที่มีตัวอักษรย่อสองตัว  มีความหมายต่างกันตามนี้ครับ</p>
<p>us =&gt; user :: เป็นการเรียกใช้ CPU  ตามปกติของโปรแกรม ที่เป็นการประมวลผลภายในโปรแกรมนั้นๆ<br />
sy =&gt; system  :: การเรียกใช้คำสั่งในระดับ kernel ที่มีการประมวลผลอยู่ภายใน kernel  โดยไม่เรียกใช้ hardware<br />
ni =&gt; nice ::  การจัดลำดับความสำคัญของการประมวลผล (priority) ไว้สลับการทำงานของ process  ที่มี priority ต่างๆ กันเวลาเรียกใช้ cpu พร้อมๆ กัน<br />
id =&gt; idle ::  cpu ที่ว่างงาน<br />
wa =&gt; iowait :: เป็นการ &#8216;เสีย เวลารอ&#8217; การเรียกใช้ และติดต่อกับ hardware ตั้งแต่ harddisk ram  การ์ดจอ การ์ดแลน (แต่ส่วนใหญ่ก็ harddisk แหละ)<br />
hi =&gt; ?<br />
si =&gt;  ? (สามอันนี้ขออภัยด้วยครับ ไม่ทราบจริงๆ  ส่วนมากก็ไม่ค่อยขึ้นมาให้เห็นเท่าไหร่ด้วย)<br />
st =&gt; ?</p>
<p>บรรทัดที่ 4-5: เกี่ยวกับหน่วยความจำ ขอรวบเป็นหัวข้อเดียวเลยนะครับ เพราะมันเกี่ยวข้องกัน<br />
Mem:&nbsp; &nbsp;<span style="color: red;">8310380k total</span>,&nbsp; <span style="color: pink;">4970936k used</span>,&nbsp; <span style="color: green;">3339444k free</span>,&nbsp; &nbsp;<span style="color: orange;">217448k buffers</span><br />
Swap:&nbsp; <span style="color: purple;">6225904k total</span>,&nbsp; &nbsp; <span style="color: blue;">52816k used</span>,&nbsp; <span style="color: brown;">6173088k free</span>,&nbsp; 3001860k cached<br />
<span style="color: red;">สีแดง</span>: RAM ทั้งหมดที่ติดตั้งไว้ และ OS มองเห็น (หมายถึงหน่วยความจำหลักอย่างเดียวครับ)<br />
<span style="color: pink;">สีชมพู</span>: ใช้แรมไปแล้ว &#8220;ทั้งหมด&#8221; เท่าไหร่<br />
<span style="color: green;">สีเขียว</span>: แรมที่ยังว่างจริงๆ (คือไม่ได้จองให้กับอะไรเลย)<br />
<span style="color: orange;">สีส้ม</span>: แรมที่ถูกใช้เป็น buffer ที่พักข้อมูลก่อนที่จะมีการอ่าน/เขียนลง harddisk หรือ CPU<br />
<span style="color: purple;">สีม่วง</span>: swap space พื้นที่แรมเสมือนทั้งหมด ที่ใช้พื้นที่จาก harddisk เก็บข้อมูลแทนแรม &#8212; บน windows มันจะมีชื่อว่า pagefile<br />
<span style="color: blue;">สีน้ำเงิน</span>: ปริมาณการใช้งาน swap space มากน้อยไม่ใช่ปัญหาเท่าไหร่ (ถึงมันจะไม่ควรใช้ก็ตาม) แต่ถ้าตัวเลขแกว่งไปมา (พร้อมกับ iowait พุ่ง) หมายความว่ามีปัญหาแรมไม่พอจนต้องมาเขียนลง swap space<br />
<span style="color: brown;">สีน้ำตาล</span>: พื้นที่ swap space ที่ไม่ได้ใช้งาน<br />
สีดำ: เป็น file system memory cache ครับ คือ linux จะมีการใช้ ram เพื่อเก็บข้อมูลไฟล์ที่มีการเรียกใช้งานบ่อยๆ ไว้ใน ram (เผื่อมีอะไรก็อ่านเอาจากแรมไปเลย เร็วกว่าเยอะ)</p>
<p>วิธีคิดพื้นที่ แรมว่าง ให้คิดจาก free + cached ไม่นับพื้นที่ cache  เป็นพื้นที่ที่มีการใช้งาน<br />
เพราะมันจะถูกลบออกได้เสมอถ้ามีความต้องการ ใช้แรมจาก process เยอะๆ</p>
<p>ส่วนพื้นที่ที่เหลือด้านล่าง  จะเป็นรายการ process ทั้งหมด (แสดงเท่าที่พื้นที่จอเหลือ)<br />
เรียงลำดับ ตามปริมาณการใช้งาน CPU ของ process นั้นๆ (เปลี่ยนได้ครับ)</p>
<p>มีหัว ข้อตามนี้<br />
<strong>PID : หมายเลข process id<br />
USER : user ที่ process  ทำงาน<br />
</strong>PR : priority ของ process ที่ nice เท่ากัน<br />
NI :  รหัส nice เรียงความสำคัญของ process (ยิ่งน้อยยิ่งสำคัญ)<br />
VIRT :  ปริมาณการใช้งาน virtual image ทั้งหมด (ตั้งแต่ process  ยันเตไปถึงการเรียก library)<br />
RES / SHR : การใช้แรมส่วนของ private  (เฉพาะภายใน app) / shared (ram กลางของระบบ)<br />
S : สถานะของ process<br />
%CPU  : ปริมาณการใช้งาน CPU (นับต่อ core นะครับ) สมมติ cpu 4 core + process  รัน 4 thread แต่ละ thread เรียกใช้ cpu เต็มที่ มันก็ขึ้น 400  ขึ้นมาได้เหมือนกัน<br />
%MEM : ปริมาณการใช้งาน ram เป็น %<br />
TIME+ :  &#8220;ระยะเวลา&#8221; ที่เรียกใช้ CPU ทั้งหมดตั้งแต่รัน process (เพราะ process  ไม่ได้ทำงานตลอดเวลา)<br />
COMMAND : คำสั่งที่ใช้รัน process</p>
<p>ลูก เล่นเพิ่มเติมของ top สามารถหาอ่านได้จากคำสั่ง man top นะครับ<br />
มีอีก เพียบ นี่แค่แซมเปิ้ลๆ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/715/top-linux-administrative-tools/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>0086 &#124; Postfix + DomainKeys + DKIM</title>
		<link>http://www.icez.net/blog/398/postfix-domainkeys-dkim</link>
		<comments>http://www.icez.net/blog/398/postfix-domainkeys-dkim#comments</comments>
		<pubDate>Sat, 14 Nov 2009 16:15:52 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[IP Network]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[bulk mail]]></category>
		<category><![CDATA[dkim]]></category>
		<category><![CDATA[domainkeys]]></category>
		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=398</guid>
		<description><![CDATA[เป็นการติดตั้ง mail server สำหรับส่ง bulk mail ปริมาณมหาศาล (พยายามทำให้ถึงวันละห้าแสนฉบับอยู่) แต่ย้ำก่อนนะครับว่าต่อให้ใช้วิธีนี้ แล้วส่ง mail ที่เป็น spam ยังไงก็ติด blacklist อยู่ดี ไม่มีประโยชน์ วิธีการติดตั้งด้านล่างเป็นวิธีสำหรับ OS เปล่าๆ หรือไม่มี control panel เท่านั้นครับ หากมี control panel อยู่จะไม่สามารถใช้งานได้ เพราะมันตีกัน ส่วนไฟล์ มันมีแต่ของ centos 5 x86_64 นะครับ OS อื่นหนูไม่รู้ววว์ dkim-milter-2.8.3-2.el5.x86_64.rpm dk-milter-1.0.2-0.x86_64.rpm &#160; &#160; prepare yourself! ก่อนอื่น ลบ MTA ทั้งหมดที่มีทิ้ง ไม่ว่าจะเป็น sendmail postfix exim qmail อะไรก็ตามแต่ แล้วลงแค่ postfix [...]]]></description>
			<content:encoded><![CDATA[<p>เป็นการติดตั้ง mail server สำหรับส่ง bulk mail ปริมาณมหาศาล<br />
(พยายามทำให้ถึงวันละห้าแสนฉบับอยู่)<br />
แต่ย้ำก่อนนะครับว่าต่อให้ใช้วิธีนี้ แล้วส่ง mail ที่เป็น spam ยังไงก็ติด blacklist อยู่ดี ไม่มีประโยชน์</p>
<p>วิธีการติดตั้งด้านล่างเป็นวิธีสำหรับ OS เปล่าๆ หรือไม่มี control panel เท่านั้นครับ<br />
หากมี control panel อยู่จะไม่สามารถใช้งานได้ เพราะมันตีกัน</p>
<p>ส่วนไฟล์ มันมีแต่ของ centos 5 x86_64 นะครับ OS อื่นหนูไม่รู้ววว์</p>
<blockquote><p><a href="http://www.thzhost.com/files/dkim-milter-2.8.3-2.el5.x86_64.rpm">dkim-milter-2.8.3-2.el5.x86_64.rpm</a><br />
<a href="http://www.thzhost.com/files/dk-milter-1.0.2-0.x86_64.rpm">dk-milter-1.0.2-0.x86_64.rpm</a></p></blockquote>
<p>&nbsp;<br />
<br />&nbsp;</p>
<h2>prepare yourself!</h2>
<p>ก่อนอื่น ลบ MTA ทั้งหมดที่มีทิ้ง ไม่ว่าจะเป็น sendmail postfix exim qmail อะไรก็ตามแต่<br />
แล้วลงแค่ postfix ใหม่ๆ เลย</p>
<blockquote><p>yum install postfix sendmail<br />
chkconfig sendmail off<br />
chkconfig postfix on<br />
service sendmail stop<br />
service postfix start<br />
rpm -Uvh dk-milter-1.0.2-0.x86_64.rpm dkim-milter-2.8.3-2.el5.x86_64.rpm<br />
usermod -g 89 dkim-milter<br />
chkconfig dkim-milter on<br />
chkconfig dk-milter on<br />
chown postfix.postfix /usr/sbin/dkim-filter<br />
chown postfix -R /etc/mail/dkim-milter/keys<br />
rm -f /var/run/dkim-milter/dkim-milter.sock
</p></blockquote>
<p>&nbsp;<br />
<br />&nbsp;</p>
<p><span id="more-398"></span></p>
<h2>แก้ config !!!</h2>
<p>เปิดไฟล์ <strong>/etc/mail/dkim-milter/dkim-filter.conf</strong><br />
หา <strong style="color: blue;"># AuthservID            example.com</strong><br />
เอา comment ออก แล้วแก้ example.com เป็นชื่อ domain เช่น yourdomain.com</p>
<p>แล้วเลื่อนลงมาอีกหน่อย หา <strong style="color: blue;"># Domain                        example.com</strong><br />
เอา comment ออก ลบ example.com ทิ้ง แล้วใส่รายการ domain ที่ต้องการให้ sign DKIM (ถ้ามีหลาย domain ก็ใส่ , คั่น)</p>
<p>เลื่อนลงมาอีก หา <strong style="color: blue;">Selector                my-selector-name</strong><br />
แก้ my-selector-name เป็น default</p>
<p>เสร็จไป 1 ไฟล์ (ยังเหลืออีกบาน ฮาๆ)</p>
<p>&nbsp;<br />
<br />&nbsp;</p>
<p>ทีนี้&#8230; เปิดไฟล์ <strong>/etc/mail/dkim-milter/keys/keylist</strong><br />
ใส่ข้อมูลตามนี้</p>
<blockquote><p>*@<u style="color: red;">example.com</u>:<u style="color: red;">example.com</u>:/etc/dkim-milter/<u style="color: red;">example.com</u>/default</p></blockquote>
<p>อย่าลืมแก้ example.com เป็นชื่อ domain ที่ต้องการ sign ด้วยนะครับ<br />
ถ้ามีหลาย domain ก็ใส่บรรทัดละ 1 domain</p>
<p>&nbsp;<br />
<br />&nbsp;</p>
<p>เปิดไฟล์ /etc/sysconfig/dkim-milter<br />
เอา comment หน้า บรรทัด <strong style="color: blue;"># EXTRA_FLAGS=-bs</strong> ออก แล้วก็เซฟ</p>
<p>&nbsp;<br />
<br />&nbsp;</p>
<p>เปิดไฟล์ /etc/init.d/dkim-milter<br />
หาบรรทัดที่เขียนว่า user=${name} (ปกติจะอยู่บรรทัดที่ 19)<br />
แก้เป็น user=postfix</p>
<p>&nbsp;<br />
<br />&nbsp;</p>
<p>เปิดไฟล์ /etc/sysconfig/dk-milter</p>
<blockquote><p>#USER=&#8221;dk-milt&#8221;<br />
#<a href="http://search.twitter.com/search?q=%23PORT" rel="nofollow" target="_blank" title="Search Twitter for &quot;PORT&quot;">PORT</a>=&#8221;local:/var/run/dk-milter/dk.sock&#8221;<br />
#<a href="http://search.twitter.com/search?q=%23SIGNING_DOMAIN" rel="nofollow" target="_blank" title="Search Twitter for &quot;SIGNING_DOMAIN&quot;">SIGNING_DOMAIN</a>=&#8221;<u style="color: red;">example.com</u>&#8221;<br />
#<a href="http://search.twitter.com/search?q=%23SELECTOR_NAME" rel="nofollow" target="_blank" title="Search Twitter for &quot;SELECTOR_NAME&quot;">SELECTOR_NAME</a>=&#8221;<u style="color: red;">default</u>&#8221;<br />
#<a href="http://search.twitter.com/search?q=%23KEYFILE" rel="nofollow" target="_blank" title="Search Twitter for &quot;KEYFILE&quot;">KEYFILE</a>=&#8221;/etc/mail/domainkeys/dk_${SIGNING_DOMAIN}.pem&#8221;<br />
#<a href="http://search.twitter.com/search?q=%23SIGNER" rel="nofollow" target="_blank" title="Search Twitter for &quot;SIGNER&quot;">SIGNER</a>=yes<br />
#<a href="http://search.twitter.com/search?q=%23VERIFIER" rel="nofollow" target="_blank" title="Search Twitter for &quot;VERIFIER&quot;">VERIFIER</a>=yes<br />
#<a href="http://search.twitter.com/search?q=%23CANON" rel="nofollow" target="_blank" title="Search Twitter for &quot;CANON&quot;">CANON</a>=simple<br />
#<a href="http://search.twitter.com/search?q=%23REJECTION" rel="nofollow" target="_blank" title="Search Twitter for &quot;REJECTION&quot;">REJECTION</a>=&#8221;bad=r,dns=t,int=t,no=a,miss=r&#8221;<br />
#<a href="http://search.twitter.com/search?q=%23EXTRA_ARGS" rel="nofollow" target="_blank" title="Search Twitter for &quot;EXTRA_ARGS&quot;">EXTRA_ARGS</a>=&#8221;-h -l -D&#8221;<br />
#<a href="http://search.twitter.com/search?q=%23MILTER_GROUP" rel="nofollow" target="_blank" title="Search Twitter for &quot;MILTER_GROUP&quot;">MILTER_GROUP</a>=&#8221;<u style="color: red;">mail</u>&#8221;
</p></blockquote>
<p>เอา comment ออกให้หมด<br />
แก้ตัวแดงบรรทัด SIGNING_DOMAIN เป็นโดเมนหลักที่ต้องการ sign<br />
แก้ตัวแดงบรรทัด SELECTOR_NAME เป็น private<br />
แก้ตัวแดงบรรทัด MILTER_GROUP เป็น postfix</p>
<p>&nbsp;<br />
<br />&nbsp;</p>
<h2>DKIM sign</h2>
<p>มา gen key สำหรับ sign DKIM กัน</p>
<blockquote><p>mkdir -p /etc/dkim-milter/<u style="color: red;">example.com</u>/<br />
cd /etc/dkim-milter/<u style="color: red;">example.com</u>/<br />
dkim-genkey -d <u style="color: red;">example.com</u><br />
mv default.private default<br />
chown postfix -R /etc/dkim-milter/</p></blockquote>
<p>เหมือนเดิมนะครับ มีกี่โดเมนก็แก้ชื่อโดเมนทำให้ครบด้วย</p>
<p>ทีนี้หลังจาก gen แล้ว ใน folder ของแต่ละโดเมนจะมี file ชื่อ default.txt อยู่<br />
ข้างในจะเป็น DNS record ที่เราต้องเอาไปเพิ่มเข้าใน DNS ของ domain นั้นๆ<br />
สั่ง cat ดูได้เลยครับ (ถ้าใช้ bind ก็ก๊อปแปะใน zone file ได้เลย)</p>
<p>&nbsp;<br />
<br />&nbsp;</p>
<h2>DomainKeys sign</h2>
<p>มา gen key สำหรับ sign DomainKeys กัน</p>
<blockquote><p>cd /etc/mail/domainkeys/<br />
/usr/share/doc/dk-milter-1.0.2/gentxt.sh private <u style="color: red;">example.com</u><br />
mv private.private dk_<u style="color: red;">example.com</u>.pem
</p></blockquote>
<p>&nbsp;<br />
<br />&nbsp;</p>
<p>แก้จุดสุดท้าย<br />
เปิดไฟล์ /etc/postfix/main.cf<br />
ลงมาล่างสุดของไฟล์ เพิ่มไอ้นี่ลงไป</p>
<blockquote><p>smtpd_milters = unix:/var/run/dkim-milter/dkim-milter.sock unix:/var/run/dk-milter/dk.sock<br />
non_smtpd_milters = unix:/var/run/dkim-milter/dkim-milter.sock unix:/var/run/dk-milter/dk.sock</p></blockquote>
<p>เซฟ ปิด แล้วสั่ง</p>
<blockquote><p>rm -f /var/run/dkim-milter/dkim-milter.sock<br />
chown postfix -R /var/run/dkim-milter<br />
service dkim-milter restart<br />
service dk-milter restart<br />
service postfix restart</p></blockquote>
<hr />
<p>ฝั่ง server เรียบร้อย ทีนี้ก็ client ถ้าจะส่ง mail..<br />
มีข้อแนะนำในการส่งประมาณนี้</p>
<ol>
<li>reverse dns ของ ip ของ mail server ต้องชี้มายัง domain เดียวกันกับที่ใช้ส่ง</li>
<li>ทำ SPF Record ให้เรียบร้อย</li>
<li>DomainKeys + DKIM ตามวิธีด้านบน</li>
<li>ในเนื้อหา mail ต้องมีระบุข้อความว่า ให้ยกเลิกการรับข่าวสาร email ได้ที่ไหน</li>
<li>ใส่ header List-Unsubscribe ที่ชี้ไปยัง URL หรือ email ที่สามารถส่งไปขอยกเลิกการรับ mail ได้</li>
<li>การขอยกเลิกการรับข่าวสาร อนุญาตให้มีได้แค่ปุ่มยืนยันการยกเลิกเท่านั้น</li>
<li>ตั้ง Sender กับ Return-Path ให้รับ mail ได้ เพื่อไว้รอรับ mail ตีกลับ</li>
<li>ลบ email ที่ถูกตีกลับออกจากรายการ mail ที่ใช้ส่งตลอดเวลา</li>
<li>ไม่ส่ง mail เนื้อหาเดียวกันซ้ำๆ กัน</li>
<li>[สำหรับส่งเข้า yahoo] <a href="http://help.yahoo.com/l/us/yahoo/mail/postmaster/forms_index.html">http://help.yahoo.com/l/us/yahoo/mail/postmaster/forms_index.html</a> เข้าไปแล้วเลือก Yahoo! Mail Bulk Sender Form กรอกให้ครบ</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/398/postfix-domainkeys-dkim/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>0085 &#124; DirectAdmin + mod_fcgid + php fastcgi</title>
		<link>http://www.icez.net/blog/389/directadmin-mod_fcgid-php-fastcgi</link>
		<comments>http://www.icez.net/blog/389/directadmin-mod_fcgid-php-fastcgi#comments</comments>
		<pubDate>Fri, 13 Nov 2009 23:14:02 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[directadmin]]></category>
		<category><![CDATA[fastcgi]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[PHP Coding]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=389</guid>
		<description><![CDATA[ก่อนอื่น copy &#038; paste ตามสูตร cd /usr/local/src wget http://mirrors.issp.co.th/apache/httpd/mod_fcgid/mod_fcgid-2.3.4.tar.bz2 tar jxf mod_fcgid-2.3.4.tar.bz2 cd mod_fcgid-2.3.4 APXS=/usr/sbin/apxs ./configure.apxs &#38;&#38; make &#38;&#38; make install chmod 755 -R /var/lib/httpd mkdir /fcgi ไปที่ /usr/local/directadmin/custombuild/ เปิดไฟล์ options.conf แก้ php5_cgi=yes ส่วน php อันอื่น no ให้หมด แล้วสั่ง ./build php จนเสร็จ แล้วเปิดไฟล์ /etc/httpd/conf/extra/httpd-info.conf เพิ่มไอ้นี่ต่อท้าย LoadModule fcgid_module /usr/lib/apache/mod_fcgid.so &#160; SharememPath /var/run/fcgid_shm SocketPath /var/lib/httpd/fcgid/sock &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>ก่อนอื่น copy &#038; paste ตามสูตร</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>src
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>mirrors.issp.co.th<span style="color: #000000; font-weight: bold;">/</span>apache<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>mod_fcgid<span style="color: #000000; font-weight: bold;">/</span>mod_fcgid-2.3.4.tar.bz2
<span style="color: #c20cb9; font-weight: bold;">tar</span> jxf mod_fcgid-2.3.4.tar.bz2
<span style="color: #7a0874; font-weight: bold;">cd</span> mod_fcgid-2.3.4
<span style="color: #007800;">APXS</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>apxs .<span style="color: #000000; font-weight: bold;">/</span>configure.apxs <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span>
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">755</span> <span style="color: #660033;">-R</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>httpd
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>fcgi</pre></div></div>

<p>ไปที่ /usr/local/directadmin/custombuild/<br />
เปิดไฟล์ options.conf แก้ php5_cgi=yes ส่วน php อันอื่น no ให้หมด<br />
แล้วสั่ง ./build php จนเสร็จ</p>
<p>แล้วเปิดไฟล์ /etc/httpd/conf/extra/httpd-info.conf<br />
เพิ่มไอ้นี่ต่อท้าย</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">LoadModule</span> fcgid_module /usr/lib/apache/mod_fcgid.so
&nbsp;
SharememPath /var/run/fcgid_shm
SocketPath /var/lib/httpd/fcgid/sock
&nbsp;
&nbsp;
&nbsp;
&lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_fcgid.c&gt;
  IdleTimeout <span style="color: #ff0000;">3600</span>
  ProcessLifeTime <span style="color: #ff0000;">7200</span>
  MaxProcessCount <span style="color: #ff0000;">128</span>
  DefaultMaxClassProcessCount <span style="color: #ff0000;">4</span>
  IPCConnectTimeout <span style="color: #ff0000;">60</span>
  IPCCommTimeout <span style="color: #ff0000;">90</span>
  DefaultInitEnv RAILS_ENV production
<span style="color: #adadad; font-style: italic;">#  DefaultInitEnv PHP_FCGI_CHILDREN 4</span>
<span style="color: #adadad; font-style: italic;">#  MaxRequestsPerProcess 500</span>
&lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;
&nbsp;
&lt;<span style="color: #000000; font-weight:bold;">Directory</span> <span style="color: #7f007f;">&quot;/home&quot;</span>&gt;
        <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">All</span>
        <span style="color: #00007f;">Options</span> SymLinksIfOwnerMatch
        <span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
        <span style="color: #00007f;">Allow</span> from <span style="color: #0000ff;">all</span>
        &lt;<span style="color: #000000; font-weight:bold;">IfModule</span> sapi_apache2.c&gt;
        <span style="color: #00007f;">php_admin_flag</span> engine <span style="color: #0000ff;">off</span>
        &lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;
        &lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_php5.c&gt;
        <span style="color: #00007f;">php_admin_flag</span> engine <span style="color: #0000ff;">off</span>
        &lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;
&lt;/<span style="color: #000000; font-weight:bold;">Directory</span>&gt;</pre></div></div>

<p>เสร็จแล้วเข้าไป folder /usr/local/directadmin/data/templates<br />
เปิดไฟล์ที่ขึ้นต้นด้วย virtual_host2*.conf (มีทั้งหมด 4 ไฟล์)<br />
ใน section เดิมที่เป็น PHP ทั้งหมด ให้ comment ไว้ จะได้ประมาณนี้</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">|*if CLI=<span style="color: #7f007f;">&quot;1&quot;</span>|
<span style="color: #adadad; font-style: italic;">#               php_admin_flag engine |PHP|</span>
<span style="color: #adadad; font-style: italic;">#               &lt;IfModule !mod_php6.c&gt;</span>
<span style="color: #adadad; font-style: italic;">#                       php_admin_flag safe_mode |SAFE_MODE|</span>
<span style="color: #adadad; font-style: italic;">#               &lt;/IfModule&gt;</span>
<span style="color: #adadad; font-style: italic;">#               php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f |USER|@|DOMAIN|'</span>
|*endif|
|*if OPEN_BASEDIR=<span style="color: #7f007f;">&quot;ON&quot;</span>|
<span style="color: #adadad; font-style: italic;">#               php_admin_value open_basedir |OPEN_BASEDIR_PATH|</span>
|*endif|
|*if SUPHP=<span style="color: #7f007f;">&quot;1&quot;</span>|
<span style="color: #adadad; font-style: italic;">#                suPHP_Engine |PHP|</span>
<span style="color: #adadad; font-style: italic;">#               suPHP_UserGroup |USER| |GROUP|</span>
|*endif|</pre></div></div>

<p>แล้วแทรกไอ้นี่เข้าไปด้านบนของไอ้เมื่อกี้</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">	&lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_fcgid.c&gt;
		&lt;<span style="color: #000000; font-weight:bold;">Files</span> ~ (\.fcgi)&gt;
			<span style="color: #00007f;">SetHandler</span> fcgid-<span style="color: #00007f;">script</span>
			<span style="color: #00007f;">Options</span> +<span style="color: #0000ff;">FollowSymLinks</span> +ExecCGI
		&lt;/<span style="color: #000000; font-weight:bold;">Files</span>&gt;
	&lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;
	&lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_fcgid.c&gt;
	&lt;<span style="color: #000000; font-weight:bold;">Files</span> ~ (\.php)&gt;
		<span style="color: #00007f;">SetHandler</span> fcgid-<span style="color: #00007f;">script</span>
		FCGIWrapper <span style="color: #7f007f;">&quot;/fcgi/|USER|/public_html/fcgid.sh&quot;</span> .php
		<span style="color: #00007f;">Options</span> +ExecCGI
		<span style="color: #00007f;">allow</span> from <span style="color: #0000ff;">all</span>
	&lt;/<span style="color: #000000; font-weight:bold;">Files</span>&gt;
	&lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;</pre></div></div>

<p>แล้วเข้าไป folder /usr/local/directadmin/scripts/custom/<br />
สร้างไฟล์ชื่อ fcgid.sh ใส่ข้อมูลตามนี้</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PHP_FCGI_MAX_REQUESTS</span>=<span style="color: #000000;">0</span>
<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>php5<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php-cgi</pre></div></div>

<p>ใน folder เดียวกัน สร้างไฟล์ชื่อ domain_create_post.sh ใส่ข้อมูลตามนี้</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">/</span>fcgi<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${username}</span><span style="color: #000000; font-weight: bold;">/</span>public_html
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>directadmin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>custom<span style="color: #000000; font-weight: bold;">/</span>fcgid.sh <span style="color: #000000; font-weight: bold;">/</span>fcgi<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${username}</span><span style="color: #000000; font-weight: bold;">/</span>public_html<span style="color: #000000; font-weight: bold;">/</span>fcgid.sh <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> 0700 <span style="color: #000000; font-weight: bold;">/</span>fcgi<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${username}</span><span style="color: #000000; font-weight: bold;">/</span>public_html<span style="color: #000000; font-weight: bold;">/</span>fcgid.sh
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>directadmin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>custom<span style="color: #000000; font-weight: bold;">/</span>php.ini <span style="color: #000000; font-weight: bold;">/</span>fcgi<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${username}</span><span style="color: #000000; font-weight: bold;">/</span>public_html<span style="color: #000000; font-weight: bold;">/</span>php.ini
<span style="color: #c20cb9; font-weight: bold;">perl</span> <span style="color: #660033;">-pi</span> <span style="color: #660033;">-w</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;s/PHPCFG_BASEDIR/\/home\/<span style="color: #007800;">${username}</span>\//g;&quot;</span> <span style="color: #000000; font-weight: bold;">/</span>fcgi<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${username}</span><span style="color: #000000; font-weight: bold;">/</span>public_html<span style="color: #000000; font-weight: bold;">/</span>php.ini
<span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> <span style="color: #800000;">${username}</span>:<span style="color: #800000;">${username}</span> <span style="color: #000000; font-weight: bold;">/</span>fcgi<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${username}</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #780078;">`date`</span>  <span style="color: #007800;">${domain}</span> created  &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>directadmin<span style="color: #000000; font-weight: bold;">/</span>domain_create.log</pre></div></div>

<p>แล้วสั่ง copy file php.ini มาใส่ไว้ใน /usr/local/directadmin/scripts/custom/php.ini<br />
เปิดไฟล์ /usr/local/directadmin/scripts/custom/php.ini ที่ก๊อปมาเมื่อกี้ แล้วหา open_basedir<br />
ซึ่งปกติมันจะ comment ไว้ ให้แก้เป็นประมาณนี้</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">open_basedir <span style="color: #339933;">=</span> PHPCFG_BASEDIR<span style="color: #339933;">:/</span>tmp<span style="color: #339933;">:/</span><span style="color: #000000; font-weight: bold;">var</span><span style="color: #339933;">/</span>tmp</pre></div></div>

<p>เสร็จแล้วสั่ง chmod a+x /usr/local/directadmin/scripts/custom/*.sh</p>
<p>*** วิธีทั้งหมดไม่รับประกันผล และควรใช้กับเครื่องเพิ่งลงใหม่เท่านั้น</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/389/directadmin-mod_fcgid-php-fastcgi/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.icez.net @ 2012-02-10 17:40:12 -->
