Linux
จาก วิธีการลง OpenLDAP บน Debian 6 64-bit โดยใช้ MySQL เป็นฐานข้อมูล ที่ผมติดไว้เรื่องของจะสร้าง MySQL Schema อย่างไร วันนี้ก็จะมาอธิบายถึง Schema ตัวอย่างที่ผมใช้งานอยู่ ผู้อ่านอาจจะต้องมีพื้นฐานของ LDAP บ้างนิดหน่อยเพราะผมคงไม่ได้อธิบายตั้งแต่พื้นฐาน และขอออกตัวไว้ก่อนว่า ตัวอย่างที่ได้มานี้ก็ได้มาจากการมั่วๆ ลองผิดลองถูก รวมถึงผมก็ไม่ได้เป็นผู้เชี่ยวชาญเรื่อง Directory Service ด้วย เพราะฉะนั้นถ้ามีตรงไหนอธิบายผิดไป ก็แย้งหรือแก้ไขได้ในคอมเมนท์เลยนะครับ
Linux
ช่วงนี้จะสังเกตได้ว่ามาเขียนบ่อย เพราะว่ามีโปรเจคที่ต้องทำเยอะมาก ได้ค้นคว้าหาความรู้ใหม่ๆ ทุกวัน แต่ถ้าปล่อยทิ้งไว้มันก็จะละลายหายไป เพราะฉะนั้นต้องรีบๆ มาเขียนไว้ก่อนที่จะลืม สำหรับวันนี้ก็จะเป็นเรื่อง OpenLDAP โดยใช้ MySQL ในการเก็บโครงสร้างของข้อมูล
LDAP (Lightweight Directory Access Protocol) คือโปรโตคอลสำหรับการเข้าถึงข้อมูลแบบ Directory Service (LDAP คืออะไร?) ส่วน OpenLDAP คือซอฟต์แวร์ทำ LDAP แบบ Open Source ที่มักจะใช้กันในลินุกซ์ ถ้าระบบ LDAP ในหมู่ผู้ดูแลระบบวินโดว์ที่จะรู้จักกันดีก็คือ Active Directory ครับ
ปกติแล้วการเก็บข้อมูลบน OpenLDAP จะเก็บอยู่ในรูปของ LDIF File (ตัวอย่าง) แต่ OpenLDAP ตั้งแต่เวอร์ชัน 2.0 เป็นต้นมา เริ่มสนับสนุนการเก็บข้อมูลแบบ back-sql (SQL Backend) หรือการเก็บข้อมูลที่อยู่ในรูปแบบ RDBMS ซึ่งมีข้อดีคือ เราสามารถเชื่อมต่อกับระบบอื่นได้สะดวก เช่น สามารถใส่ข้อมูลของผู้ใช้ที่เราเก็บไว้อยู่ในฐานข้อมูลอยู่แล้วได้ทันที โดยไม่ต้องมานั่งแปลงเป็นรูปแบบ LDIF
สำหรับบทความนี้จะสอนถึงวิธีการลง OpenLDAP โดยใช้ MySQL เป็นฐานข้อมูลบน Debian 6 64-bit ครับ
Wordpress
จุดอ่อนสำคัญของ Wordpress สิ่งหนึ่งก็คือ เราไม่สามารถย้ายเว็บจากชื่อโดเมนเดิมเป็นชื่อใหม่ได้ง่ายนัก เนื่องจากตัวฐานข้อมูลที่มีการเก็บข้อมูลถึงระดับการเก็บชื่อโดเมน ซึ่งคำแนะนำจาก wordpress.org ก็คือให้ทำการ export post และ page จากเว็บเก่าออกมาทั้งหมด แล้วทำการลง Wordpress ใหม่ที่โดเมนใหม่พร้อมทั้งตั้งค่า ลง Plugins ให้เหมือนกับเว็บใหม่ แล้วจึงค่อย import post กับ page มายังเว็บใหม่ ซึ่งเป็นวิธีที่ยุ่งยากและใช้เวลานานมาก
วันนี้ผมก็เลยมาเสนอแนวทางอีกแนวทางนึงที่ผมใช้อยู่ แต่อาจจะไม่ได้เต็มร้อยนัก คือ เปลี่ยนชื่อโดเมนในฐานข้อมูลเองซะเลย ขั้นตอนในการทำมีดังนี้ครับ
โดยปกติแล้ว เราจะลบตารางในฐานข้อมูลทั้งหมดทิ้ง โดยที่ไม่ลบฐานข้อมูลไปด้วย คงจะต้องใช้ phpMyAdmin แล้วตามด้วย Select All Table แล้วค่อย Drop ตารางทิ้งทั้งหมด แต่บางครั้ง เราจำเป็นต้องลบตารางทั้งหมดและนำเข้าฐานข้อมูลใหม่หลายๆ ครั้ง ถ้าทำผ่าน phpMyAdmin มันก็ยุ่งยากไม่น้อย ต้องกดหลายคลิ๊ก แถมสร้างเป็นคำสั่งทำงานแบบอัตโนมัติไม่ได้อีก แต่ไม่เป็นไร วันนี้เรามีคำตอบให้ท่านแล้ว
คำสั่งที่ใช้ในการ Drop Table ทั้งหมด และนำเข้าฐานข้อมูลใหม่จากไฟล์ /home/username/sql/db.sql คือ
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
mysql -u[USERNAME] -p[PASSWORD] [DATABASE] < /home/username/sql/db.sql

มือใหม่ในการทำเว็บหลายๆ คนย่อมเคยประสบปัญหาในการลง Apache + MySQL + PHP เพื่อทดสอบงานในเครื่อง รวมถึงผู้ดูแลระบบหลายๆ คนที่จะต้องลง LAMPP Server (LAMPP ย่อมาจาก Linux + Apache + MySQL + PHP + Perl) เพื่อใช้งานเป็นเว็บเซิร์ฟเวอร์อย่างง่ายๆ ที่ไม่ได้ใช้งานจริงจังมากนัก ด้วยเหตุนี้จึงมีการทำโปรแกรมที่สามารถลง LAMPP Server ได้ทันทีโดยไม่ต้องลงโปรแกรมแยกทีละตัว โปรแกรมที่เป็นที่นิยมกันในไทยที่ดังๆ คือ AppServ ซึ่งคนไทยเป็นผู้สร้าง มีการพัฒนามาอย่างยาวนาน และโด่งดังไปทั่วโลกทีเดียว แต่ข้อเสียคือมีเฉพาะเวอร์ชันบนวินโดว์เท่านั้น แต่ถ้าบนลินุกซ์หรือ Ubuntu แล้วก็คงไม่พ้นโปรแกรมที่ชื่อว่า XAMPP
Recent comments