about 2 months ago - 1 comment
entry นี้โฆษณา debian สุดๆ
Install Debian and enable Backports
aptitude install mysql-server redmine-mysql
sudo -u www-data X_DEBIAN_SITEID=”default” ruby script/server webrick -e production
about 1 year ago - 1 comment
แก้ wp-config.php เติมลงไปว่า
define (’WP_POST_REVISIONS’, 0);
ไปที่ db ของ Wordpress แล้วรัน SQL ต่อไปนี้
DELETE FROM wp_posts WHERE post_type=’revision’
ป.ล. ชื่อ table (wp_posts) อาจแตกต่างกันไป แล้วแต่ prefix ที่ตั้งค่าไว้
about 1 year ago - 2 comments
จดไว้กันลืม ลอกมาจาก askapache.com
Require password for 1 file only
<Files login.php>
Order deny,allow
Deny from all
AuthName "htaccess password prompt"
AuthType Basic
AuthUserFile /home/askapache.com/.htpasswd
Require valid-user
</Files>
Protect multiple files:
<FilesMatch "^(exec|env|doit|phpinfo|w)\.*$">
Order deny,allow
Deny from all
AuthName "htaccess password prompt"
AuthUserFile /.htpasswd
AuthType basic
Require valid-user
</FilesMatch>
Using the More >
about 1 year ago - No comments
เรื่องมันมีอยู่ว่า Hosting ที่ดูแลอยู่โดน spam mail มหาศาลเข้าไป โฟลเดอร์ spool เลยเต็มไปด้วยเมล์ นับๆแล้วรวมกันได้ 530,367 ฉบับ แปลว่ามีไฟล์อยู่ 530,367 ไฟล์ แต่ละไฟล์ขนาดไม่เกิน 1 KB
ทีนี้ปัญหามันเกิดเมื่อต้องการลบโฟลเดอร์นี้ทิ้ง ทีนี้ partition แบบ ext3 มันจัดการไฟล์แบบนี้ได้ห่วยแตกมากๆ ลองลบด้วยหลายๆวิธีก็ไม่สำเร็จ
rm -rf dirname # ลองรันทิ้งไว้ชั่วโมงนึง (ไปกินข้าวมา) กลับมาเช็คจำนวนไฟล์ยังเท่าเดิมเป้ะ
find dirname -delete # ลองรันทิ้งไว้ 5 นาที ผลคือจำนวนไฟล์เท่าเดิมเช่นเคย
นั่งงมๆอยู่นาน เลยลองถามไปใน twitter ได้ @sourcode มาร่วมปวดหัวด้วยกัน จนสุดท้ายลองเล่นกับ shell script แทน ได้ผลแฮะ
# ls -1 dirname > list
# for i in More >
about 1 year ago - No comments
อันนี้คือที่ผมใช้อยู่ครับ เอาไปใส่ในไฟล์ /etc/apt/sources.list
deb http://mirror1.ku.ac.th/debian/ lenny main contrib non-free
deb http://mirror1.ku.ac.th/debian/ lenny-proposed-updates main contrib non-free
deb http://debian.thaios.net/debian/ lenny main contrib non-free
deb http://debian.thaios.net/debian/ lenny-proposed-updates main contrib non-free
deb ftp://ftp.debianclub.org/debian/ lenny main contrib non-free
deb ftp://ftp.debianclub.org/debian/ lenny-proposed-updates main contrib non-free
deb http://linux.thai.net/debian/ lenny main contrib non-free
deb http://linux.thai.net/debian/ lenny-proposed-updates main contrib non-free
deb http://neutron.debianclub.com/debian/ lenny main contrib non-free
deb http://neutron.debianclub.com/debian/ lenny-proposed-updates main contrib non-free
deb http://debian.lru.ac.th/debian/ lenny More >
about 1 year ago - 2 comments
Redmine เป็น Project Management Software (Bug Tracker) ตัวหนึ่ง เอาไว้จัดการโปรเจคต่างๆที่ทำกันเป็นทีมใหญ่ๆ เจ้า Redmine นี่เขียนและรันบน Ruby on Rails ซึ่งยังจัดเป็นของแปลกอยู่สำหรับทุกวันนี้ มันก็เลยติดตั้งค่อนข้างยุ่งยากกว่า PHP ที่นิยมใช้กันแพร่หลายและมักจะติดตั้งมาเป็น Default ของ Web Server ส่วนใหญ่
Blog นี้จะอธิบายขั้นตอนการติดตั้ง Redmine ไม่ใช่วิธีใช้
ถ้าต้องการอ่านวิธีใช้งานให้ไปอ่านที่ ใช้ Redmine พัฒนา project ของ @ploysics
รายละเอียดของ Server และ Redmine
OS: Debian
User: redmine
Path ที่ติดตั้ง: /home/redmine
URL บนเว็บ: http://hostname/redmine/ (hostname คือเว็บที่จะเอาไปรัน)
สรุปขั้นตอนย่อๆ
ต้องมีสิทธิ root บน Server เครื่องที่จะติดตั้ง
ลง Apache2 + MySQL และโปรแกรมจุกจิกให้ครบ
ลง Redmine
ลง mod_passenger
เริ่มลงกันเลย
แปลงร่างเป็น root
sudo More >
about 1 year ago - 1 comment
เวลาอยากให้ SVN ที่รันผ่าน Apache (mod_dav_svn) มันสามารถ List รายการ Repository ทั้งหมดในนั้นได้ ถ้างงลองดูรูปประกอบ
ปกติมันก็ควรทำได้ง่ายๆและเป็นอย่างในรูป โดยการเพิ่มคำสั่ง SVNListParentPath On ลงไปก็แค่นั้น
<Location />
DAV svn
SVNParentPath /home/vhost/<hidden>/svn
SVNListParentPath On
…
</Location>
แต่พอลองทำแล้ว มันดัน Forbidden !@#$%!@#$%
งงมากๆ เกิดอะไรขึ้น หลังจากลองแก้ไปแก้มา พบว่าถ้าเอาคำสั่ง AuthzSVNAccessFile ออกแล้วมันสามารถ List รายการได้ตามปกติ หลังจากทดสอบไปมาจนแน่ใจ ก็ฟันธงว่ามันเป็นบั๊ก
จากนั้นก็พึ่ง Google เพื่อนยาก หาวิธีแก้ไปเรื่อยๆ จนไปเจอความเห็นหนึ่งในเว็บบอกไว้ว่า ถ้าใส่ / ตามหลังคำสั่ง <Location …/> จะสามารถใช้งานได้ตามปกติ
แต่ปัญหาสำคัญสุดคือ ผมรัน SVN ไว้บน / ของเว็บ ซึ่งก็คือ <Location /> แน่นอน… มันมี / อยู่แล้ว ลองเบิ้ลเข้าไปเป็น More >
about 1 year ago - No comments
สิ่งที่ผมจะพูดต่อไปนี้อ้างอิงกับ Debian เท่านั้นนะครับ อาจดูเป็นเรื่องง่ายๆ แต่ผมไม่เคยเอะใจสักนิด
ปัญหาก็คือผมต้องการซ่อนรายละเอียดของ Server ที่รันเว็บอยู่ ซึ่งปกติมันจะบอกข้อมูลมาแบบนี้
Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_wsgi/2.3 Phusion_Passenger/2.0.4 Server at <hidden> Port 80
วิธีซ่อนก็ไม่ยาก แค่ไปแก้สองคำสั่งใน apache2.conf ตามนี้ รายละเอียดพวกนี้ก็จะถูกซ่อนไป
ServerSignature Off ServerTokens Prod
แต่เมื่อแก้เสร็จแล้ว Apache ก็ยังคายรายละเอียดของ Server ออกมาเยอะเหมือนเดิมอยู่ ซึ่งตามปกติถ้าเราปรับอย่างนั้นแล้ว มันไม่ควรจะคายอะไรออกมาเลย
ก็เลยลองไล่ดูคำสั่งในโฟลเดอร์ config ของ Apache ไปเรื่อยๆ จนเจอว่ามีอีกไฟล์ที่มีสองคำสั่งนั้นเช่นกัน คือ /etc/apache2/conf.d/security More >
about 1 year ago - 2 comments
หลังจาก @lewcpe ช่วยลง FTP บนเครื่องที่ภาคให้แล้ว ก็ได้โอกาสลองใช้ฟีเจอร์สั่ง Auto-upgrade ของ wordpress ฟีเจอร์นี้คือการที่ wordpress จะทำการ upgrade ตัว plugin ให้เราโดยอัตโนมัติ เพียงแค่เรากรอก user/pass ของ FTP เข้าไปแล้ว Wordpress จะเข้าไปจัดการให้เราเอง
ตัวอย่างหน้า Upgrade
เมื่อระบบพร้อม เราก็ทดลองกับ wassup plugin เป็นตัวแรก ทุกอย่างก็ผ่านไปด้วยดี จนกระทั่งขั้นตอนการอัพเกรดเสร็จเรียบร้อย แต่เมื่อกดไปหน้าไหนก็จะเจอข้อความโวยวายดังนี้อยู่บนหัว
Warning: include_once(…blabla…/blog/wp-content/plugins/wassup/) [function.include-once]: failed to open stream: Success in …blabla…/blog/wp-settings.php on line 425
จากข้อความข้างบน แปลว่ามีปัญหากับคำสั่ง include_once ในไฟล์ wp-settings.php บรรทัดที่ 425
เอาแล้วไง! ก็เริ่ม debug More >
about 2 years ago - No comments
Standalone Trac
aptitude install trac
trac-admin <envdir> initenv
trac-admin <envdir> permission add <user> TRAC_ADMIN
tracd –port <port> <envdir>
Apache + mod_python
aptitude install libapache2-mod-python
zless /usr/share/doc/trac/README.Debian.gz
chmod -R www-data.www-data <envdir>
If failed, see apache’s error.log