วันพฤหัสบดีที่ 23 มกราคม พ.ศ. 2557

ปรับแต่งหน้าตา Prompt ให้ Mac Terminal

โพสท์นี้เกิดจากความคันมือจากการไปดู tutorial ต่างๆ ของฝรั่งเขาแล้วเห็นหน้าตา Terminal หรือ Shell ที่เขาใช้มันดูโก้หรูดู Geeky มาก เลยอยากได้อยากมีกับเขาบ้าง… ด้วยความเป็น Mac OSX ที่ถือว่าเป็นญาติสนิทของ Unix ก็ว่าได้ ดังนั้นการปรับแต่งย่อมไม่ยาก
ดังนี้
** บทความนี้ใช้ได้ทั้ง Unix และ Mac

เปลี่ยนหน้าตา Command Prompt

ลำดับแรกเรามาเปลี่ยนหน้าตา Prompt กันก่อน โดยปกติหน้าตา prompt ของ Mac จะหน้าตาประมาณรูปด้านล่าง พอลอง echo $PS1 ออกมาดูก็จะ output แปลกๆ อันนี้เรียกว่า “prompt escapes”

เราสามารถเปลี่ยนรูปแบบ prompt escapes ได้เลยโดยใช้คำสั่ง export PS=”รูปแบบ prompt escapes ที่ต้องการ”
?
1
$ export PS1="\n\u ~> [\w]\n\$ "
จากตัวอย่าง ผมต้องการให้มีการ ขึ้นบรรทัดใหม่ (\n) เสมอเมื่อคำสั่งแสดงผลเสร็จ และ แสดงชื่อ user (\u) ที่ login จากนั้นก็แสดง path ที่ทำงานอยู่ ณ ปัจจุบันแบบเต็ม โดยให้อยู่ใน “[" "]” ([\w]) หลังจากนั้นก็ขึ้นบรรทัดใหม่และแสดง prompt เพื่อรับคำสั่งต่อไป (\n\$) หน้าตาก็จะได้อย่างรูปด้านล่าง

ตารางด้านล่างเป็น prompt escapes ทั้งหมดที่สามารถกำหนดได้ เราสามารถกำหนด prompt ของเราได้อย่างอิสระ

เปลี่ยนสีให้ Command Prompt

เพื่อให้แน่ใจว่า Terminal เปิดการใช้งาน ANSI colors อยู่หรือไม่ ให้เข้าไปดูที่ Terminal > Preferences… ตรง tab “Text” ให้เราไปเปิด Display ANSI colors ก่อน โดยการเลือกถูกด้านหน้า
สำหรับรูปแบบในการกำหนดสีของฝั่ง Mac และ ฝั่ง Linux จะต่างกันนิดหน่อยนะครับ
รูปแบบกำหนดสี prompt ของ Mac จะเป็น
?
1
\[\033[COLOR_CODE_HERE\]PROMPT_ESCAPE_OR_TEXT_HERE\[\033[0m\]
ส่วนฝั่ง Linux จะเป็น
?
1
\e[COLOR_CODE PROMPT_ESCAPE\e[0m
หากลองสังเกตดูจะเห็นว่ามี tag เปิด = \[\033[COLOR_CODE\] และ tag ปิด = \[\033[0m\] ชัดเจน
สำหรับตารางรหัสสีที่สามารถใช้ได้มีดังนี้

** TIP **
  • เราสามารถ แก้ค่า 0; เป็น
    • 1; สำหรับตัวหนา
    • 4; ขีดเส้นใต้
    • 5; ตัวอักษรกระพริบ
    • 7; reverse เอาสีตัวอักษรมาเป็นสีพื้นหลัง
  • เราสามารถกำหนดรูปแบบได้หลากหลายโดยใช้ ; ขั้น เช่น \[\033[1;4;31;33m\] = ตัวอักษรหนาขีดเส้นใต้สีแดงบนพื้นหลังสีเหลือง
หลังจากปรับแต่งรูปแบบและสีกันจนหนำใจแล้วก็อย่าลืม เอาไปเก็บไว้ในไฟล์ .bash_profile กันด้วยนะครับ

หลังจากนั่งมั่วเอาจนเหนื่อย command prompt ของผมก็ออกมาลิเกอย่างที่เห็นนี้แหละครับ อิอิ

สวัสดีครับ

วันอาทิตย์ที่ 12 มกราคม พ.ศ. 2557

วิธีติดตั้ง phpMyAdmin บน Mac OSX 10.8+

หลังจากติดตั้ง MySQL เสร็จไปแล้วก็มาลง phpMyAdmin กันต่อครับ โดยก่อนที่จะทำการติดตั้ง phpMyAdmin เราต้องทำการ fix mysql 2002 socket error กันก่อนนะครับ วิธี fix ให้กลับไปดูที่
เรียบร้อยแล้วไปต่อกันเลยครับ…

เตรียมพร้อมก่อนการติดตั้ง phpMyAdmin

ดาวน์โหลด phpMyAdmin

ไปที่หน้าดาวน์โหลดของ phpMyAdmin จัดการเลือกไฟล์ที่ต้องการ

เตรียมก่อนการติดตั้ง

หลังจากดาวน์โหลดเสร็จแล้วก็ทำการแตกไฟล์ออก แล้ว เปลี่ยนชื่อโฟลเดอร์เป็น “phpMyAdmin” หลังจากนั้นก็ย้ายโฟลเดอร์ไปที่ Web root ของเรา


เตรียมการสำหรับ phpMyAdmin config

สร้างโฟลเดอร์ config และทำการแก้ไข permission
?
1
2
$ mkdir ~/Sites/phpMyAdmin/config
$ chmod o+w ~/Sites/phpMyAdmin/config

เริ่มขั้นตอนติดตั้ง

เปิด browser ที่ address bar เรียก url ดังนี้
localhost/~username/phpMyAdmin/setup/
** username คือ account ของเรา

ต่อมาคลิกที่ปุ่ม “New server” หลังจากนั้นเลือก tab “Authentication” ตรงช่อง Password for config auth ให้ใส่ password root ของ MySQL ในขั้นตอนติดตั้ง MySQL หลังจากนั้นก็ คลิก“Apply” ด้านล่าง
จะกลับมาหน้าจอก่อนหน้าและจะเห็นอะไรประมาณนี้เพิ่มขึ้นมา

ตรง Configuration file ให้ทำการเลือกภาษาที่ต้องการ

หลังจากนั้นกดปุ่ม “Save”
ถ้าไม่มีอะไรผิดพลาดเราจะได้ไฟล์ชื่อ “config.inc.php” อยู่ในโฟลเดอร์ “config” ที่เราสร้างไว้ก่อนหน้านี้
ให้ย้ายไฟล์ “config.inc.php” ออกมาไว้ในโฟลเดอร์ “phpMyAdmin” แล้วก็ลบโฟลเดอร์ “config”ทิ้งไป
ต่อมา…
ตรวจสอบให้แน่ใจว่า mysql เรา start แล้วหรือยัง ถ้ายังก็สั่ง start ก่อน
จากนั้นกลับไปที่ browser แล้วเรียก
localhost/~username/phpMyAdmin/

เย้.. เสร็จแล้วครับผม

อ่านต่อ

วันเสาร์ที่ 11 มกราคม พ.ศ. 2557

วิธีติดตั้ง MySQL บน Mac OSX 10.8+

หลังจากรู้ “วิธีเปิดใช้งาน Apache และ PHP“ กันไปแล้ว ทีนี้ก็ถึงเวลาในการติดตั้งและเซตให้ MySQL ใช้งานกับ localhost ของเรากันครับ โดยปกติเราสามารถดาวน์โหลดตัวติดตั้ง MySQL ได้ที่หน้า Download ของเว็บไซต์หลัก
แต่ในโพสท์นี้ผมจะติดตั้งผ่าน Homebrew ครับ
ขั้นแรกเราต้องมี Homebrew ในเครื่องของเราซะก่อน โดยวิธีติดตั้งเคยเขียนไปแล้ว สามารถไปอ่านได้ที่

ขั้นตอนการติดตั้ง MySQL ด้วย Homebrew

ที่ terminal พิมพ์ (ก่อนที่จะ install MySQL ควรสั่ง brew update และ brew doctor ซะก่อน)
?
1
2
3
4
5
$ brew update
$ brew doctor
$ brew install mysql
เสร็จแล้วครับ ที่เหลือก็รอ ๆ ๆ จนมันติดตั้งให้เสร็จสรรพ


หากต้องการให้ MySQL รันตอน boot เครื่องก็ให้ทำตามขั้นตอนนี้ (หากไม่ต้องการก็ข้ามขั้นตอนนี้ไปได้)
?
1
2
3
$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/mysql/5.6.15/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgnets/homebrew.mxcl.mysql.plist
** 5.6.15 คือ เลขเวอร์ชั่น MySQL ที่ทำการติดตั้งขึ้นนะครับ ถ้าติดตั้งเวอร์ชั่นอื่นก็เปลี่ยนให้ถูกต้อง
ต่อมาก็ต้อง unset TMPDIR และ ติดตั้ง MySQL System Tables
?
1
2
$ unset TMPDIR
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
สั่ง start service MySQL service และลองดู process
?
1
2
$ mysql.server start
$ ps aux | grep mysql
ต่อไปก็จัดการตั้ง password ให้ root (ของ MySQL)
?
1
$ /usr/local/Cellar/mysql/5.6.15/bin/mysqladmin -u root password 'PASSWORD'
** อย่าลืมตรวจสอบเลขเวอร์ชั่น และ ตรง PASSWORD ให้เปลี่ยนเป็น password ที่เราต้องการ
สั่ง restart service ของ MySQL และ ลองเรียก mysql ดู
?
1
2
$ mysql.server restart
$ mysql

Fix 2002 MySQL Socket error

ปัญหานี้เกิดจากว่าตัว MySQL เองดันไปวางไฟล์ mysql.sock เอาไว้ที่ “/tmp/mysql.sock” แต่เวลาที่ระบบต้องการ connect MySQL ตัวระบบ ดันไปวิ่งหาที่ “/var/mysql/mysql.sock” ซะงั้น ตามรูป

เมื่อลองใช้คำสั่ง ls ทั้งใน /tmp และ /var ก็ได้ผลตามที่เห็นครับ ว่ามี mysql.sock อยู่ใน /tmp ส่วน /var ไม่มีแม้กระทั้ง folder mysql

ดังนั้นวิธีแบบแรกก็คือ เข้าไปแก้ไขไฟล์ “/etc/php.ini” โดยแก้ไข้ค่า default_socket ให้ชี้มายัง“/tmp/mysql.sock”
?
1
default_socket=/tmp/mysql.sock
แต่ถ้าเราไม่อยากปวดหัวปวดตากับจำนวนบรรทัดมหาศาลของ php.ini แล้วก็มีวิธีที่ง่ายกว่านั้น นั้นคือ ทำ symlink จาก /tmp/mysql.sock ไปยัง /var/mysql/mysql.sock ครับ
?
1
2
$ sudo mkdir /var/mysql
$ sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
เมื่อลองเข้าไปดูใน “/var/mysql”

มาถึงขั้นนี้ก็ต้องบอกว่า เราติดตั้ง MySQL บน Mac OSX ด้วย Homebrew เสร็จแล้วครับ

อ่านต่อ