ด้วยความลำบากของชีวิตวันนี้เพื่อนมาถาม ลองค้นๆ ในบล๊อก อ้าวไม่มีเลยจดไว้หน่อย เพราะสำหรับ FreeBSD แล้วมันไม่มีอะไรง่ายเลย ^^! ถือว่าเป็นซีรี่ย์ต่อจาก GIT ละกัน แต่คราวนี้จะละเอียดกว่านิดหน่อยเพราะเริ่มจากติด SVN/Trac จาก port เลยเพราะเพื่อนเจอปัญหาน่าปวดหัวตั้งแต่ขั้นนี้ซะนี่ เริ่มเลยละกัน
- เริ่มจากติด Apache เนื่องจาก SVN มันใช้บางอย่างที่พิเศษกว่าชาวบ้านด้วย นั่นคือ bdb + อยู่บน FreeBSD ชีวิตเลยไม่สวยงามนักตอนติด Apache ต้องเลือกให้มันใช้ apr จาก port ซึ่งมันก็จะมีคำเตือนว่าอันตราย แต่ช่างมันเหอะ เพื่อความเรียบง่ายในชีวิต เลือกมันออกซะ แล้วก็ไปติด apr-svn ใน /usr/ports/devels แล้วก็ปล่อยมันไปดึงเพื่อนๆ มันมาลงด้วย
- หลังจากจัดการกับ Apache เสร็จก็มาลง svn ต่ออยู่ใน /usr/ports/devels/subversion (ตอนแรกๆ พิมพ์ svn อยู่ตั้งนาน หามันไม่เจอซักที มารู้ทีหลังว่ามันดันใช้ชื่อเต็ม เซ็งอยู่นาน) อันนี้ไม่มีอะไรก็ make install ธรรมดาถ้าทำขั้นแรกมาแล้ว แต่!!! ถ้าไม่ได้ทำใส่ -DWITHOUT_BDB4 ไปด้วยเพื่อให้มันใช้ไฟล์ในการเก็บรุ่นแทน อาจจะดูไม่ดีนัก แต่ถ้าทำงานคนเดียวก็คงไม่ค่อยมีปัญหาเท่าไหร่(มั้ง) อ้อ ตอนติดตั้งเลือก mod_svn ให้ Apache ด้วยนะ เพื่อความง่ายของชีวิต
- สุดท้ายคือติด Trac ก็ไปที่ /usr/ports/www/trac แล้วสั่ง make install
อ่ะ ด้านบนมันขั้นตอนเหมือนธรรมด๊า ธรรมดาแต่มักไปตกม้าตายกับไอ้ขั้นแรกนี่แหละ ที่งงตั้งนานว่ามันจะเอา BDB อะไรอีกฟะ กูก็ติดแล้วนี่หว่า มาถึงบางอ้อว่าต้องเอา apr จาก port ด้วยก็ตอนไปถาม @pFz นี่แหละ
ต่อมาสร้าง SVN repository กับ Trac
- เอา SVN ก่อนก็หาที่เก็บเหมาะๆ แล้วก็สั่ง svn-admin create /path/to/repository ซะเป็นอันเสร็จสิ้น(บ๊ะ ง่ายกว่า git เยอะเลย)
- ตามด้วย trac ก็หาที่เก็บเหมาะๆ เหมือนเดิมแล้วสั่ง trac-admin /path/to/trac/environment initevn แล้วมันจะมีขั้นตอนถามอย่างละเอียด ว่าชื่อโครงการชื่ออะไร ใช้ repository ไหมประเภทอะไร เก็บไว้ที่ไหน แต่ละอันก็จะมีค่าเริ่มต้นมาให้อยู่แล้วด้วย จะกดผ่านๆ ไปก็ได้
-
อันนี้ขั้นตอนเสริมสำหรับคนใช้ fastcgi เท่านั้นใช้!!! (ห้ามถามวิธีอื่น เพราะไม่รู้เหมือนกัน) ให้ไป copy ไฟล์จาก /usr/local/share/trac/cgi-bin/trac.fcgi ไปวางไว้ซักที่ใน trac(จะเอาที่อื่นก็ได้ แต่เอาไว้ด้วยกันมันหาสะดวกดี) แล้วเพิ่มสองบรรทัดด้านล่างเข้าไป
import os os.environ['TRAC_ENV'] = "/path/to/trac/environment"
โอ้สองขั้นง่ายๆ ต่างจาก GIT เยอะแฮะ (สงสัยทำมาบ่อยเลยง่าย) ต่อไปก็ Apache หละ
- สร้างไฟล์ไว้เก็บรายชื่อ user/password ก่อนซักที่ เหมือนเดิมเอาง่ายๆก็ htpasswd ^^!
$htpasswd -c .htpasswd username
- จากนั้นก็กำหนดให้ Apache รู้จัก Trac และ SVN หน่อย
AuthType Basic AuthName "Project name" AuthUserFile /path/to/password/file/.htpasswd require valid-user DAV svn SVNPath /path/to/repository AuthType Basic AuthName "Project name" AuthUserFile /path/to/password/file/.htpasswd require valid-user ScriptAlias /trac /path/to/trac/fastcgi/script/ - restart Apache ซักรอบก็ได้หละ