การย้าย Mailman และปรับแต่งให้รองรับภาษาไทย

Mailman เป็น mailing list ที่มีระบบบริหารจัดการสมาชิกผ่านทางเว็บเพจ  ระบบตรวจสอบอีเมลเข้ามาใน list  ระบบ archive และอื่นๆ อีกมากมาย  (อ่านเพิ่มเติมที่นี่)   วิธีการติดตั้งเองมีความยุ่งยากในระดับหนึ่ง เพราะต้องวุ่นวายกับสิทธิ์การเข้าถึงไฟล์ต่างๆ  แต่ผู้พัฒนาได้เขียนวิธีการติดตั้งไว้ค่อนข้างละเอียด  เพียงทำตามไปทีละขั้นตอนก็สามารถติดตั้งใช้งานได้ สำหรับเรื่องภาษาไทยนั้น  ก่อนหน้านี้ในเวอร์ชัน 2.1.x จะไม่สามารถส่งภาษาไทยได้  เพราะเมื่อส่งอีเมลที่มีภาษาไทยปนอยู่ด้วยแล้ว  อีเมลนั้นจะหายเงียบไปเลย  แต่ในเวอร์ชัน 2.1.9 ขณะที่เขียนเรื่องนี้สามารถส่งอีเมลเป็นภาษาไทยได้แล้ว สำหรับโจทย์ที่ผมเจอก็คือ ผมจำเป็นต้องย้าย mailig list ไปไว้ที่เซิร์ฟเวอร์เครื่องใหม่  ซึ่งวิธีการที่ผมดำเนินการมีดังนี้ ติดตั้ง Mailman ในเซิร์ฟเวอร์ใหม่ตามปกติ  พร้อมทดสอบว่าใช้งานได้จริง ผมใช้คำสั่ง configuration ดังนี้ ./configure –prefix=/home/mailman –with-mail-gid=mailman –with-cgi-gid=apache –with-mailhost=hostname.com –with-urlhost=hostname.com ทำการคัดลอกไฟล์และไดเรอทอรีทั้งหมด ที่อยู่ในไดเรกทอรี archives, data และ list จากเซิร์ฟเวอร์เก่า มายังเซิร์ฟเวอร์เครื่องใหม่ คัดลอก custom configuration … อ่านต่อ …

vsftpd and mirror server

วันนี้ผมได้ทำ mirror server โดยใช้ vsftpd (http://vsftpd.beasts.org/)  และ Emirror (http://sourceforge.net/projects/emirror/)   วิธีการติดตั้ง vsftpd สามารถดูได้ที่นี่ http://rd.cc.psu.ac.th/content/view/20/46/ ไฟล์ /etc/vsftpd.conf มีสิ่งที่อาจต้องเพิ่มเติมคือ # เพื่อเปลี่ยนโฮมของ ftp จาก /var/ftp ไปที่ /home/ftp  และควรแก้ home ของ ftp user ให้เป็นที่ /home/ftp ด้วย anon_root=/home/ftp # กำหนดจำนวน clients สูงสุดที่เข้าใช้งานได้ max_clients=50 # กำหนดจำนวน concurrent session ต่อ IP address max_per_ip=4 # สร้าง banner ที่เมื่อ user login จะเห็นข้อความในไฟล์นี้ banner_file=/etc/vsftpd/banner_file  หรือต้องการให้มีข้อความส่งถึงผู้ใช้ในแต่ละไดเรกทอรี  สามารถทำโดยสร้างไฟล์ .message  … อ่านต่อ …

WordPress 2.3 มาแล้ว

ผม upgrade เป็น WordPress 2.3 (Dexter) แล้ว  เวอร์ชันใหม่นี้มีอะไรบ้าง  ก็คงมีคนพูดถึงมากมายแล้ว   แต่ขอพูดถึงการเปลี่ยนแปลงที่น่าสนใจไว้หน่อยครับ Native tagging support  มีระบบ tag  เพิ่มเติมจาก category ของเดิม Plug-in update notification เมื่อผู้พัฒนา plug-in ออกเวอร์ชันใหม่ๆ ก็จะมีข้อความแจ้งบอก  (แต่ต้องเข้าไปดูในส่วน plug-in เองนะ) Canonical URLs ทำให้รองรับรูปแบบของ URL ที่ยืดหยุ่นมากขึ้น (อ่านรายละเอียดเพิ่มเติม) advanced WYSIWYG  ที่เลิกซ่อนฟังก์ชันที่แอบไว้ของ TinyMCE (ต้องกด CTRL+Shift+V) รองรับ Atom 1.0 อย่างสมบูรณ์แบบ เร็วขึ้นจากเดิม 800% จากผลของ jQuery  (ว้าว!) Upgrade ยังไง?  ขั้นตอนการ upgrade ก็ง่ายดายเหมือนเดิม  แต่ควรจะทำการ Backup … อ่านต่อ …

วิธีการติดตั้ง Chrooted DNS Server (BIND9)

วิธีการติดตั้ง chrooted dns server สำหรับ CentOS yum install bind-chroot  chmod 755 /var/named/ chmod 775 /var/named/chroot/ chmod 775 /var/named/chroot/var/ chmod 775 /var/named/chroot/var/named/ chmod 775 /var/named/chroot/var/run/ chmod 777 /var/named/chroot/var/run/named/ cd /var/named/chroot/var/named/ ln -s ../../ chroot chkconfig –levels 235 named on /etc/init.d/named start ที่มา: http://www.howtoforge.com/perfect_setup_centos_4.4_p4

SSH brute force attack

ถ้าใครติดตั้ง SSH ไว้ในเครื่องก็คงหลีกไม่พ้นพวก SSH brute force attack แบบนี้ Failed password for invalid user james from ::ffff:203.81.58.202 port 44512 ssh2 Failed password for invalid user snort from ::ffff:203.81.58.202 port 45086 ssh2 Failed password for invalid user radiomail from ::ffff:203.81.58.202 port 45520 ssh2 Failed password for invalid user divine from ::ffff:203.81.58.202 port 46804 ssh2 Failed password for … อ่านต่อ …

How to Compile suPHP+Apache2+PHP

คัดลอกจาก http://planetmy.com/blog/?p=67 Finally I’m manage to make my PHP 5.1.2 compiled with suPHP successful today suPHP is a tool for executing PHP scripts with the permissions of their owners. It consists of an Apache module (mod_suphp) and a setuid root binary (suphp) that is called by the Apache module to change the uid of the … อ่านต่อ …

Monitor A System With Sysstat (CentOS)

Sysstat เป็นโปรแกรมที่ช่วยเก็บข้อมูลเกี่ยวกับ performance ของเครื่อง และบันทึกลงข้อมูลเก็บไว้เรียกดูได้ วิธีการติดตั้ง sysstat yum intstall sysstat หลังจากติดตั้งแล้วจะต้องปล่อยให้ชุดโปรแกรมของ sysstat ทำการเก็บข้อมูลไประยะหนึ่งก่อนจึงจะเรียกดูข้อมูลได้ โดยในชุด rpm ของ sysstat จะมีการติดตั้ง cron เพื่อให้สั่งทำงานทุก 10 นาที อยู่ที่ /etc/cron.d/sysstat ภายในไฟล์นี้มีข้อมูลคือ # run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib/sa/sa1 1 1 # generate a daily summary of process accounting at 23:53 53 23 … อ่านต่อ …

Squild proxy with Digest HTTP Authentication

เมื่อเร็วๆ นี้ผมพบว่าเน็ตเวิร์คที่ตัวเองดูแลอยู่มี traffic ขาออกมากกว่าขาเข้าอย่างมากมาย มีช่วงหนึ่งที่มี traffic ขาออกประมาณ 7 MBits/s เป็นช่วงระยะเวลาประมาณ 3 ชั่วโมง ซึ่งผมนึกไม่ออกว่าที่นี่จะมีข้อมูลส่งออกอะไรที่มากมายขนาดนี้ คาดว่าคงมีผู้ใช้ละเมิดระเบียบการใช้งานเครือข่าย ซึ่งในที่สุดข้อสงสัยของผมเป็นจริงเมื่อผมตรวจพบว่ามีการใช้โปรแกรมประเภท peer-to-peer ด้วยความสะดวกสบายในการใช้งานเครือข่าย เพราะมีห้องปฏิบัติการหลายห้องที่เปิดให้นักศึกษาเข้าใช้งานได้ตลอด 24 ชั่วโมง กอรปกับการเพิ่มความเร็วในการเชื่อมต่อกับอินเทอร์เน็ตที่เพิ่มขึ้น และความละเลยของภาควิชาในการควบคุมดูแลนักศึกษา ระเบียบการใช้งานเครือข่ายจึงเป็นแค่กระดาษที่ถูกแจกจ่ายไปแล้วก็ถูกเก็บเข้าแฟ้ม เมื่อถูกละเลยผมจึงต้องเล่นบทโหด ด้วยการตามปิด switch port ของผู้ใช้งานที่สร้างปัญหา ซึ่งผู้ใช้งานตัวแสบก็ทำการย้ายที่ไปเรื่อยๆ ในที่สุดก็โดนทั้งห้องปฏิบัติการ นอกจากนี้ความอยากใช้งานเครือข่ายมาก (อยากรู้จริงๆ ว่าใช้อะไรกันนักหนา ถ้าไม่เล่นเกมส์กับดาวน์โหลดไฟล์) ก็เลยทำการละเมิดระเบียบอีกข้อด้วยการต่อเชื่อมเน็ตเวิร์คระหว่างห้องปฏิบัติการโดยพละการ และด้วยสายเน็ตเวิร์คไม่ยาวพอ ก็เลยทำการต่อสายให้ยาวขึ้นด้วยตัวเอง ซึ่งผมเห็นแล้วถึงกับพูดไม่ออกในความมักง่าย เพราะสายทองแดงทุกเส้นมีโอกาสช็อตกันหมด ด้วยเหตุที่เกิดขึ้นนี้จึงต้องคุมเข้มผู้ใช้งานที่ขาดสติ ด้วยการตัดไม่ให้เชื่อมต่อออกไปข้างนอกได้โดยตรง โดยผู้ใช้งานจะต้องใช้ผ่าน proxy ที่มีระบบ authentication เท่านั้น เพื่อที่จะตรวจสอบ ควบคุม และติดตามการใช้งานได้สะดวกขึ้น ทีนี้เรื่องของ browser authentication มันก็มี 2 แบบคือ … อ่านต่อ …

Apache web server VS SELINUX

วันนี้ได้มีโอกาสย้ายข้อมูลของเว็บเซิร์ฟเวอร์ ในเครื่องใหม่มีการติดตั้ง SELINUX ไว้ด้วย ทีนี้ผมต้องการย้าย home ของเว็บเพจจาก /var/www ให้เป็น /home/httpd เพื่อให้เหมือนกับโครงสร้างเดิม ผมก็เลยดำเนินการแก้ไขไฟล์ httpd.conf จาก /var/www ให้เป็น /home/httpd ทั้งหมด แล้วก็ restart apache ใหม่ ผลปรากฏว่า start apache ไม่ได้ และมีข้อความเตือนดังนี้ Starting httpd: Syntax error on line 265 of /etc/httpd/conf/httpd.conf: DocumentRoot must be a directory [FAILED] ผมมั่นใจว่าแก้ไขไฟล์ httpd.conf ถูกแน่ๆ เลยลองเข้าไปดูใน /var/log/message ก็พบข้อความ error ต่อไปนี้ Sep 10 19:07:11 hostname httpd: … อ่านต่อ …