การกำหนดให้ MySQL ใช้ utf-8 เป็นค่า default

การกำหนดให้ MySQL ใช้ utf-8 เป็นค่า default สามารถทำได้โดยการแก้ไข /etc/my.cnf ดังนี้ [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] default-character-set = utf8 collation-server = utf8_unicode_ci init-connect=’SET NAMES utf8′ character-set-server = utf8

แก้ปัญหาข้อความเตือนเวลาเรียก php cli

หากเกิดข้อความเตือนเมื่อเรียกคำสั่ง php แบบ cli (Command line) เช่น $ /usr/bin/php –help PHP Warning: PHP Startup: memcache: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0 … สามารถแก้ปัญหาโดยการใช้ option -n  ซึ่งหมายถึง php จะไม่ไปอ่านค่าต่างๆ ในไฟล์ php.ini   ตัวอย่างการใช้งานเช่น $ /usr/bin/php … อ่านต่อ …

Change your Network Card MAC Address on Ubuntu

เมื่อมีการเปลี่ยนเน็ตเวิร์คการ์ด แล้วไม่สามารถ start network service ได้จะต้องแก้ไขไฟล์ /etc/network/interfaces ด้วยคำสั่ง # sudo vi /etc/network/interfaces และให้เพิ่ม MAC address ของการ์ดเข้าไปดังตัวอย่างด้านล่างนี้ auto eth0 iface eth0 inet dhcp hwaddress ether 01:02:03:04:05:06 จากนั้นให้ restart network service sudo /etc/init.d/networking restart

Google URL Shortener

Google เปิดให้บริการ URL Shortener ที่ http://goo.gl เราสามารถสร้างลิ้งก์ได้ทันที่โดยพิมพ์ลิ้งก์ที่ต้องการย่อผ่านเว็บ  ถ้าหากใช้งาน Chrome อยู่แล้ว ก็สามารถติดตั้ง goo.gl URL Shortener ได้จาก http://goo.gl/41Jvi (ดู source ของ extension นี้ได้ที่นี่ http://goo.gl/4pkr3) หากเราต้องการให้มีการเก็บประวัติลิ้งก์่ย่อไว้ด้วย  ก็สามารถได้โดยการล็อกอินโดยใช้ Gmail account โดยนอกจากประวัติลิ้งก็แล้ว เราสามารถดูสถิติการคลิกของลิ้งก์ย่อแต่ละอันได้ด้วย นอกจากนี้หากใช้บริการ Google Apps อยู่แล้ว ก็สามารถสร้าง  URL Shortener ภายใต้ชื่อโดเมนของเราได้ด้วย  เช่น http://link.engr.tu.ac.th/history โดยสามารถติดตั้งได้จาก Google Apps Margetplace ที่ http://goo.gl/kEtso และสามารถดูข้อมูลเพิ่มเติมได้จาก http://goo.gl/jlDm5

[Varnish] วิธีบันทึก Client IP บนเครื่อง backend

เราสามารถทำการบันทึก Client IP ทีเครื่อง backend  แทนที่จะให้ปรากฎเป็น IP ของ varnish เช่น 127.0.0.1  สามารถทำได้โดยการ แก้ไขไฟล์ /etc/varnish/default.vcl sub vcl_recv { # Add a unique header containing the client address remove req.http.X-Forwarded-For; set req.http.X-Forwarded-For = client.ip; # […] } และเพิ่มบรรทัดต่อไปนี้ในไฟล์ /etc/httpd/conf/httpd.conf LogFormat “%{X-Forwarded-For}i %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”” varnishcombined และใน VirtualHost directive ให้ใช้ CustomLog ดังตัวอย่างต่อไปนี้ <VirtualHost … อ่านต่อ …

แชร์ไดเรกทอรีระหว่าง Linux กับ Mac OS X

ผมติดตั้ง CentOS linux 5.5 ใน parallels virtual machine แล้วหาทางส่งไฟล์ระหว่างกัน วิธีการหนึ่งที่สามารถทำได้คือผ่าน samba ซึ่งมีขั้นตอนดังนี้ครับ ติดตั้ง samba ใน linux ด้วยคำสั่ง #yum install samba แก้ไขไฟล์ /etc/samba/smb.conf ให้มีเนื้อหาในส่วนของ [homes] เป็น [homes] comment = Home Directories browseable = yes writeable = yes read only = yes สั่งให้ samba ทำงานด้วยคำสั่ง #/etc/init.d/smb start กำหนด password ให้ user  โดย user นั้นจะต้องมีจริงในระบบ (local user) # … อ่านต่อ …

@font-face

@font-face ใน CSS3 จะช่วยให้เราสามารถนำฟ้อนต์ที่เราต้องการไปใช้ในเว็บได้ อย่างไรก็ตามปัจจุบันบราวเซอร์แต่ละชนิดก็รองรับชนิดของฟ้อนต์แตกต่างกัน เช่น IE ต้องการเฉพาะ .eot (Embedded OpenType)  ในขณะที่ Safari, Firefox, Chrome และ Opera รองรับทั้ง .ttf  (TrueType Font ) และ .otf  (OpenType PS) โดยสามารถดูตาราง Browser Supprot for @font-face ได้ที่นี่ อย่างไรก็ตามวันที่ 8 เม.ย. 53 ที่ผ่านมา Microsoft, Mozilla และ Opera ได้ยื่นข้อเสนอมาตรฐานรูปแบบฟ้อนต์ที่ใช้บนเว็บ WOFF (Web Open Font Format) กับ  W3C    ซึ่งคงต้องรออีกพักหนึ่งกว่าที่จะกลายมาเป็นมาตรฐานที่ใช้กันได้ทั่วไป   ดังนั้นในเวลานี้เราก็คงต้องใช้รูปแบบฟ้อนต์ที่บราวเซอร์ในปัจจุบันใช้งานได้ไปก่อน รูปแบบของการเขียน @font-face … อ่านต่อ …

MySQL: ย้ายข้อมูลระหว่างฐานข้อมูล

วิธีการง่ายๆ ในการย้ายข้อมูลระหว่าง  database สามารถทำได้ดังนี้ สร้างฐานข้อมูลใหม่ เช่น  new_database ใช้คำสั่ง mysqldump ดังนี้ #mysqldump -uroot -p old_database | mysql -uroot -p -D new_database

สิ่งที่ควรทำหลังจาก upgrade MySQL server

หลังจากทำการ upgrade MySQL server ควรจะใช้คำสั่งต่อไปนี้ #mysql_upgrade -uroot -p และ #mysqlcheck -uadmin -p –auto-repair –check –optimize –all-databases เพื่อตรวจสอบว่ามีปัญหาระหว่างการ upgrade หรือไม่ เนื่องจากผมเจอปัญหาที่ดูเหมือนว่าฐานข้อมูลหายไป เมื่อตรวจสอบแล้วก็พบว่าฐานข้อมูลยังอยู่ แต่ถูกเติมข้างหน้าด้วย #mysql50# If you have databases or tables from a version of MySQL older than 5.1.6 that contain special characters and for which the underlying directory names or file names have not been updated … อ่านต่อ …