ภาพประกอบ : phpmyadmin

วิธีติดตั้ง phpmyadmin บน ubuntu server

phpmyadmin นับเป็นโปรแกรมสำหรับบริหารจัดการฐานข้อมูล sql ที่ใช้งานง่าย สะดวก เพราะหน้าจอที่ถูกออกแบบมาให้เป็นเว็บไซต์แอพลิเคชั่นธรรมดา และคนที่เขียนเว็บมักจะนิยมใช้งานในการพัฒนาเว็บไซต์กันมากอยู่แล้วด้วย แต่การติดตั้ง myadmin ลงบน linux นั้นจะทำผ่าน command line ได้อย่างไร ลองมาดูกันครับ

ภาพประกอบ : phpmyadmin

ภาพประกอบ : phpmyadmin

phpmyadmin กับการติดตั้งบน ubuntu server

การทำงานสำหรับ server ที่เป็น linux ส่วนใหญ่เรามักจะใช้งานหน้าจอสีดำๆที่เป็นการทำงานผ่านทางคำสั่ง command line ซึ่งการทำงานจะต้องทำผ่านการพิมพ์ข้อความเข้าไปที่เครื่องโดยตรง บางครั้งบางทีอาจจะไม่สะดวกสำหรับผู้ใช้ โดยเฉพาะเว็บไซต์และเว็บแอพลิเคชั่นที่เราคุ้นชิน หากเราทำ server ขึ้นมาไว้เป็น host ของระบบเราเองด้วย linux ไม่ว่าจะเป็น distro เวอร์ชั่นไหนก็แล้วแต่ ก็ต้องทำการ Remote เข้าไปใช้งานซะเป็นส่วนใหญ่อีกด้วย

แต่หากการจัดการกับระบบฐานข้อมูลที่มีขนาดใหญ่ๆหากมัวแต่มานั่งค่อยๆจดๆจ้องๆพิมพ์คำสั่งทีละตัวสองตัวบนหน้าจอ command  line มันก็คงจะไม่ทันการ กว่าจะ create กว่าจะมา select กว่าจะมา update เสียเวลาแย่เลย ดังนั้นผมเลยบันทึกวิธีการจัดการติดตั้งระบบ บริหารจัดการฐานข้อมูลแบบที่เราคุ้นชินกันอย่าง phpmyadmin มาไว้ให้ครับ เพราะส่วนใหญ่คนทำเว็บน่าจะรู้จักกันเป็นอย่างดี

ก่อนที่จะเริ่มต้นกัน หากคุณต้องการติดตั้งระบบ phpmyadmin ลงบน linux server เจ้า server ของคุณนี้ควรที่จะทำการติดตั้ง LAMP stack (Linux, Apache, MySQL, และ PHP) มาแล้วนะครับ OK ถ้าคุณผ่านเรื่องนี้มาแล้วก็แปลว่าคุณพร้อมแล้วสำหรับการติดตั้ง myadmin งั้นเรามาเริ่มกันเลยครับ

Step One – Install phpMyAdmin

ในตัวอย่างนี้ผมจะขอยกตัวอย่าง server ด้วย ubuntu นะครับ ส่วน distro อื่นๆหากแตกต่างกันบ้างก็คงไม่เยอะมากนัก น่าจะพอทำความเข้าใจกันได้ ก่อนอื่นทุกครั้งที่เราจะติดตั้งระบบอะไรใหม่ๆเข้าไปเราควรทำการ update package list ของเราเสียก่อนทุกครั้ง เพื่อให้ได้ software ใหม่ล่าสุดด้วยคำสั่ง

sudo apt-get update

จากนั้นเราจะทำการติดตั้งระบบด้วยคำสั่ง install

sudo apt-get install phpmyadmin

 

ระหว่างทำการติดตั้งระบบจะให้เราเลือกว่าเราจะใช้งาน server แบบไหน ให้เลือกเป็น apache2 วิธีเลือกให้ทำการกด space bar จนมีเครื่องหมายดอกจันทร์แสดงขึ้น และให้ตอบ “Yes” ตกลงในหน้า dbconfig-common และจากนั้นระบบจะให้ทำการใส่รหัสผ่านให้กับระบบ

Step Two – Enable php mcrypt

หลังจากที่ติดตั้งระบบเสร็จเรียบร้อยแล้วให้ทำการเปิด mcrypt บน apache ด้วยซึ่ง file สำหรับ config นั้นจะอยู่ที่ path etc/apache2/conf-enabled/ ให้เราพิมพ์คำสั่งตามนี้ครับ

sudo php5enmod mcrypt

จากนั้นขั้นตอนสุดท้ายของการติดตั้งก็คือให้ทำการ restart apache ครับ

sudo service apache2 restart 

 

จากนั้นเราก็จะพร้อมใช้งาน myadmin แล้วทีนี้ให้เข้าไปที่ browser แล้วพิมพ์ในช่อง url ว่า http://IPaddress/phpmyadmin ถ้าเรา remote เข้าไปที่ server ของเรานะครับให้ทำการเข้าทาง public ip ได้เลยครับ แต่หากระบบเราทำการติดตั้ง domian name แล้วเราก็สามารถเข้าผ่าน domain name ได้เหมือนกันครับ

ภาพประกอบ : phpmyadmin login

ภาพประกอบ : phpmyadmin login

เท่านี้เราก็สามารถเข้าใช้งานระบบจัดการฐานข้อมูลที่เราคุ้นเคยผ่านทาง ubuntu server ได้แล้วนะครับ การทำงานของระบบก็จะทำผ่านทาง port 80 ซึ่งโดยปรกติเราก็ต้องเปิดใช้งาน port นี้บน server เพื่อเปิดใช้บริการ http สำหรับ web application  อยู่แล้ว แต่หากมองว่าขาดความปลอดภัยไปเสียหน่อย เราก็สามารถที่จะใช้งาน .htaccess file ในการควบคุมการเข้าใช้งานได้อีกนะครับ โดยเข้าไปแก้ไขไฟล์ phpmyadmin.conf ที่อยู่ใน folder conf-available ของ apache2 นั้นแหละครับ แล้วให้เติม  AllowOverride All ลงไปใน block ของ <Directory /usr/share/phpmyadmin> เพื่อให้เราเข้าไปสร้าง .htaccess ได้ จากนั้นให้เราทำการ restart apache สักรอบ

การสร้างไฟล์ .htaccess สำหรับ my admin

เราจะทำการสร้างโดยใช้คำสั่ง nano ครับ ซึ่งเป็นการเรียกใช้โปรแกรม editor บน command line นั้นแหละครับ

sudo nano /usr/share/phpmyadmin/.htaccess

ส่วนข้างในให้พิมพ์ข้อความแบบนี้ครับ

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

ขออธิบายความหมายในไฟล์หน่อยนะครับ บรรทัดแรกจะเป็นเรื่องของการที่เราขอกให้ระบบร้ว่าเราทำการปิดการเข้าถึงแล้าหากจะเข้าต้องมี password ในการ authentication ผ่านทาง password file

และในบรรทัดต่อมาเป็นการแสดงข้อความลงบน กล่องแจ้งเตือนนั้นแหละครับ ต้องการเขียนอะไรก็ใส่ลงไปได้เลยเช่น This is private zone เป็นต้น

บรรทัดที่สามจะเป็นการบอกว่าเราจะใช้ไฟล์ไหนในการเก็บรหัสผ่านนะครับ ซึ่งตามปรกติแล้วจะตั้งชื่อว่า .htpasswd กัน และบรรทัดสุดท้ายก็บอกว่าคุณต้องทำการ login ทุกครั้งนะเพื่อเข้าสู่ระบบ

ส่วนการสร้างไฟล์ .htpasswd นั้นให้คุณทำการติดตั้ง apache2-utils เสียก่อน

sudo apt-get install apache2-utils

จากนั้นก็ให้พิมพ์คำสั่งตามนี้

sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

ตรง username ให้คุณพิมพ์ชื่อลงไป แล้วค่อยใส่รหัสผ่านลงไปในไฟล์ครับ ทีนี้เวลาคุณเรียก url ของ my admin ขึ้นมาคุณก็จะเจอกับการ login เพิ่มอีก 1 ชั้นแล้ว ใครที่ยังไม่ค่อยเข้าใจเรื่อง htpasswd ลองเข้าไปอ่านที่ผมเคยเขียนไว้ได้ที่ HTPASSWD สำหรับเข้า WP-ADMIN บน DIGITALOCEAN
และสำหรับใครที่ใช้งาน digitalocean คงคุ้นกับเรื่องนี้นะครับ เอาละขอให้สนุกกับการใช้งาน linux ครับ