<?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>MEMOBALL.info &#187; ubuntu</title>
	<atom:link href="http://www.memoball.info/tag/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.memoball.info</link>
	<description>All of my Memories</description>
	<lastBuildDate>Thu, 22 Jul 2010 06:17:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>http proxy สำหรับ apt-get</title>
		<link>http://www.memoball.info/07/http-proxy-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-apt-get/</link>
		<comments>http://www.memoball.info/07/http-proxy-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-apt-get/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 03:27:20 +0000</pubDate>
		<dc:creator>spnball</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.memoball.info/?p=474</guid>
		<description><![CDATA[ในกรณีที่เครื่องของเราอยู่หลังเครื่อง proxy เช่น เครื่องใน office ทั่วไป จะไม่สามารถใช้งาน apt-get ได้เนื่องจาก apt-get ต้องไปดึง file ผ่าน http ซึ่งไม่สามารวิ่งทะลุผ่าน gateway ได้โดยตรง
apt-get จึงต้องวิ่งผ่าน proxy โดยสามารถทำได้โดยเติม ใน file .bashrc ใน home directory

# apt-get proxy
export http_proxy=http://[proxy ID or domain]:[port]/
export ftp_proxy=ftp://[proxy ID or domain]:[port]/

อย่าลืม log in ใหม่
แต่ในกรณีจากการทดสอบ จะไม่สามารถใช้ sudo ได้ เพราะมันจะไม่โหลด environment ของ user ของเราไปด้วย ดังนั้นจึงต้องเข้าด้วย sudo -s เพื่อไปเป็น root ก่อน
เมื่อเข้าไปแล้วลอง export environment [...]]]></description>
			<content:encoded><![CDATA[<p>ในกรณีที่เครื่องของเราอยู่หลังเครื่อง proxy เช่น เครื่องใน office ทั่วไป จะไม่สามารถใช้งาน apt-get ได้เนื่องจาก apt-get ต้องไปดึง file ผ่าน http ซึ่งไม่สามารวิ่งทะลุผ่าน gateway ได้โดยตรง<br />
apt-get จึงต้องวิ่งผ่าน proxy โดยสามารถทำได้โดยเติม ใน file <strong>.bashrc </strong>ใน home directory<span id="more-474"></span></p>
<pre>
# apt-get proxy
export http_proxy=http://[proxy ID or domain]:[port]/
export ftp_proxy=ftp://[proxy ID or domain]:[port]/
</pre>
<p>อย่าลืม log in ใหม่<br />
แต่ในกรณีจากการทดสอบ จะไม่สามารถใช้ sudo ได้ เพราะมันจะไม่โหลด environment ของ user ของเราไปด้วย ดังนั้นจึงต้องเข้าด้วย sudo -s เพื่อไปเป็น root ก่อน<br />
เมื่อเข้าไปแล้วลอง export environment ออกมาดู จะเป็น http_proxy เป็นค่าที่เราใส่เข้าไป</p>
<pre>
user# export
</pre>
<p>จะสังเกตว่าปลายทางที่เราไปดึงข้อมูลจะเป็น ip หรือ domain ของ proxy</p>
]]></content:encoded>
			<wfw:commentRss>http://www.memoball.info/07/http-proxy-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-apt-get/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ติดตั้ง (Install) Samba Server บน Ubuntu</title>
		<link>http://www.memoball.info/10/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-install-samba-server-%e0%b8%9a%e0%b8%99-ubuntu/</link>
		<comments>http://www.memoball.info/10/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-install-samba-server-%e0%b8%9a%e0%b8%99-ubuntu/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 17:46:45 +0000</pubDate>
		<dc:creator>spnball</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.memoball.info/?p=416</guid>
		<description><![CDATA[นำความรู้เก่าที่การเปิดใช้งานระบบ file sharing บนวินโดว์ หรือ samba บนเครื่อง Ubuntu
วิธีทำ ก็ง่ายแสนง่าย  ดังนี้


จาก WikiBall


			
นำความรู้เก่าที่การเปิดใช้งานระบบ file sharing บนวินโดว์ หรือ samba บนเครื่อง Ubuntu





เนื้อหา


1 ติดตั้ง
2 Authentication

2.1 Config
2.2 Create a Samba User

2.2.1 สร้าง smb password
2.2.2 สร้าง smbusers file




3 สร้าง directory




 if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } 

  ติดตั้ง 
ก่อนอื่น ลง samba ก่อน


  [...]]]></description>
			<content:encoded><![CDATA[<p>นำความรู้เก่าที่การเปิดใช้งานระบบ file sharing บนวินโดว์ หรือ samba บนเครื่อง Ubuntu<br />
วิธีทำ ก็ง่ายแสนง่าย  ดังนี้<br />
<span id="more-416"></span></p>
<div id="bodyContent">
<h3 id="siteSub"><a href="http://wiki.memoball.info/index.php/Install_Samba_Server_%E0%B8%9A%E0%B8%99_Ubuntu">จาก WikiBall</a></h3>
<div id="contentSub"></div>
<div id="jump-to-nav"></div>
<p>			<!-- start content --></p>
<p>นำความรู้เก่าที่การเปิดใช้งานระบบ file sharing บนวินโดว์ หรือ samba บนเครื่อง Ubuntu
</p>
<table id="toc" class="toc" summary="เนื้อหา">
<tr>
<td>
<div id="toctitle">
<h2>เนื้อหา</h2>
</div>
<ul>
<li class="toclevel-1"><a href="./#.E0.B8.95.E0.B8.B4.E0.B8.94.E0.B8.95.E0.B8.B1.E0.B9.89.E0.B8.87" ref="toc"><span class="tocnumber">1</span> <span class="toctext">ติดตั้ง</span></a></li>
<li class="toclevel-1"><a href="./#Authentication" ref="toc"><span class="tocnumber">2</span> <span class="toctext">Authentication</span></a>
<ul>
<li class="toclevel-2"><a href="./#Config" ref="toc"><span class="tocnumber">2.1</span> <span class="toctext">Config</span></a></li>
<li class="toclevel-2"><a href="./#Create_a_Samba_User" ref="toc"><span class="tocnumber">2.2</span> <span class="toctext">Create a Samba User</span></a>
<ul>
<li class="toclevel-3"><a href="./#.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_smb_password" ref="toc"><span class="tocnumber">2.2.1</span> <span class="toctext">สร้าง smb password</span></a></li>
<li class="toclevel-3"><a href="./#.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_smbusers_file" ref="toc"><span class="tocnumber">2.2.2</span> <span class="toctext">สร้าง smbusers file</span></a></li>
</ul>
</li>
</ul>
</li>
<li class="toclevel-1"><a href="./#.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_directory" ref="toc"><span class="tocnumber">3</span> <span class="toctext">สร้าง directory</span></a></li>
</ul>
</td>
</tr>
</table>
<p><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } </script><br />
<a name=".E0.B8.95.E0.B8.B4.E0.B8.94.E0.B8.95.E0.B8.B1.E0.B9.89.E0.B8.87" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> ติดตั้ง </span></h2>
<p>ก่อนอื่น ลง samba ก่อน
</p>
<pre>
    sudo apt-get install samba smbfs
</pre>
<p><a name="Authentication" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> Authentication </span></h2>
<p><a name="Config" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> Config </span></h3>
<pre>    sudo vim /etc/samba/smb.conf
</pre>
<pre>
    ####### Authentication #######

    # “security = user” is always a good idea. This will require a Unix account
    # in this server for every user accessing the server. See
    # /usr/share/doc/samba-doc/htmldocs/Samba-HOWTO-Collection/ServerType.html
    # in the samba-doc package for details.
   &nbsp;;  security = user
</pre>
<p>เอา comment ออก เพิ่มไปอีกบรรทัดนึง
</p>
<pre>
    security = user
    username map = /etc/samba/smbusers
</pre>
<p><a name="Create_a_Samba_User" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> Create a Samba User </span></h3>
<p><a name=".E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_smb_password" href="http://wiki.memoball.info/"></a><br />
<h4> <span class="mw-headline"> สร้าง smb password </span></h4>
<pre>
    sudo smbpasswd -a &lt;username&gt;</pre>
<p><a name=".E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_smbusers_file" href="http://wiki.memoball.info/"></a><br />
<h4> <span class="mw-headline"> สร้าง smbusers file </span></h4>
<pre>
    sudo vim /etc/samba/smbusers</pre>
<p>ถ้าต้องการใช้ username ให้เหมือนที่ใช้ username ของ Ubuntu
</p>
<pre>&lt;ubuntuusername&gt; = “&lt;samba username&gt;” </pre>
<p>หรือถ้าต้องการสร้าง username ขึ้นมาใหม่โดยไม่ผูกกับ OS
</p>
<pre>    &lt;username&gt; = “&lt;username&gt;”</pre>
<p><a name=".E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_directory" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> สร้าง directory </span></h2>
<pre> sudo vim smb.conf</pre>
<pre>
[dirname]
   comment = The ball's comment
   path = /path/to/share/file
   browseable = yes
   read only = no
   guest ok = no
   write list = root, &lt;username&gt;
</pre>
<p><!--<br />
NewPP limit report<br />
Preprocessor node count: 38/1000000<br />
Post-expand include size: 0/2097152 bytes<br />
Template argument size: 0/2097152 bytes<br />
Expensive parser function count: 0/100<br />
--></p>
<p><!-- Saved in parser cache with key memoball_wiki:pcache:idhash:74-0!1!0!!th!2!edit=0 and timestamp 20091009174633 --></p>
<div class="printfooter">
<h5>รับข้อมูลจาก (Reference) : </h5>
<p>จาก WikiBall : <a href="http://wiki.memoball.info/index.php/Install_Samba_Server_%E0%B8%9A%E0%B8%99_Ubuntu">http://wiki.memoball.info/index.php/Install_Samba_Server_บน_Ubuntu</a></div>
<div id='catlinks' class='catlinks'>
<div id="mw-normal-catlinks"><a href="http://wiki.memoball.info//index.php/%E0%B8%9E%E0%B8%B4%E0%B9%80%E0%B8%A8%E0%B8%A9:Categories" title="พิเศษ:Categories">หมวดหมู่</a>:&#32;<span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Ubuntu&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Ubuntu (ยังไม่ได้สร้าง)">Ubuntu</a></span></div>
</div>
<p>			<!-- end content --></p>
<div class="visualClear"></div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.memoball.info/10/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-install-samba-server-%e0%b8%9a%e0%b8%99-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>การติดตั้ง SVN &amp; Trac ร่วมกับ Apache ใน Ubuntu</title>
		<link>http://www.memoball.info/10/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-svn-trac-%e0%b8%a3%e0%b9%88%e0%b8%a7%e0%b8%a1%e0%b8%81%e0%b8%b1%e0%b8%9a-apache-%e0%b9%83%e0%b8%99-ubun/</link>
		<comments>http://www.memoball.info/10/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-svn-trac-%e0%b8%a3%e0%b9%88%e0%b8%a7%e0%b8%a1%e0%b8%81%e0%b8%b1%e0%b8%9a-apache-%e0%b9%83%e0%b8%99-ubun/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 09:11:46 +0000</pubDate>
		<dc:creator>spnball</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[trac]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.memoball.info/?p=411</guid>
		<description><![CDATA[ช่วงนี้กำลังปรับปรุงระบบ SVN ใหม่อยู่ โดยจะให้การทำ authen ผ่าน .htaccess เดียวกันทั้ง SVN &#38; Trac
จึงได้นำ SVN และ Trac มาผูกรวมกับ Apache ซึ่งเป็นวิธีการติดตั้งที่ง่ายกว่า และสะดวกกว่าการติดตั้งแบบที่นำเสนอครั้งก่อน โดยอาศัย dav_svn กับ mods_python เข้ามาช่วย


จาก WikiBall


			




เนื้อหา


1 ติดตั้ง Program ใน Ubuntu

1.1 SVN + Apache
1.2 Trac + Apache


2 การสร้าง project

2.1 สร้าง repository
2.2 สร้าง Trac


3 Enable apache modules
4 Apache configure

4.1 configuration file สำหรับ trac
4.2 configuration file สำหรับ subversion
4.3 Enable site


5 [...]]]></description>
			<content:encoded><![CDATA[<p>ช่วงนี้กำลังปรับปรุงระบบ SVN ใหม่อยู่ โดยจะให้การทำ authen ผ่าน .htaccess เดียวกันทั้ง SVN &amp; Trac<br />
จึงได้นำ SVN และ Trac มาผูกรวมกับ Apache ซึ่งเป็นวิธีการติดตั้งที่ง่ายกว่า และสะดวกกว่า<a href="http://www.memoball.info/01/%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89-web-interface-%E0%B8%82%E0%B8%AD%E0%B8%87-trac/">การติดตั้งแบบที่นำเสนอครั้งก่อน</a> โดยอาศัย dav_svn กับ mods_python เข้ามาช่วย<br />
<span id="more-411"></span></p>
<div id="bodyContent">
<h3 id="siteSub"><a href="http://wiki.memoball.info/index.php/SVN%2BTrac%2Bapache2">จาก WikiBall</a></h3>
<div id="contentSub"></div>
<div id="jump-to-nav"></div>
<p>			<!-- start content --></p>
<table id="toc" class="toc" summary="เนื้อหา">
<tr>
<td>
<div id="toctitle">
<h2>เนื้อหา</h2>
</div>
<ul>
<li class="toclevel-1"><a href="./#.E0.B8.95.E0.B8.B4.E0.B8.94.E0.B8.95.E0.B8.B1.E0.B9.89.E0.B8.87_Program_.E0.B9.83.E0.B8.99_Ubuntu" ref="toc"><span class="tocnumber">1</span> <span class="toctext">ติดตั้ง Program ใน Ubuntu</span></a>
<ul>
<li class="toclevel-2"><a href="./#SVN_.2B_Apache" ref="toc"><span class="tocnumber">1.1</span> <span class="toctext">SVN + Apache</span></a></li>
<li class="toclevel-2"><a href="./#Trac_.2B_Apache" ref="toc"><span class="tocnumber">1.2</span> <span class="toctext">Trac + Apache</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_project" ref="toc"><span class="tocnumber">2</span> <span class="toctext">การสร้าง project</span></a>
<ul>
<li class="toclevel-2"><a href="./#.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_repository" ref="toc"><span class="tocnumber">2.1</span> <span class="toctext">สร้าง repository</span></a></li>
<li class="toclevel-2"><a href="./#.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_Trac" ref="toc"><span class="tocnumber">2.2</span> <span class="toctext">สร้าง Trac</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="./#Enable_apache_modules" ref="toc"><span class="tocnumber">3</span> <span class="toctext">Enable apache modules</span></a></li>
<li class="toclevel-1"><a href="./#Apache_configure" ref="toc"><span class="tocnumber">4</span> <span class="toctext">Apache configure</span></a>
<ul>
<li class="toclevel-2"><a href="./#configuration_file_.E0.B8.AA.E0.B8.B3.E0.B8.AB.E0.B8.A3.E0.B8.B1.E0.B8.9A_trac" ref="toc"><span class="tocnumber">4.1</span> <span class="toctext">configuration file สำหรับ trac</span></a></li>
<li class="toclevel-2"><a href="./#configuration_file_.E0.B8.AA.E0.B8.B3.E0.B8.AB.E0.B8.A3.E0.B8.B1.E0.B8.9A_subversion" ref="toc"><span class="tocnumber">4.2</span> <span class="toctext">configuration file สำหรับ subversion</span></a></li>
<li class="toclevel-2"><a href="./#Enable_site" ref="toc"><span class="tocnumber">4.3</span> <span class="toctext">Enable site</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="./#.E0.B8.A7.E0.B8.B4.E0.B8.98.E0.B8.B5.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_.htaccess" ref="toc"><span class="tocnumber">5</span> <span class="toctext">วิธีสร้าง .htaccess</span></a></li>
<li class="toclevel-1"><a href="./#Restart_apache" ref="toc"><span class="tocnumber">6</span> <span class="toctext">Restart apache</span></a></li>
<li class="toclevel-1"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B9.83.E0.B8.8A.E0.B9.89.E0.B8.87.E0.B8.B2.E0.B8.99" ref="toc"><span class="tocnumber">7</span> <span class="toctext">การใช้งาน</span></a></li>
</ul>
</td>
</tr>
</table>
<p><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } </script><br />
<a name=".E0.B8.95.E0.B8.B4.E0.B8.94.E0.B8.95.E0.B8.B1.E0.B9.89.E0.B8.87_Program_.E0.B9.83.E0.B8.99_Ubuntu" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline">ติดตั้ง Program ใน Ubuntu</span></h2>
<p><a name="SVN_.2B_Apache" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> SVN + Apache </span></h3>
<p>ติดตั้ง apache
</p>
<pre>
$ sudo apt-get install apache2
</pre>
<p>ติดตั้ง svn
</p>
<pre>
$ sudo apt-get install subversion
</pre>
<p>ติดตั้งโมดูล svn ของ apache
</p>
<pre>
$ sudo apt-get install libapache2-svn
</pre>
<p><a name="Trac_.2B_Apache" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> Trac + Apache </span></h3>
<p>การติดตั้ง Trac จำเป็นต้องมี SVN อยู่ก่อนแล้ว<br />
จึงทำการติดตั้ง Trac ดังนี้<br />
ดาวโหลด trac มาใส่ไว้ในที่ไดที่หนึ่งอาจเป็น /home/user ก็ได้ หรืออาจให้ wget ดึงมาเลย
</p>
<pre>
wget http://ftp.edgewall.com/pub/trac/Trac-0.11.5.tar.gz
</pre>
<p>ระเบิดมัน
</p>
<pre>tar -xzf Trac-0.11.5.tar.gz</pre>
<p>ลง Python setup
</p>
<pre>$ sudo apt-get install python-setuptools</pre>
<p>เข้าไปที่ directory ดังกล่าว  Trac-0.11.5 แล้วทำการ install
</p>
<pre>$ sudo python ./setup.py install</pre>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_project" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> การสร้าง project </span></h2>
<p><a name=".E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_repository" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> สร้าง repository </span></h3>
<p>ตัวอย่างการสร้าง
</p>
<pre>$ svnadmin create /var/svn/repository/example</pre>
<p>นำเข้า (import) project
</p>
<pre>$ svn import /path/to/projectexample file:///var/svn/repository/example/examplev1 -m&quot;initial import&quot; </pre>
<p><a name=".E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_Trac" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> สร้าง Trac </span></h3>
<p>การสร้าง project enviroment รันคำสั่ง
</p>
<pre>$ trac-admin /path/to/myproject initenv</pre>
<p>ดู option ต่างๆ ได้ที่ <a href="http://wiki.memoball.info//index.php/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99_trac" title="การใช้งาน trac">การใช้งาน trac</a>
</p>
<p><a name="Enable_apache_modules" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> Enable apache modules </span></h2>
<p>เราต้องทำการ enable apache modules โดยการทำ soft link ใน /etc/apache2/mods-enabled ไปยัง /etc/apache2/mods-available/
</p>
<pre>
$ cd /etc/apache2/mods-enabled
$ sudo ln -s ../mods-available/dav_svn.conf
$ sudo ln -s ../mods-available/dav_svn.load
$ sudo ln -s ../mods-available/mod_python.load
</pre>
<p><a name="Apache_configure" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> Apache configure </span></h2>
<p>หลังจากลงโปรแกรม แล้ว เราก็จะมากทำการ config เจ้าตัว apache ของเราให้สามารถทำงานได้กัน โดยก่อนอื่นต้องเข้าไปที่ /etc/apache2/sites-available/
</p>
<p><a name="configuration_file_.E0.B8.AA.E0.B8.B3.E0.B8.AB.E0.B8.A3.E0.B8.B1.E0.B8.9A_trac" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> configuration file สำหรับ trac </span></h3>
<p>สร้าง config file ใหม่
</p>
<pre>
$sudo vim trac
</pre>
<pre>
&lt;Location /uri/path/to/trac/project&gt;
        SetHandler mod_python
        PythonInterpreter main_interpreter
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnv /path/to/project/environment
        PythonOption TracUriRoot /uri/path/to/trac/project
&lt;/Location&gt;
</pre>
<p>ถ้าต้องการทำ authentication ผ่าน .htaccess ของ apache ให้เพิ่มโค้ดด้านล่าง ลงใน Location
</p>
<pre>
        AuthType Basic
        AuthName &quot;Project name&quot;
        AuthUserFile /path/to/.htaccess
        Require valid-user
</pre>
<p><a name="configuration_file_.E0.B8.AA.E0.B8.B3.E0.B8.AB.E0.B8.A3.E0.B8.B1.E0.B8.9A_subversion" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> configuration file สำหรับ subversion </span></h3>
<p>สร้าง config file ใหม่
</p>
<pre>
$sudo vim svn
</pre>
<pre>
&lt;Location /uri/path/to/svn/project&gt;
        DAV svn
        SVNPath /var/svn/repository/rddi/mailgoth/
&lt;/Location
</pre>
<p>ถ้าต้องการทำ authentication ผ่าน .htaccess ของ apache ให้เพิ่มโค้ดด้านล่าง ลงใน Location
</p>
<pre>
        AuthType Basic
        AuthName Foo
        AuthUserFile /var/svn/repository/rddi/mailgoth/.htaccess

        require valid-user
        Order deny,allow
</pre>
<p><a name="Enable_site" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> Enable site </span></h3>
<p>ทำการ Enable site
</p>
<pre>
$ cd /etc/apache2/sites-enabled/
$ sudo ln -s ../sites-available/svn 002-svn
$ sudo ln -s ../sites-available/trac 002-trac
</pre>
<p><a name=".E0.B8.A7.E0.B8.B4.E0.B8.98.E0.B8.B5.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_.htaccess" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> วิธีสร้าง .htaccess </span></h2>
<pre>htpasswd -c .htaccess username</pre>
<p><a name="Restart_apache" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> Restart apache </span></h2>
<p>สั่ง restart apache
</p>
<pre> $ sudo apache2ctl restart</pre>
<p>ถ้าเข้าแล้วยังมี error อยู่ ให้ไปดูที่ /var/log/apache/error.log ว่ามี Error อะไรเกิดขึ้น
</p>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B9.83.E0.B8.8A.E0.B9.89.E0.B8.87.E0.B8.B2.E0.B8.99" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> การใช้งาน </span></h2>
<ul>
<li>เข้าใช้งาน Trac&nbsp;: http:/site.name/uri/path/to/trac/project
</li>
<li>เข้าใช้งาน SVN&nbsp;: http:/site.name/uri/path/to/svn/project
</li>
</ul>
<p><!--<br />
NewPP limit report<br />
Preprocessor node count: 75/1000000<br />
Post-expand include size: 0/2097152 bytes<br />
Template argument size: 0/2097152 bytes<br />
Expensive parser function count: 0/100<br />
--></p>
<p><!-- Saved in parser cache with key memoball_wiki:pcache:idhash:73-0!1!0!!th!2!edit=0 and timestamp 20091002091041 --></p>
<div class="printfooter">
<h5>รับข้อมูลจาก (Reference) : </h5>
<p>จาก WikiBall : <a href="http://wiki.memoball.info/index.php/SVN%2BTrac%2Bapache2">http://wiki.memoball.info/index.php/SVN+Trac+apache2</a></div>
<div id='catlinks' class='catlinks'>
<div id="mw-normal-catlinks"><a href="http://wiki.memoball.info//index.php/%E0%B8%9E%E0%B8%B4%E0%B9%80%E0%B8%A8%E0%B8%A9:Categories" title="พิเศษ:Categories">หมวดหมู่</a>:&#32;<span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:SVN&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:SVN (ยังไม่ได้สร้าง)">SVN</a></span> | <span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Apache&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Apache (ยังไม่ได้สร้าง)">Apache</a></span> | <span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Trac&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Trac (ยังไม่ได้สร้าง)">Trac</a></span> | <span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Ubuntu&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Ubuntu (ยังไม่ได้สร้าง)">Ubuntu</a></span></div>
</div>
<p>			<!-- end content --></p>
<div class="visualClear"></div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.memoball.info/10/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-svn-trac-%e0%b8%a3%e0%b9%88%e0%b8%a7%e0%b8%a1%e0%b8%81%e0%b8%b1%e0%b8%9a-apache-%e0%b9%83%e0%b8%99-ubun/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>การทำ proxy tunnel โดยผ่าน ssh ใน ubuntu</title>
		<link>http://www.memoball.info/08/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%97%e0%b8%b3-proxy-tunnel-%e0%b9%82%e0%b8%94%e0%b8%a2%e0%b8%9c%e0%b9%88%e0%b8%b2%e0%b8%99-ssh-%e0%b9%83%e0%b8%99-ubuntu/</link>
		<comments>http://www.memoball.info/08/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%97%e0%b8%b3-proxy-tunnel-%e0%b9%82%e0%b8%94%e0%b8%a2%e0%b8%9c%e0%b9%88%e0%b8%b2%e0%b8%99-ssh-%e0%b9%83%e0%b8%99-ubuntu/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 14:34:27 +0000</pubDate>
		<dc:creator>spnball</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.memoball.info/?p=360</guid>
		<description><![CDATA[อันนี้เขียนไว้ตั้งนานแล้ว แต่ยังไม่มีโอกาสให้เอาขึ้นมาบน memoball ซักที อยู่ใน wiki มานานมากแล้ว


จาก WikiBall


			




เนื้อหา


1 SSH
2 Browser

2.1 Firefox 3.x


3 อื่นๆ




 if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } 

  SSH
รันคำสั่งใน terminal


ssh -D port -fCqN user@XXX.XXX.XXX.XXX


 Browser

 Firefox 3.x
แก้ไขใน firefox ดังนี้


เข้าไปที่ Edit -&#62; Preference

เข้าไปที่ Advance -&#62; Tab-networking

กดปุ่ม setting จะปรากฎหน้าต่างดังรูป

แก้ไข SOCKS Host เป็น localhost และ port ตามที่เราใส่ไว้แล้วด้านบน





 อื่นๆ
Ssh [...]]]></description>
			<content:encoded><![CDATA[<p>อันนี้เขียนไว้ตั้งนานแล้ว แต่ยังไม่มีโอกาสให้เอาขึ้นมาบน memoball ซักที อยู่ใน wiki มานานมากแล้ว<br />
<span id="more-360"></span></p>
<div id="bodyContent">
<h3 id="siteSub"><a href="http://wiki.memoball.info/index.php/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3_proxy_%E0%B9%82%E0%B8%94%E0%B8%A2%E0%B8%9C%E0%B9%88%E0%B8%B2%E0%B8%99_ssh_%E0%B9%83%E0%B8%99_ubuntu">จาก WikiBall</a></h3>
<div id="contentSub"></div>
<div id="jump-to-nav"></div>
<p>			<!-- start content --></p>
<table id="toc" class="toc" summary="เนื้อหา">
<tr>
<td>
<div id="toctitle">
<h2>เนื้อหา</h2>
</div>
<ul>
<li class="toclevel-1"><a href="./#SSH" ref="toc"><span class="tocnumber">1</span> <span class="toctext">SSH</span></a></li>
<li class="toclevel-1"><a href="./#Browser" ref="toc"><span class="tocnumber">2</span> <span class="toctext">Browser</span></a>
<ul>
<li class="toclevel-2"><a href="./#Firefox_3.x" ref="toc"><span class="tocnumber">2.1</span> <span class="toctext">Firefox 3.x</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="./#.E0.B8.AD.E0.B8.B7.E0.B9.88.E0.B8.99.E0.B9.86" ref="toc"><span class="tocnumber">3</span> <span class="toctext">อื่นๆ</span></a></li>
</ul>
</td>
</tr>
</table>
<p><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } </script><br />
<a name="SSH" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> SSH</span></h2>
<p>รันคำสั่งใน terminal
</p>
<pre>
ssh -D port -fCqN user@XXX.XXX.XXX.XXX
</pre>
<p><a name="Browser" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline">Browser</span></h2>
<p><a name="Firefox_3.x" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline">Firefox 3.x</span></h3>
<p>แก้ไขใน firefox ดังนี้
</p>
<ol>
<li>เข้าไปที่ Edit -&gt; Preference
</li>
<li>เข้าไปที่ Advance -&gt; Tab-networking
</li>
<li>กดปุ่ม setting จะปรากฎหน้าต่างดังรูป
</li>
<li>แก้ไข SOCKS Host เป็น localhost และ port ตามที่เราใส่ไว้แล้วด้านบน
</li>
</ol>
<p><a href="http://wiki.memoball.info//index.php/%E0%B8%A0%E0%B8%B2%E0%B8%9E:Firefox-proxy.jpg" class="image" title="ภาพ:firefox-proxy.jpg"><img alt="ภาพ:firefox-proxy.jpg" src="http://wiki.memoball.info//images/d/dc/Firefox-proxy.jpg" width="506" height="548" border="0" /></a>
</p>
<p><a name=".E0.B8.AD.E0.B8.B7.E0.B9.88.E0.B8.99.E0.B9.86" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline">อื่นๆ</span></h2>
<p><a href="http://wiki.memoball.info//index.php/Ssh_tunnel_proxy_%E0%B9%83%E0%B8%99_putty" title="Ssh tunnel proxy ใน putty">Ssh tunnel proxy ใน putty</a>
</p>
<p><!--<br />
NewPP limit report<br />
Preprocessor node count: 8/1000000<br />
Post-expand include size: 0/2097152 bytes<br />
Template argument size: 0/2097152 bytes<br />
Expensive parser function count: 0/100<br />
--></p>
<p><!-- Saved in parser cache with key memoball_wiki:pcache:idhash:14-0!1!0!!th!2!edit=0 and timestamp 20090825091056 --></p>
<div class="printfooter">
<h5>รับข้อมูลจาก (Reference) : </h5>
<p>จาก WikiBall : <a href="http://wiki.memoball.info/index.php/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3_proxy_%E0%B9%82%E0%B8%94%E0%B8%A2%E0%B8%9C%E0%B9%88%E0%B8%B2%E0%B8%99_ssh_%E0%B9%83%E0%B8%99_ubuntu">http://wiki.memoball.info/index.php/การทำ_proxy_โดยผ่าน_ssh_ใน_ubuntu</a></div>
<div id='catlinks' class='catlinks'>
<div id="mw-normal-catlinks"><a href="http://wiki.memoball.info//index.php/%E0%B8%9E%E0%B8%B4%E0%B9%80%E0%B8%A8%E0%B8%A9:Categories" title="พิเศษ:Categories">หมวดหมู่</a>:&#32;<span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Linux&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Linux (ยังไม่ได้สร้าง)">Linux</a></span> | <span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:SSH&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:SSH (ยังไม่ได้สร้าง)">SSH</a></span> | <span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Tunnel&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Tunnel (ยังไม่ได้สร้าง)">Tunnel</a></span> | <span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Ubuntu&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Ubuntu (ยังไม่ได้สร้าง)">Ubuntu</a></span></div>
</div>
<p>			<!-- end content --></p>
<div class="visualClear"></div>
</p></div>
<p>อันนี้เป็นของบน window โดยใช้ putty ครับ<br />
<a href="http://www.memoball.info/08/ssh-tunnels-proxy-%e0%b9%83%e0%b8%99-putty/">http://www.memoball.info/08/ssh-tunnels-proxy-ใน-puttyssh-tunnels-proxy-ใน-putty/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.memoball.info/08/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%97%e0%b8%b3-proxy-tunnel-%e0%b9%82%e0%b8%94%e0%b8%a2%e0%b8%9c%e0%b9%88%e0%b8%b2%e0%b8%99-ssh-%e0%b9%83%e0%b8%99-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH โดยใช้ finger-print (ใส่ password อัตโนมัติ)</title>
		<link>http://www.memoball.info/08/ssh-%e0%b9%82%e0%b8%94%e0%b8%a2%e0%b9%83%e0%b8%8a%e0%b9%89-finger-print-%e0%b9%83%e0%b8%aa%e0%b9%88-password-%e0%b8%ad%e0%b8%b1%e0%b8%95%e0%b9%82%e0%b8%99%e0%b8%a1%e0%b8%b1%e0%b8%95%e0%b8%b4/</link>
		<comments>http://www.memoball.info/08/ssh-%e0%b9%82%e0%b8%94%e0%b8%a2%e0%b9%83%e0%b8%8a%e0%b9%89-finger-print-%e0%b9%83%e0%b8%aa%e0%b9%88-password-%e0%b8%ad%e0%b8%b1%e0%b8%95%e0%b9%82%e0%b8%99%e0%b8%a1%e0%b8%b1%e0%b8%95%e0%b8%b4/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 14:51:57 +0000</pubDate>
		<dc:creator>spnball</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.memoball.info/?p=347</guid>
		<description><![CDATA[พอจะทำ rsync เลยต้องมาหาวิธีการใช้ ssh โดยไม่ต้องใส่ password จึงได้วิธีการใช้งานดังนี้


จาก WikiBall


			
ในการ login ผ่าน ssh เราสามารถใช้ fingerprint หรือลายนิ้วมืออิเล็กทรอนิกส์แทนการใช้รหัสผ่าน หรือลูกกุญแจ ซึ่งในวิธีนี้แหมาะอย่างยิ่งสำหรับการใช้สคริปต์ เช่น bash script ติดต่อผ่าน ssh เช่นการทำ rsync เป็นต้น


 ใช้ลูกกุญแจแทนพาสเวริ์ด, ssh-keygen
สร้างกุญแจสำหรับเครื่อง client ที่ต้องการ login ไปที่ server ด้วย ssh-keygen


$ ssh-keygen -t dsa
Enter file in which to save the key (/home/thespn/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your [...]]]></description>
			<content:encoded><![CDATA[<p>พอจะทำ rsync เลยต้องมาหาวิธีการใช้ ssh โดยไม่ต้องใส่ password จึงได้วิธีการใช้งานดังนี้<br />
<span id="more-347"></span></p>
<div id="bodyContent">
<h3 id="siteSub"><a href="http://wiki.memoball.info/index.php/Ssh_fingerprint">จาก WikiBall</a></h3>
<div id="contentSub"></div>
<div id="jump-to-nav"></div>
<p>			<!-- start content --></p>
<p>ในการ login ผ่าน ssh เราสามารถใช้ fingerprint หรือลายนิ้วมืออิเล็กทรอนิกส์แทนการใช้รหัสผ่าน หรือลูกกุญแจ ซึ่งในวิธีนี้แหมาะอย่างยิ่งสำหรับการใช้สคริปต์ เช่น bash script ติดต่อผ่าน ssh เช่นการทำ rsync เป็นต้น
</p>
<p><a name=".E0.B9.83.E0.B8.8A.E0.B9.89.E0.B8.A5.E0.B8.B9.E0.B8.81.E0.B8.81.E0.B8.B8.E0.B8.8D.E0.B9.81.E0.B8.88.E0.B9.81.E0.B8.97.E0.B8.99.E0.B8.9E.E0.B8.B2.E0.B8.AA.E0.B9.80.E0.B8.A7.E0.B8.A3.E0.B8.B4.E0.B9.8C.E0.B8.94.2C_ssh-keygen" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline">ใช้ลูกกุญแจแทนพาสเวริ์ด, ssh-keygen</span></h2>
<p>สร้างกุญแจสำหรับเครื่อง client ที่ต้องการ login ไปที่ server ด้วย <a href="http://www.freebsd.org/cgi/man.cgi?query=ssh-keygen&amp;sektion=1" class="external text" title="http://www.freebsd.org/cgi/man.cgi?query=ssh-keygen&amp;sektion=1" rel="nofollow">ssh-keygen</a>
</p>
<div class="infobox">
<p><strong>$ ssh-keygen -t dsa</strong><br />
Enter file in which to save the key (/home/thespn/.ssh/id_dsa): <br />
Enter passphrase (empty for no passphrase): <br />
Enter same passphrase again: <br />
Your identification has been saved in /home/thespn/.ssh/id_dsa.<br />
Your public key has been saved in /home/thespn/.ssh/id_dsa.pu<br />
The key fingerprint is:<br />
e9:9f:4e:ed:da:77:35:cb:df:3f:c8:5d:b5:94:fe:c4 thespn@thespn-laptop<br />
The key&#8217;s randomart image is:<br />
+&#8211;[ DSA 1024]&#8212;-+<br />
|                 |<br />
|                 |<br />
|                .|<br />
|         .     o.|<br />
|        S     o.o|<br />
|       .   .   +E|<br />
|        . . o +.*|<br />
|         o + o.=+|<br />
|         .=.o. .B|<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+
</p>
</div>
<p>กด enter ให้หมดสำหรับใช้ค่า default (แนะนำ)
</p>
<p><a name=".E0.B8.AA.E0.B9.88.E0.B8.87_key_.E0.B9.84.E0.B8.9B.E0.B8.97.E0.B8.B5.E0.B9.88_server" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> ส่ง key ไปที่ server </span></h2>
<p>ส่งกุญแจไปที่ server ด้วยคำสั่ง <a href="http://linux.die.net/man/1/ssh-copy-id" class="external text" title="http://linux.die.net/man/1/ssh-copy-id" rel="nofollow">ssh-copy-id</a>
</p>
<div class="infobox">
<p>ssh-copy-id [-i [identity_file]] [user@]machine
</p>
</div>
<p>พิมพ์ yes แลัวต่อไปใส่รหัสผ่าน<br />
ซึ่งในที่นี้ indentity_file ของเราก็คือ /home/user/.ssh/id_dsa
</p>
<p><a name=".E0.B8.A5.E0.B8.AD.E0.B8.87.E0.B9.80.E0.B8.82.E0.B9.89.E0.B8.B2.E0.B9.80.E0.B8.A5.E0.B8.A2" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> ลองเข้าเลย </span></h2>
<div class="infobox">ssh machine -l user</div>
<p><!--<br />
NewPP limit report<br />
Preprocessor node count: 28/1000000<br />
Post-expand include size: 0/2097152 bytes<br />
Template argument size: 0/2097152 bytes<br />
Expensive parser function count: 0/100<br />
--></p>
<p><!-- Saved in parser cache with key memoball_wiki:pcache:idhash:63-0!1!0!!th!2!edit=0 and timestamp 20090825091056 --></p>
<div class="printfooter">
<h5>รับข้อมูลจาก (Reference) : </h5>
<p>จาก WikiBall : <a href="http://wiki.memoball.info/index.php/Ssh_fingerprint">http://wiki.memoball.info/index.php/Ssh_fingerprint</a></div>
<p>						<!-- end content --></p>
<div class="visualClear"></div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.memoball.info/08/ssh-%e0%b9%82%e0%b8%94%e0%b8%a2%e0%b9%83%e0%b8%8a%e0%b9%89-finger-print-%e0%b9%83%e0%b8%aa%e0%b9%88-password-%e0%b8%ad%e0%b8%b1%e0%b8%95%e0%b9%82%e0%b8%99%e0%b8%a1%e0%b8%b1%e0%b8%95%e0%b8%b4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>มาเปลี่ยน Theme ใน Ubuntu 9.04 กันเถอะ</title>
		<link>http://www.memoball.info/07/%e0%b8%a1%e0%b8%b2%e0%b9%80%e0%b8%9b%e0%b8%a5%e0%b8%b5%e0%b9%88%e0%b8%a2%e0%b8%99-theme-%e0%b9%83%e0%b8%99-ubuntu-904-%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b9%80%e0%b8%96%e0%b8%ad%e0%b8%b0/</link>
		<comments>http://www.memoball.info/07/%e0%b8%a1%e0%b8%b2%e0%b9%80%e0%b8%9b%e0%b8%a5%e0%b8%b5%e0%b9%88%e0%b8%a2%e0%b8%99-theme-%e0%b9%83%e0%b8%99-ubuntu-904-%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b9%80%e0%b8%96%e0%b8%ad%e0%b8%b0/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 03:25:09 +0000</pubDate>
		<dc:creator>spnball</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://memoball.nabzer.com/?p=309</guid>
		<description><![CDATA[ใครเบือ Ubuntu ในรูปแบบ เดิมๆ เชิญทางนี้


แก้ไข source list (แนะนำว่าควรเก็บของเก่าเป็น backup ไว้ด้วย)
sudo gedit /etc/apt/sources.list

โดยการเพิ่ม
deb http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main

ใส่ verification key
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0x1781bd45c4c3275a34bb6aec6e871c4a881574de

Update cache
sudo apt-get update

Install theme
sudo apt-get install &#60;Theme&#62;

โดยการแทนที่ &#60;Theme&#62; เป็น ธีมที่ต้องการ ดังนี้

showtime-theme
balanzan-theme
infinity-theme
wild-shine-theme
tropical-theme
bamboo-zen-theme
ubuntu-sunrise-theme
aquadreams-theme
exotic-theme


Remove theme
sudo apt-get remove &#60;Theme&#62;

และ theme อื่นๆ http://francois.vogelweith.com/?page_id=16〈=en
]]></description>
			<content:encoded><![CDATA[<p>ใครเบือ Ubuntu ในรูปแบบ เดิมๆ เชิญทางนี้</p>
<p><div class="wp-caption alignnone" style="width: 500px"><a href="http://francois.vogelweith.com/?p=1&amp;lang=en"><img title="Infinity Theme" src="http://francois.vogelweith.com/images/stories/themes_screens/infinity/infinity.jpg" alt="Infinity" width="490" height="140" /></a><p class="wp-caption-text">Infinity</p></div><br />
<span id="more-309"></span></p>
<ol>
<li>แก้ไข source list (แนะนำว่าควรเก็บของเก่าเป็น backup ไว้ด้วย)
<pre>sudo gedit /etc/apt/sources.list</pre>
</li>
<li>โดยการเพิ่ม
<pre>deb http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main</pre>
</li>
<li>ใส่ verification key
<pre>sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0x1781bd45c4c3275a34bb6aec6e871c4a881574de</pre>
</li>
<li>Update cache
<pre>sudo apt-get update</pre>
</li>
<li>Install theme
<pre>sudo apt-get install &lt;Theme&gt;</pre>
</li>
<li>โดยการแทนที่ &lt;Theme&gt; เป็น ธีมที่ต้องการ ดังนี้
<ul>
<li>showtime-theme</li>
<li>balanzan-theme</li>
<li>infinity-theme</li>
<li>wild-shine-theme</li>
<li>tropical-theme</li>
<li>bamboo-zen-theme</li>
<li>ubuntu-sunrise-theme</li>
<li>aquadreams-theme</li>
<li>exotic-theme</li>
</ul>
</li>
<li>Remove theme
<pre>sudo apt-get remove &lt;Theme&gt;</pre>
</li>
<p>และ theme อื่นๆ<a href="http://francois.vogelweith.com/?page_id=16&amp;lang=en"> http://francois.vogelweith.com/?page_id=16〈=en</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.memoball.info/07/%e0%b8%a1%e0%b8%b2%e0%b9%80%e0%b8%9b%e0%b8%a5%e0%b8%b5%e0%b9%88%e0%b8%a2%e0%b8%99-theme-%e0%b9%83%e0%b8%99-ubuntu-904-%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b9%80%e0%b8%96%e0%b8%ad%e0%b8%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PNG Image Optimization</title>
		<link>http://www.memoball.info/05/png-image-optimization/</link>
		<comments>http://www.memoball.info/05/png-image-optimization/#comments</comments>
		<pubDate>Wed, 20 May 2009 14:48:19 +0000</pubDate>
		<dc:creator>spnball</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Web Application]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Web application]]></category>

		<guid isPermaLink="false">http://memoball.nabzer.com/?p=282</guid>
		<description><![CDATA[การทำให้ขนาดของรูปภาพมีขนาดเล็กลง เป็นส่วนหนึ่งที่จะทำให้เวปไซต์ของเราโหลดไวขึ้น อีกทั้งใช้แบนวิธที่น้อยลงทำให้เซอร์เวอร์ของเราใช้งานได้อย่างมีประสิทธิภาพเพิ่มมากขึ้น ซึ่งการทำให้ไฟล์รูปแบบ PNG มีขนาดน้อยลงมีวิธีทำดังต่อไปนี้


จาก WikiBall


			




เนื้อหา


1 Optimize ด้วย OptiPNG หรือ pngcrush

1.1 PNGcrush
1.2 Optipng


2 Optimize with Smush.it
3 reference




 if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } 

  Optimize ด้วย OptiPNG หรือ pngcrush 

 PNGcrush
pngcrush เป็นโปรแกรมที่มีอยู่แล้วใน ubuntu synapticสามารถใช้ apt-get เอามาลงได้เลย

$ pngcrush -rem allb -brute -reduce original.png optimized.png
โดยพารามิเตอร์ต่างๆ มีความหมายดังต่อไปนี้


 -rem allb [...]]]></description>
			<content:encoded><![CDATA[<p>การทำให้ขนาดของรูปภาพมีขนาดเล็กลง เป็นส่วนหนึ่งที่จะทำให้เวปไซต์ของเราโหลดไวขึ้น อีกทั้งใช้แบนวิธที่น้อยลงทำให้เซอร์เวอร์ของเราใช้งานได้อย่างมีประสิทธิภาพเพิ่มมากขึ้น ซึ่งการทำให้ไฟล์รูปแบบ PNG มีขนาดน้อยลงมีวิธีทำดังต่อไปนี้<br />
<span id="more-282"></span></p>
<div id="bodyContent">
<h3 id="siteSub"><a href="http://wiki.memoball.info/index.php/PNG_Image_Optimization">จาก WikiBall</a></h3>
<div id="contentSub"></div>
<div id="jump-to-nav"></div>
<p>			<!-- start content --></p>
<table id="toc" class="toc" summary="เนื้อหา">
<tr>
<td>
<div id="toctitle">
<h2>เนื้อหา</h2>
</div>
<ul>
<li class="toclevel-1"><a href="./#Optimize_.E0.B8.94.E0.B9.89.E0.B8.A7.E0.B8.A2_OptiPNG_.E0.B8.AB.E0.B8.A3.E0.B8.B7.E0.B8.AD_pngcrush" ref="toc"><span class="tocnumber">1</span> <span class="toctext">Optimize ด้วย OptiPNG หรือ pngcrush</span></a>
<ul>
<li class="toclevel-2"><a href="./#PNGcrush" ref="toc"><span class="tocnumber">1.1</span> <span class="toctext">PNGcrush</span></a></li>
<li class="toclevel-2"><a href="./#Optipng" ref="toc"><span class="tocnumber">1.2</span> <span class="toctext">Optipng</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="./#Optimize_with_Smush.it" ref="toc"><span class="tocnumber">2</span> <span class="toctext">Optimize with Smush.it</span></a></li>
<li class="toclevel-1"><a href="./#reference" ref="toc"><span class="tocnumber">3</span> <span class="toctext">reference</span></a></li>
</ul>
</td>
</tr>
</table>
<p><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } </script><br />
<a name="Optimize_.E0.B8.94.E0.B9.89.E0.B8.A7.E0.B8.A2_OptiPNG_.E0.B8.AB.E0.B8.A3.E0.B8.B7.E0.B8.AD_pngcrush" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> Optimize ด้วย OptiPNG หรือ pngcrush </span></h2>
<p><a name="PNGcrush" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline">PNGcrush</span></h3>
<p>pngcrush เป็นโปรแกรมที่มีอยู่แล้วใน ubuntu synapticสามารถใช้ apt-get เอามาลงได้เลย
</p>
<pre>$ pngcrush -rem allb -brute -reduce original.png optimized.png</pre>
<p>โดยพารามิเตอร์ต่างๆ มีความหมายดังต่อไปนี้
</p>
<ul>
<li> <b>-rem allb</b> &#8212; remove all extraneous data. Except transparency and gamma; to remove everything except transparency, try<i> -rem alla</i>
</li>
<li> <b>-brute</b> &#8212; attempt all optimization methods. Requires more processing time and may not improve optimization by much.
</li>
<li> <b>-reduce</b> &#8212; eliminate unused colors and reduce bit-depth. ถ้าเป็นไปได้
</li>
</ul>
<p><a name="Optipng" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline">Optipng</span></h3>
<pre>$ optipng -o7 org.png</pre>
<ul>
<li> <b>-o7</b> — optimize ระดับสูงสุด โดยเริ่มจากระดับที่ 0 &#8211; 7
</li>
</ul>
<p><a name="Optimize_with_Smush.it" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> Optimize with Smush.it </span></h2>
<p>ย่อรูปด้วยโปรแกรม smush.it ซึ่งเป็นโปรแกรมสำหรับ Firefox<br />
[<a href="http://smush.it" class="external autonumber" title="http://smush.it" rel="nofollow">[1]</a>]
</p>
<p><a name="reference" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> reference </span></h2>
<ul>
<li> <a href="http://perishablepress.com/press/2009/05/17/png-image-optimization/" class="external free" title="http://perishablepress.com/press/2009/05/17/png-image-optimization/" rel="nofollow">http://perishablepress.com/press/2009/05/17/png-image-optimization/</a>
</li>
<li> <a href="http://www.dzone.com/" class="external free" title="http://www.dzone.com/" rel="nofollow">http://www.dzone.com/</a>
</li>
</ul>
<p><!--<br />
NewPP limit report<br />
Preprocessor node count: 12/1000000<br />
Post-expand include size: 0/2097152 bytes<br />
Template argument size: 0/2097152 bytes<br />
Expensive parser function count: 0/100<br />
--></p>
<p><!-- Saved in parser cache with key memoball_wiki:pcache:idhash:52-0!1!0!!th!2!edit=0 and timestamp 20090825195504 --></p>
<div class="printfooter">
<h5>รับข้อมูลจาก (Reference) : </h5>
<p>จาก WikiBall : <a href="http://wiki.memoball.info/index.php/PNG_Image_Optimization">http://wiki.memoball.info/index.php/PNG_Image_Optimization</a></div>
<div id='catlinks' class='catlinks'>
<div id="mw-normal-catlinks"><a href="http://wiki.memoball.info//index.php/%E0%B8%9E%E0%B8%B4%E0%B9%80%E0%B8%A8%E0%B8%A9:Categories" title="พิเศษ:Categories">หมวดหมู่</a>:&#32;<span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:PHP&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:PHP (ยังไม่ได้สร้าง)">PHP</a></span> | <span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Web_developer&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Web developer (ยังไม่ได้สร้าง)">Web developer</a></span></div>
</div>
<p>			<!-- end content --></p>
<div class="visualClear"></div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.memoball.info/05/png-image-optimization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>การติดตั้ง Eclipse+Subclipse ใน ubuntu แบบ manual</title>
		<link>http://www.memoball.info/04/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-eclipsesubclipse-%e0%b9%83%e0%b8%99-ubuntu-%e0%b9%81%e0%b8%9a%e0%b8%9a-manual/</link>
		<comments>http://www.memoball.info/04/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-eclipsesubclipse-%e0%b9%83%e0%b8%99-ubuntu-%e0%b9%81%e0%b8%9a%e0%b8%9a-manual/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 10:06:19 +0000</pubDate>
		<dc:creator>spnball</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://memoball.nabzer.com/?p=264</guid>
		<description><![CDATA[วันนี้ได้ทำการลง Ubuntu ในเครื่องที่ Office ใหม่ เนื่องจากอันเก่ามันแฮงค์บ่อยยังไงชอบกลก็ไม่รู้
ก็เลยต้องลง Eclipse PDT+Subclipse ใหม่อีกรอบ เลยเอามาเขียนไว้ใน wiki เพื่อกันลืม 

จาก WikiBall


			




เนื้อหา


1 แบบ synaptic
2 แบบ manual

2.1 ติดตั้ง Eclipse
2.2 ติดตั้ง Subclipse






 if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } 

  แบบ synaptic 

 เปิด synaptic Package manager

 หา Eclipse

 ลงมันซะ



  แบบ manual 

  ติดตั้ง Eclipse 

 [...]]]></description>
			<content:encoded><![CDATA[<p>วันนี้ได้ทำการลง Ubuntu ในเครื่องที่ Office ใหม่ เนื่องจากอันเก่ามันแฮงค์บ่อยยังไงชอบกลก็ไม่รู้<br />
ก็เลยต้องลง Eclipse PDT+Subclipse ใหม่อีกรอบ เลยเอามาเขียนไว้ใน wiki เพื่อกันลืม <span id="more-264"></span></p>
<div id="bodyContent">
<h3 id="siteSub"><a href="http://wiki.memoball.info/index.php/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87_Eclipse_Ganymede_PDT_%2B_Subclipse_%E0%B9%83%E0%B8%99_Ubuntu">จาก WikiBall</a></h3>
<div id="contentSub"></div>
<div id="jump-to-nav"></div>
<p>			<!-- start content --></p>
<table id="toc" class="toc" summary="เนื้อหา">
<tr>
<td>
<div id="toctitle">
<h2>เนื้อหา</h2>
</div>
<ul>
<li class="toclevel-1"><a href="./#.E0.B9.81.E0.B8.9A.E0.B8.9A_synaptic" ref="toc"><span class="tocnumber">1</span> <span class="toctext">แบบ synaptic</span></a></li>
<li class="toclevel-1"><a href="./#.E0.B9.81.E0.B8.9A.E0.B8.9A_manual" ref="toc"><span class="tocnumber">2</span> <span class="toctext">แบบ manual</span></a>
<ul>
<li class="toclevel-2"><a href="./#.E0.B8.95.E0.B8.B4.E0.B8.94.E0.B8.95.E0.B8.B1.E0.B9.89.E0.B8.87_Eclipse" ref="toc"><span class="tocnumber">2.1</span> <span class="toctext">ติดตั้ง Eclipse</span></a></li>
<li class="toclevel-2"><a href="./#.E0.B8.95.E0.B8.B4.E0.B8.94.E0.B8.95.E0.B8.B1.E0.B9.89.E0.B8.87_Subclipse" ref="toc"><span class="tocnumber">2.2</span> <span class="toctext">ติดตั้ง Subclipse</span></a></li>
</ul>
</li>
</ul>
</td>
</tr>
</table>
<p><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } </script><br />
<a name=".E0.B9.81.E0.B8.9A.E0.B8.9A_synaptic" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> แบบ synaptic </span></h2>
<ul>
<li> เปิด synaptic Package manager
</li>
<li> หา Eclipse
</li>
<li> ลงมันซะ
</li>
</ul>
<p><a name=".E0.B9.81.E0.B8.9A.E0.B8.9A_manual" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> แบบ manual </span></h2>
<p><a name=".E0.B8.95.E0.B8.B4.E0.B8.94.E0.B8.95.E0.B8.B1.E0.B9.89.E0.B8.87_Eclipse" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> ติดตั้ง Eclipse </span></h3>
<ul>
<li> Download ไฟล์ติดตั้งแบบ linux
</li>
<li> ระเบิดไฟล์ดังกล่าวออกมาไว้ใน directory ที่ต้องการ โดยส่วนมากแล้วจะเอาไว้ที่ /opt/
</li>
<li> ลง java5 runtime environment &lt;pro&gt;$sudo apt-get install java5-runtime&lt;/pre&gt;
</li>
<li> <a href="http://wiki.memoball.info//images/a/a6/EclipseIcon.svg" class="internal" title="EclipseIcon.svg">สื่อ:EclipseIcon.svg</a> icon ลงไปไว้ใน /opt/eclipse/ ที่เราสร้างและแตกไฟล์ไว้แล้ว
</li>
<li> คลิกขวาที่ Applications แล้ว Edit menus
</li>
<li> เพิ่มเมนู Eclipse แล้วใช้ ICON ที่เราโหลดไว้แล้ว
</li>
</ul>
<p><a name=".E0.B8.95.E0.B8.B4.E0.B8.94.E0.B8.95.E0.B8.B1.E0.B9.89.E0.B8.87_Subclipse" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> ติดตั้ง Subclipse </span></h3>
<ul>
<li> ติดตั้ง javaHL สำหรับ eclipse
<pre>$ sudo apt-get install libnb-svnclientadapter-java </pre>
</li>
<li> เปิด Eclipse
</li>
<li> ไปที่ Help -&gt; Software Updates&#8230;-&gt; Availble software
</li>
<li> Addsite แล้วใส่ site URL ซึ่งดูได้จากเวปของ <a href="http://subclipse.tigris.org/" class="external text" title="http://subclipse.tigris.org/" rel="nofollow">Subclipse</a> เอง (น่าจะอยู่ใน download &amp; update)
</li>
<li> คลิกที่ site แล้วสั่ง install
</li>
<li> ปภิบัติตามขึ้นตอนที่ปรากฎ
</li>
</ul>
<p><!--<br />
NewPP limit report<br />
Preprocessor node count: 8/1000000<br />
Post-expand include size: 0/2097152 bytes<br />
Template argument size: 0/2097152 bytes<br />
Expensive parser function count: 0/100<br />
--></p>
<p><!-- Saved in parser cache with key memoball_wiki:pcache:idhash:47-0!1!0!!th!2!edit=0 and timestamp 20090825190454 --></p>
<div class="printfooter">
<h5>รับข้อมูลจาก (Reference) : </h5>
<p>จาก WikiBall : <a href="http://wiki.memoball.info/index.php/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87_Eclipse_Ganymede_PDT_%2B_Subclipse_%E0%B9%83%E0%B8%99_Ubuntu">http://wiki.memoball.info/index.php/การติดตั้ง_Eclipse_Ganymede_PDT_+_Subclipse_ใน_Ubuntu</a></div>
<div id='catlinks' class='catlinks'>
<div id="mw-normal-catlinks"><a href="http://wiki.memoball.info//index.php/%E0%B8%9E%E0%B8%B4%E0%B9%80%E0%B8%A8%E0%B8%A9:Categories" title="พิเศษ:Categories">หมวดหมู่</a>:&#32;<span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Ubuntu&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Ubuntu (ยังไม่ได้สร้าง)">Ubuntu</a></span></div>
</div>
<p>			<!-- end content --></p>
<div class="visualClear"></div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.memoball.info/04/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-eclipsesubclipse-%e0%b9%83%e0%b8%99-ubuntu-%e0%b9%81%e0%b8%9a%e0%b8%9a-manual/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>การเขียน bash script เบื้องต้น</title>
		<link>http://www.memoball.info/02/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99-bash-script-%e0%b9%80%e0%b8%9a%e0%b8%b7%e0%b9%89%e0%b8%ad%e0%b8%87%e0%b8%95%e0%b9%89%e0%b8%99/</link>
		<comments>http://www.memoball.info/02/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99-bash-script-%e0%b9%80%e0%b8%9a%e0%b8%b7%e0%b9%89%e0%b8%ad%e0%b8%87%e0%b8%95%e0%b9%89%e0%b8%99/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 03:04:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://memoball.nabzer.com/?p=176</guid>
		<description><![CDATA[วันนี้จะทำเรื่อง svn export ก็เลยต้องมานั่งเขียน Bash script เพื่อสั่งให้ server มันไปดูดข้อมูลมา จึงได้ค้นหา website พวก tutorial เลยเอามาทำเป็นรายการรวมไว้ไน wiki ซะเลย กันลืม (เพิ่งหาได้อันเดียว) 


จาก WikiBall


			




เนื้อหา


1 การเขียน bash script อย่างง่าย

1.1 การประกาศตัวแปร
1.2 Argument


2 Tutorial Link




 if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } 

  การเขียน bash script อย่างง่าย 

  การประกาศตัวแปร 
ประการโดยการใช้ ชื่อแปร=ค่า
เรียกให้ได้โดยการใส่ $ ไว้ข้างหน้า


PROC=svn
echo $PROC


 [...]]]></description>
			<content:encoded><![CDATA[<p>วันนี้จะทำเรื่อง svn export ก็เลยต้องมานั่งเขียน Bash script เพื่อสั่งให้ server มันไปดูดข้อมูลมา จึงได้ค้นหา website พวก tutorial เลยเอามาทำเป็นรายการรวมไว้ไน wiki ซะเลย กันลืม (เพิ่งหาได้อันเดียว) <img src='http://www.memoball.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
<span id="more-176"></span></p>
<div id="bodyContent">
<h3 id="siteSub"><a href="http://wiki.memoball.info/index.php/Bash-Scripting_tutorial">จาก WikiBall</a></h3>
<div id="contentSub"></div>
<div id="jump-to-nav"></div>
<p>			<!-- start content --></p>
<table id="toc" class="toc" summary="เนื้อหา">
<tr>
<td>
<div id="toctitle">
<h2>เนื้อหา</h2>
</div>
<ul>
<li class="toclevel-1"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B9.80.E0.B8.82.E0.B8.B5.E0.B8.A2.E0.B8.99_bash_script_.E0.B8.AD.E0.B8.A2.E0.B9.88.E0.B8.B2.E0.B8.87.E0.B8.87.E0.B9.88.E0.B8.B2.E0.B8.A2" ref="toc"><span class="tocnumber">1</span> <span class="toctext">การเขียน bash script อย่างง่าย</span></a>
<ul>
<li class="toclevel-2"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.9B.E0.B8.A3.E0.B8.B0.E0.B8.81.E0.B8.B2.E0.B8.A8.E0.B8.95.E0.B8.B1.E0.B8.A7.E0.B9.81.E0.B8.9B.E0.B8.A3" ref="toc"><span class="tocnumber">1.1</span> <span class="toctext">การประกาศตัวแปร</span></a></li>
<li class="toclevel-2"><a href="./#Argument" ref="toc"><span class="tocnumber">1.2</span> <span class="toctext">Argument</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="./#Tutorial_Link" ref="toc"><span class="tocnumber">2</span> <span class="toctext">Tutorial Link</span></a></li>
</ul>
</td>
</tr>
</table>
<p><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } </script><br />
<a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B9.80.E0.B8.82.E0.B8.B5.E0.B8.A2.E0.B8.99_bash_script_.E0.B8.AD.E0.B8.A2.E0.B9.88.E0.B8.B2.E0.B8.87.E0.B8.87.E0.B9.88.E0.B8.B2.E0.B8.A2" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> การเขียน bash script อย่างง่าย </span></h2>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.9B.E0.B8.A3.E0.B8.B0.E0.B8.81.E0.B8.B2.E0.B8.A8.E0.B8.95.E0.B8.B1.E0.B8.A7.E0.B9.81.E0.B8.9B.E0.B8.A3" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> การประกาศตัวแปร </span></h3>
<p>ประการโดยการใช้ ชื่อแปร=ค่า<br />
เรียกให้ได้โดยการใส่ $ ไว้ข้างหน้า
</p>
<pre>
PROC=svn
echo $PROC
</pre>
<p><a name="Argument" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> Argument </span></h3>
<ul>
<li> <i>$0, $1, $2&#8242;,&#8230;&#8217; &#8212; แทน argument ตัวที่ 1,2,3,&#8230;</i>
</li>
<li> <i>$*</i> &#8212; จำนวน argument
</li>
<li> <i>$#</i> &#8212; เหมือนกับ $* แต่จะต่างกันเรื่องการใส่ quote เวลาเรียกใช้งาน
</li>
</ul>
<pre>
if [&nbsp;! -n &quot;$1&quot; ]
then
  echo &quot;Usage: `basename $0` argument1 argument2 etc.&quot;
  exit $E_BADARGS
fi  
</pre>
<p>ref: <a href="http://tldp.org/LDP/abs/html/internalvariables.html#ARGLIST" class="external text" title="http://tldp.org/LDP/abs/html/internalvariables.html#ARGLIST" rel="nofollow">Positional Parameters</a>
</p>
<p><a name="Tutorial_Link" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> Tutorial Link </span></h2>
<ul>
<li> <a href="http://tldp.org/LDP/abs/html/" class="external text" title="http://tldp.org/LDP/abs/html/" rel="nofollow">Advanced Bash-Scripting Guide</a>
</li>
</ul>
<p><!--<br />
NewPP limit report<br />
Preprocessor node count: 11/1000000<br />
Post-expand include size: 0/2097152 bytes<br />
Template argument size: 0/2097152 bytes<br />
Expensive parser function count: 0/100<br />
--></p>
<p><!-- Saved in parser cache with key memoball_wiki:pcache:idhash:20-0!1!0!!th!2!edit=0 and timestamp 20090824163426 --></p>
<div class="printfooter">
<h5>รับข้อมูลจาก (Reference) : </h5>
<p>จาก WikiBall : <a href="http://wiki.memoball.info/index.php/Bash-Scripting_tutorial">http://wiki.memoball.info/index.php/Bash-Scripting_tutorial</a></div>
<div id='catlinks' class='catlinks'>
<div id="mw-normal-catlinks"><a href="http://wiki.memoball.info//index.php/%E0%B8%9E%E0%B8%B4%E0%B9%80%E0%B8%A8%E0%B8%A9:Categories" title="พิเศษ:Categories">หมวดหมู่</a>:&#32;<span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Linux&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Linux (ยังไม่ได้สร้าง)">Linux</a></span></div>
</div>
<p>			<!-- end content --></p>
<div class="visualClear"></div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.memoball.info/02/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99-bash-script-%e0%b9%80%e0%b8%9a%e0%b8%b7%e0%b9%89%e0%b8%ad%e0%b8%87%e0%b8%95%e0%b9%89%e0%b8%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ปัญหาการใช้ web interface ของ trac</title>
		<link>http://www.memoball.info/01/%e0%b8%9b%e0%b8%b1%e0%b8%8d%e0%b8%ab%e0%b8%b2%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89-web-interface-%e0%b8%82%e0%b8%ad%e0%b8%87-trac/</link>
		<comments>http://www.memoball.info/01/%e0%b8%9b%e0%b8%b1%e0%b8%8d%e0%b8%ab%e0%b8%b2%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89-web-interface-%e0%b8%82%e0%b8%ad%e0%b8%87-trac/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 06:32:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Trac & SVN]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[trac]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://memoball.nabzer.com/?p=124</guid>
		<description><![CDATA[หลังจากสร้าง wiki เป็นของตัวเอง จึงได้รวบรวมปัญหา และการติดตั้งเป็นอันเดียวกันใน wiki
โดยมีวิธีการที่ง่าย และสะดวกกว่าที่ การติดตั้ง SVN &#38; Trac ร่วมกับ Apache ใน Ubuntu


จาก WikiBall


			




เนื้อหา


1 การติดตั้ง
2 การสร้าง project enviroment
3 การทำ Authentication

3.1 การสร้างแบบ .htpasswd
3.2 การสร้างแบบ .htdigest


4 การรัน Service ของ trac

4.1 การรันโดยใช้ Basic Authentiction
4.2 การรันโดยใช้ Digest Authentiction
4.3 การรันแบบ Multiple Project
4.4 Service tracd


5 การทำ NGINX + TRAC
6 การสร้าง Repository
7 Troubleshooting

7.1 โหลดโปรเจคไม่ขึ้น
7.2 admin tab ไม่ขึ้น
7.3 login ไม่ได้
7.4 repository [...]]]></description>
			<content:encoded><![CDATA[<p>หลังจากสร้าง wiki เป็นของตัวเอง จึงได้รวบรวมปัญหา และการติดตั้งเป็นอันเดียวกันใน wiki<br />
<strong>โดยมีวิธีการที่ง่าย และสะดวกกว่าที่</strong> <strong></strong><strong><a title="Edit “การติดตั้ง SVN &amp; Trac ร่วมกับ Apache ใน Ubuntu”" href="http://www.memoball.info/10/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-svn-trac-%e0%b8%a3%e0%b9%88%e0%b8%a7%e0%b8%a1%e0%b8%81%e0%b8%b1%e0%b8%9a-apache-%e0%b9%83%e0%b8%99-ubun/">การติดตั้ง SVN &amp; Trac ร่วมกับ Apache ใน Ubuntu</a></strong><br />
<span id="more-124"></span></p>
<div id="bodyContent">
<h3 id="siteSub"><a href="http://wiki.memoball.info/index.php/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87_trac_%E0%B8%9A%E0%B8%99_linux_%28Ubuntu%29">จาก WikiBall</a></h3>
<div id="contentSub"></div>
<div id="jump-to-nav"></div>
<p>			<!-- start content --></p>
<table id="toc" class="toc" summary="เนื้อหา">
<tr>
<td>
<div id="toctitle">
<h2>เนื้อหา</h2>
</div>
<ul>
<li class="toclevel-1"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.95.E0.B8.B4.E0.B8.94.E0.B8.95.E0.B8.B1.E0.B9.89.E0.B8.87" ref="toc"><span class="tocnumber">1</span> <span class="toctext">การติดตั้ง</span></a></li>
<li class="toclevel-1"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_project_enviroment" ref="toc"><span class="tocnumber">2</span> <span class="toctext">การสร้าง project enviroment</span></a></li>
<li class="toclevel-1"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.97.E0.B8.B3_Authentication" ref="toc"><span class="tocnumber">3</span> <span class="toctext">การทำ Authentication</span></a>
<ul>
<li class="toclevel-2"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87.E0.B9.81.E0.B8.9A.E0.B8.9A_.htpasswd" ref="toc"><span class="tocnumber">3.1</span> <span class="toctext">การสร้างแบบ .htpasswd</span></a></li>
<li class="toclevel-2"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87.E0.B9.81.E0.B8.9A.E0.B8.9A_.htdigest" ref="toc"><span class="tocnumber">3.2</span> <span class="toctext">การสร้างแบบ .htdigest</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.A3.E0.B8.B1.E0.B8.99_Service_.E0.B8.82.E0.B8.AD.E0.B8.87_trac" ref="toc"><span class="tocnumber">4</span> <span class="toctext">การรัน Service ของ trac</span></a>
<ul>
<li class="toclevel-2"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.A3.E0.B8.B1.E0.B8.99.E0.B9.82.E0.B8.94.E0.B8.A2.E0.B9.83.E0.B8.8A.E0.B9.89_Basic_Authentiction" ref="toc"><span class="tocnumber">4.1</span> <span class="toctext">การรันโดยใช้ Basic Authentiction</span></a></li>
<li class="toclevel-2"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.A3.E0.B8.B1.E0.B8.99.E0.B9.82.E0.B8.94.E0.B8.A2.E0.B9.83.E0.B8.8A.E0.B9.89_Digest_Authentiction" ref="toc"><span class="tocnumber">4.2</span> <span class="toctext">การรันโดยใช้ Digest Authentiction</span></a></li>
<li class="toclevel-2"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.A3.E0.B8.B1.E0.B8.99.E0.B9.81.E0.B8.9A.E0.B8.9A_Multiple_Project" ref="toc"><span class="tocnumber">4.3</span> <span class="toctext">การรันแบบ Multiple Project</span></a></li>
<li class="toclevel-2"><a href="./#Service_tracd" ref="toc"><span class="tocnumber">4.4</span> <span class="toctext">Service tracd</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.97.E0.B8.B3_NGINX_.2B_TRAC" ref="toc"><span class="tocnumber">5</span> <span class="toctext">การทำ NGINX + TRAC</span></a></li>
<li class="toclevel-1"><a href="./#.E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_Repository" ref="toc"><span class="tocnumber">6</span> <span class="toctext">การสร้าง Repository</span></a></li>
<li class="toclevel-1"><a href="./#Troubleshooting" ref="toc"><span class="tocnumber">7</span> <span class="toctext">Troubleshooting</span></a>
<ul>
<li class="toclevel-2"><a href="./#.E0.B9.82.E0.B8.AB.E0.B8.A5.E0.B8.94.E0.B9.82.E0.B8.9B.E0.B8.A3.E0.B9.80.E0.B8.88.E0.B8.84.E0.B9.84.E0.B8.A1.E0.B9.88.E0.B8.82.E0.B8.B6.E0.B9.89.E0.B8.99" ref="toc"><span class="tocnumber">7.1</span> <span class="toctext">โหลดโปรเจคไม่ขึ้น</span></a></li>
<li class="toclevel-2"><a href="./#admin_tab_.E0.B9.84.E0.B8.A1.E0.B9.88.E0.B8.82.E0.B8.B6.E0.B9.89.E0.B8.99" ref="toc"><span class="tocnumber">7.2</span> <span class="toctext">admin tab ไม่ขึ้น</span></a></li>
<li class="toclevel-2"><a href="./#login_.E0.B9.84.E0.B8.A1.E0.B9.88.E0.B9.84.E0.B8.94.E0.B9.89" ref="toc"><span class="tocnumber">7.3</span> <span class="toctext">login ไม่ได้</span></a></li>
<li class="toclevel-2"><a href="./#repository_.26_SVN_error" ref="toc"><span class="tocnumber">7.4</span> <span class="toctext">repository &amp; SVN error</span></a></li>
<li class="toclevel-2"><a href="./#HTML_preview_not_available" ref="toc"><span class="tocnumber">7.5</span> <span class="toctext">HTML preview not available</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="./#Plugin" ref="toc"><span class="tocnumber">8</span> <span class="toctext">Plugin</span></a></li>
<li class="toclevel-1"><a href="./#Reference" ref="toc"><span class="tocnumber">9</span> <span class="toctext">Reference</span></a></li>
</ul>
</td>
</tr>
</table>
<p><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "แสดง"; var tocHideText = "ซ่อน"; showTocToggle(); } </script><br />
<a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.95.E0.B8.B4.E0.B8.94.E0.B8.95.E0.B8.B1.E0.B9.89.E0.B8.87" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> การติดตั้ง </span></h2>
<p>ขั้นแรกติดตั้ง apache, sqlite
</p>
<p>ต่อไป download source จาก&lt;a href=&#8221;http://&#8221;&gt; <a href="http://trac.edgewall.org/wiki/TracDownload" class="external free" title="http://trac.edgewall.org/wiki/TracDownload" rel="nofollow">http://trac.edgewall.org/wiki/TracDownload</a>&lt;/a&gt;<br />
ระเบิด(Extract) มันออกมา (ถ้าเป็น tar.gz)
</p>
<pre>$ tar -xzf trac.tar.gz</pre>
<p>เข้าไปยัง source ที่ระเบิดได้<br />
ถ้ายังไม่มี python ก็ในลง python ก่อน แต่ Ubuntu ตัวใหม่ๆ จะมีมาให้อยู่แล้วแต่ยังไม่มี setuptools ตังนั้น ใช้คำสั่งนี้ลงได้ทีเดียวเลยครับ
</p>
<pre>$ sudo apt-get install python-setuptools</pre>
<p>ต่อไป compile เลย
</p>
<pre>$ sudo python ./setup.py install</pre>
<p>ดูเพิ่มเติมได้ที่ &gt; <a href="http://trac.edgewall.org/wiki/TracInstall" class="external text" title="http://trac.edgewall.org/wiki/TracInstall" rel="nofollow">การติดตั้ง Trac</a>
</p>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_project_enviroment" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> การสร้าง project enviroment </span></h2>
<p>รันคำสั่ง
</p>
<pre>$ trac-admin /path/to/myproject initenv</pre>
<p>ดู option ต่างๆ ได้ที่ การใช้  [<a href="http://wiki.memoball.info/index.php/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99_trac#initenv" class="external text" title="http://wiki.memoball.info/index.php/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99_trac#initenv" rel="nofollow">initenv</a>]
</p>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.97.E0.B8.B3_Authentication" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> การทำ Authentication </span></h2>
<p>trac นั้นจะใช้การ Authentication ผ่าน apache จะง่ายกว่ามากครับ<br />
โดยในที่นี้จะกล่าวถึงเฉพาะ tracd หรือ Trac แบบ standalone เท่านั้นโดยมีวิธีทำดังนี้
</p>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87.E0.B9.81.E0.B8.9A.E0.B8.9A_.htpasswd" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> การสร้างแบบ .htpasswd </span></h3>
<pre>htpasswd -c /path/to/env/.htpasswd username</pre>
<p>เพิ่ม user ที่ต้องการ
</p>
<pre>sudo htpasswd /path/to/env/.htpasswd username2</pre>
<p>รัน tracd โดยใช้ option &#8211; -basic-auth
</p>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87.E0.B9.81.E0.B8.9A.E0.B8.9A_.htdigest" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> การสร้างแบบ .htdigest </span></h3>
<pre>htdigest -c /path/to/env/.htpasswd realm username</pre>
<p>เพิ่ม user ที่ต้องการ
</p>
<pre>htdigest /path/to/env/.htpasswd realm username</pre>
<p>รัน tracd โดยใช้ option &#8211; -auth
</p>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.A3.E0.B8.B1.E0.B8.99_Service_.E0.B8.82.E0.B8.AD.E0.B8.87_trac" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> การรัน Service ของ trac </span></h2>
<p>การรัน Service ของ trac นั้นจะแบ่งเป็น 2 ลักษณะคือ
</p>
<ol>
<li>Standalone&nbsp;: รันบน tracd พอร์ต(port) 8000 ซึ่งสามารถวิ่งใช้บน localhost ได้สบายๆ<br />
<a href="http://trac.mailgothai.net/demo/wiki/TracStandalone" class="external text" title="http://trac.mailgothai.net/demo/wiki/TracStandalone" rel="nofollow">standalone</a></li>
<li>WebService&nbsp;: รันบน <a href="http://trac.edgewall.org/wiki/TracCgi" class="external text" title="http://trac.edgewall.org/wiki/TracCgi" rel="nofollow">TracCgi</a> หรือ <a href="http://trac.edgewall.org/wiki/TracModPython" class="external text" title="http://trac.edgewall.org/wiki/TracModPython" rel="nofollow">TracModPython</a>
</li>
</ol>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.A3.E0.B8.B1.E0.B8.99.E0.B9.82.E0.B8.94.E0.B8.A2.E0.B9.83.E0.B8.8A.E0.B9.89_Basic_Authentiction" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> การรันโดยใช้ Basic Authentiction </span></h3>
<pre>tracd -p 8080 --basic-auth=environmentname,/fullpath/environmentname/.htpasswd,/fullpath/environmentname /fullpath/environmentname
</pre>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.A3.E0.B8.B1.E0.B8.99.E0.B9.82.E0.B8.94.E0.B8.A2.E0.B9.83.E0.B8.8A.E0.B9.89_Digest_Authentiction" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> การรันโดยใช้ Digest Authentiction </span></h3>
<pre>$ tracd -p port --auth=base_project_dir,password_file_path,realm project_path</pre>
<ul>
<li><strong>base_project_dir </strong>คือ directory หลักของ project (ตัวเล็กใหญ่มีผล)</li>
<li><strong>password_file_path</strong> คือ path ที่อยู่ของไฟล์รหัสผ่าน</li>
<li><strong>realm</strong> คือ ชื่อที่อยู่ของโปรเจค (URL)</li>
<li><strong>project_path</strong> คือ ที่อยู่ของ project</li>
</ul>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.A3.E0.B8.B1.E0.B8.99.E0.B9.81.E0.B8.9A.E0.B8.9A_Multiple_Project" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> การรันแบบ Multiple Project </span></h3>
<pre>$ tracd -p 8080 \
   --auth=project1,/path/to/users.htdigest,mycompany.com /path/to/project1
</pre>
<pre>$ tracd -p 8080 \
   --auth=project1,/path/to/users.htdigest,mycompany.com \
   --auth=project2,/path/to/users.htdigest,mycompany.com \
   /path/to/project1 /path/to/project2
</pre>
<pre>$ tracd -p 8080 \
   --auth=&quot;*&quot;,/path/to/users.htdigest,mycompany.com \
   /path/to/project1 /path/to/project2
</pre>
<p><b>ระวังห้ามใส่ตัวใหญ่</b>
</p>
<p><a name="Service_tracd" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> Service tracd </span></h3>
<p>ใส่ script ดังนี้ใน /etc/init.d/tracd
</p>
<pre>
#! /bin/sh
#
# tracd		Trac standalone server daemon
#
# Author:	cocoaberry
#

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC=&quot;Trac standalone server&quot;
NAME=tracd
DAEMON=/usr/bin/$NAME
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

# defaults for tracd
TRACD_PORT=8080
TRACD_BIND_ADDRESS=0.0.0.0
TRACD_EXTRA_OPTS=

# Read config file if it is present.
if [ -r /etc/default/$NAME ]
then
	. /etc/default/$NAME
fi

#
#	Function that starts the daemon/service.
#
d_start() {
	start-stop-daemon --start --background --make-pidfile --quiet \
		--pidfile $PIDFILE --chuid $TRACD_USER \
		--exec $DAEMON -- $TRACD_EXTRA_OPTS --port $TRACD_PORT --hostname $TRACD_BIND_ADDRESS $TRACD_ENVIRONMENTS
}

#
#	Function that stops the daemon/service.
#
d_stop() {
	start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \
		--name $NAME
}

case &quot;$1&quot; in
  start)
	echo -n &quot;Starting $DESC: $NAME&quot;
	d_start
	echo &quot;.&quot;
	;;
  stop)
	echo -n &quot;Stopping $DESC: $NAME&quot;
	d_stop
	echo &quot;.&quot;
	;;
  restart|force-reload)
	#
	#	If the &quot;reload&quot; option is implemented, move the &quot;force-reload&quot;
	#	option to the &quot;reload&quot; entry above. If not, &quot;force-reload&quot; is
	#	just the same as &quot;restart&quot;.
	#
	echo -n &quot;Restarting $DESC: $NAME&quot;
	d_stop
	sleep 1
	d_start
	echo &quot;.&quot;
	;;
  *)
	echo &quot;Usage: $SCRIPTNAME {start|stop|restart|force-reload}&quot; &gt;&amp;2
	exit 1
	;;
esac

exit 0
</pre>
<p>โดยตั้งค่าไหม่ดังตัวอย่าง
</p>
<pre>
TRACD_USER=tracd
 # The environments that tracd manages. If more than one, separate
 # with spaces
TRACD_ENVIRONMENTS=/home/tracd/trac-env
 # Extra options to tracd
TRACD_EXTRA_OPTS=&quot;--auth *,/home/tracd/trac.htdigest,TracRealm&quot;
</pre>
<p>ref&nbsp;: <a href="http://codesnippets.joyent.com/tag/tracd" class="external free" title="http://codesnippets.joyent.com/tag/tracd" rel="nofollow">http://codesnippets.joyent.com/tag/tracd</a>
</p>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.97.E0.B8.B3_NGINX_.2B_TRAC" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> การทำ NGINX + TRAC </span></h2>
<p>แต่ในที่นี้จะกล่าวถึงการใช้ Standalone บนโดยใช้ nginx มาวิ่งเป็น webservice แบบ proxy<br />
ต่อไป ทำการสร้าง project environment
</p>
<pre>$ trac-admin /path/to/myproject initenv</pre>
<p>รันแบบ standalone ได้เลย
</p>
<pre>tracd --port 8000 /path/to/myproject</pre>
<p>จากนั้นไป set ใน nginx ให้ ทำ proxy มาที่ service ที่เราใส่ไว้
</p>
<pre>
    server {
        listen       80;
        server_name  trac.xxxxxxxxxx.com;

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #

        location /OC/report {
            root /var/trac/test/htdocs;
            autoindex on;
        }

        location / {
            proxy_pass   http://127.0.0.1:8001;
        }

        location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
            proxy_pass   http://127.0.0.1:8001;

            #root /var/trac/test/htdocs;
        }

        location /munin/ {
            root /var/trac/test/htdocs;
        }
    }
</pre>
<p>ดูเพิ่มเติมได้ที่&nbsp;: <a href="http://wiki.memoball.info//index.php/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87%E0%B8%84%E0%B9%88%E0%B8%B2%E0%B8%AA%E0%B8%B3%E0%B8%AB%E0%B8%A3%E0%B8%B1%E0%B8%9A_nginx_%28Nginx_configuration%29" title="การตั้งค่าสำหรับ nginx (Nginx configuration)">การตั้งค่าสำหรับ_nginx_(Nginx_configuration)</a>
</p>
<p><a name=".E0.B8.81.E0.B8.B2.E0.B8.A3.E0.B8.AA.E0.B8.A3.E0.B9.89.E0.B8.B2.E0.B8.87_Repository" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> การสร้าง Repository </span></h2>
<p>เนื่องจาก trac เองเป็นแค่หน้ากากครอบตัว svn อยู่เท่านั้น ดังนั้นเราจึงต้องสร้าง repository ผ่านท่าง <a href="http://wiki.memoball.info//index.php/Subversion" title="Subversion">subversion</a> เท่านั้น
</p>
<p><a name="Troubleshooting" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> Troubleshooting </span></h2>
<p><a name=".E0.B9.82.E0.B8.AB.E0.B8.A5.E0.B8.94.E0.B9.82.E0.B8.9B.E0.B8.A3.E0.B9.80.E0.B8.88.E0.B8.84.E0.B9.84.E0.B8.A1.E0.B9.88.E0.B8.82.E0.B8.B6.E0.B9.89.E0.B8.99" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> โหลดโปรเจคไม่ขึ้น </span></h3>
<p>เกิด error ดังต่อไปนี้
</p>
<pre>
Traceback (most recent call last):
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/web/api.py&quot;, line 367, in send_error
    'text/html')
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/web/chrome.py&quot;, line 688, in render_template
    data = self.populate_data(req, data)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/web/chrome.py&quot;, line 596, in populate_data
    d['chrome'].update(req.chrome)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/web/api.py&quot;, line 194, in __getattr__
    value = self.callbacks[name](self)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/web/chrome.py&quot;, line 464, in prepare_request
    for category, name, text in contributor.get_navigation_items(req):
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/ticket/web_ui.py&quot;, line 162, in get_navigation_items
    if 'TICKET_CREATE' in req.perm:
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/perm.py&quot;, line 523, in has_permission
    return self._has_permission(action, resource)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/perm.py&quot;, line 537, in _has_permission
    check_permission(action, perm.username, resource, perm)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/perm.py&quot;, line 424, in check_permission
    perm)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/perm.py&quot;, line 282, in check_permission
    get_user_permissions(username)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/perm.py&quot;, line 357, in get_user_permissions
    for perm in self.store.get_user_permissions(username):
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/perm.py&quot;, line 173, in get_user_permissions
    db = self.env.get_db_cnx()
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/env.py&quot;, line 264, in get_db_cnx
    return DatabaseManager(self).get_connection()
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/db/api.py&quot;, line 76, in get_connection
    return self._cnx_pool.get_cnx(self.timeout or None)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/db/pool.py&quot;, line 174, in get_cnx
    return _backend.get_cnx(self._connector, self._kwargs, timeout)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/db/pool.py&quot;, line 107, in get_cnx
    cnx = connector.get_connection(**kwargs)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/db/sqlite_backend.py&quot;, line 126, in get_connection
    return SQLiteConnection(path, params)
  File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.2.1-py2.5.egg/trac/db/sqlite_backend.py&quot;, line 159, in __init__
    raise TracError('Database &quot;%s&quot; not found.'&nbsp;% path)
TracError: Database &quot;/var/trac/test/test.db&quot; not found.
</pre>
<p>สาเหตุ
</p>
<ul>
<li>เกิดจากการสร้าง environment ของโปรเจคนั้นๆ ไม่สมบูรณ์ ให้สร้าง environment ใหม่ โดยให้ขึ้น complete ด้วย ซึ่งในบางครั้งมีไฟล์ใหม่ใน path แต่ก็ยังไม่สมบูรณ์ สังเกตได้จากการรายงานของ trac-admin ตอนส้าง
</li>
<li>ไม่สามารถเปิดไฟล์ DB ของ Sqlite ได้ เนื่องจากติด permission ของ OS
</li>
</ul>
<p><a name="admin_tab_.E0.B9.84.E0.B8.A1.E0.B9.88.E0.B8.82.E0.B8.B6.E0.B9.89.E0.B8.99" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> admin tab ไม่ขึ้น </span></h3>
<p>ยังไม่ได้ Authen
</p>
<p><a name="login_.E0.B9.84.E0.B8.A1.E0.B9.88.E0.B9.84.E0.B8.94.E0.B9.89" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> login ไม่ได้ </span></h3>
<p>ในกรณีนี้จะเกิด error ที่หน้า login เพราะ ไม่ได้ run แบบ authentication หรือ file authentication เกิดการผิดพลาด สังเกตดูว่ามีข้อผิดพลาด(warning)ขณะรัน tracd หรือไม่ ถ้าไม่ ลองดูกรณีของชื่อโปรเจคหรือไม่(ต้องใส่ตัวเล็ก)
</p>
<p>ในกรณีทีทำทุกอย่างถูกต้องแล้วแต่ยังไม่สามารถทำ authentication ได้นั้น อาจเป้นเพราะ เมื่อรัน tracd ในส่วน &#8211;suthen=project นั้นให้ใส่ path ของเราที่เหมือนกัน URL ใน browser ของเรา เช่น โปรเจค DEMO ซึ่งในหน้า Browser ของเราปรากฎเป็น xxx.xxxxx.com/env/  ก็ใช้ใส่เป็น &#8211;authen=env<br />
<a href="http://trac.edgewall.org/wiki/TracSubversion#unsupported-vcs" class="external free" title="http://trac.edgewall.org/wiki/TracSubversion#unsupported-vcs" rel="nofollow">http://trac.edgewall.org/wiki/TracSubversion#unsupported-vcs</a>
</p>
<p><a name="repository_.26_SVN_error" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> repository &amp; SVN error </span></h3>
<pre>Warning: Can't synchronize with the repository (Unsupported version control system &quot;svn&quot;: &quot;No module named svn&quot; ). Look in the Trac log for more information.</pre>
<p><b>Trac Error</b>
</p>
<pre>Unsupported version control system &quot;svn&quot;: &quot;No module named svn&quot;</pre>
<p>ลองทดสอบดูว่า subversion module ของ python ได้ถูกติดตั้งไว้หรือไม่
</p>
<pre>http://trac.edgewall.org/wiki/TracSubversion#unsupported-vcs</pre>
<p>ถ้าขึ้นข้อความมาแสดงว่ายังไม่ได้ลง ใช้ติดตั้งดังนี้
</p>
<pre>$ apt-get install python-subversion</pre>
<p><a name="HTML_preview_not_available" href="http://wiki.memoball.info/"></a><br />
<h3> <span class="mw-headline"> HTML preview not available </span></h3>
<pre>HTML preview not available, since no preview renderer could handle it. Try downloading the file instead. </pre>
<p>ถ้าไปเปิดใน log ดูจะเห็นว่า
</p>
<pre>
WARNING: HTML preview using &lt;trac.mimeview.php.PHPRenderer object at 0x86db16c&gt; failed (Running (php -sn) failed: 127, sh: php: not found .) Traceback (most recent call last):   File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.4-py2.5.egg/trac/mimeview/api.py&quot;, line 715, in render     rendered_content, filename, url)   File &quot;/usr/lib/python2.5/site-packages/Trac-0.11.4-py2.5.egg/trac/mimeview/php.py&quot;, line 93, in render     raise Exception(msg) Exception: Running (php -sn) failed: 127, sh: php: not found .
</pre>
<p>ให้ลง php5-cli ไปก็เปิดได้เรียบร้อย
</p>
<pre>$ sudo apt-get install php5-cli</pre>
<p><a name="Plugin" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> Plugin </span></h2>
<ul>
<li><b>ProgressMeter</b>  <a href="http://trac-hacks.org/wiki/ProgressMeterMacro" class="external free" title="http://trac-hacks.org/wiki/ProgressMeterMacro" rel="nofollow">http://trac-hacks.org/wiki/ProgressMeterMacro</a>
</li>
</ul>
<p><a name="Reference" href="http://wiki.memoball.info/"></a><br />
<h2> <span class="mw-headline"> Reference </span></h2>
<ul>
<li><a href="http://trac.edgewall.org/wiki/TracInstall" class="external free" title="http://trac.edgewall.org/wiki/TracInstall" rel="nofollow">http://trac.edgewall.org/wiki/TracInstall</a>
</li>
<li><a href="http://trac.edgewall.org/wiki/TracEnvironment" class="external free" title="http://trac.edgewall.org/wiki/TracEnvironment" rel="nofollow">http://trac.edgewall.org/wiki/TracEnvironment</a>
</li>
<li><a href="http://trac.edgewall.org/wiki/TracFaq" class="external free" title="http://trac.edgewall.org/wiki/TracFaq" rel="nofollow">http://trac.edgewall.org/wiki/TracFaq</a>
</li>
</ul>
<p><!--<br />
NewPP limit report<br />
Preprocessor node count: 111/1000000<br />
Post-expand include size: 0/2097152 bytes<br />
Template argument size: 0/2097152 bytes<br />
Expensive parser function count: 0/100<br />
--></p>
<p><!-- Saved in parser cache with key memoball_wiki:pcache:idhash:2-0!1!0!!th!2!edit=0 and timestamp 20090824232930 --></p>
<div class="printfooter">
<h5>รับข้อมูลจาก (Reference) : </h5>
<p>จาก WikiBall : <a href="http://wiki.memoball.info/index.php/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87_trac_%E0%B8%9A%E0%B8%99_linux_%28Ubuntu%29">http://wiki.memoball.info/index.php/การติดตั้ง_trac_บน_linux_(Ubuntu)</a></div>
<div id='catlinks' class='catlinks'>
<div id="mw-normal-catlinks"><a href="http://wiki.memoball.info//index.php/%E0%B8%9E%E0%B8%B4%E0%B9%80%E0%B8%A8%E0%B8%A9:Categories" title="พิเศษ:Categories">หมวดหมู่</a>:&#32;<span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:SVN&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:SVN (ยังไม่ได้สร้าง)">SVN</a></span> | <span dir='ltr'><a href="http://wiki.memoball.info//index.php?title=%E0%B8%AB%E0%B8%A1%E0%B8%A7%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B9%E0%B9%88:Trac&amp;action=edit&amp;redlink=1" class="new" title="หมวดหมู่:Trac (ยังไม่ได้สร้าง)">Trac</a></span></div>
</div>
<p>			<!-- end content --></p>
<div class="visualClear"></div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.memoball.info/01/%e0%b8%9b%e0%b8%b1%e0%b8%8d%e0%b8%ab%e0%b8%b2%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89-web-interface-%e0%b8%82%e0%b8%ad%e0%b8%87-trac/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
