RSS

Tag Archives: linux

บันทึกเรื่องต่างๆ ตอนย้ายระบบจาก Windows มาเป็น Linux

หลังจากใช้ Linux เป็น OS หลักมาพักใหญ่ และย้าย Development Environment มาอยู่บน Linux ก็พบปัญหาเรื่องความไม่เข้ากันของระบบไฟล์นิดหน่อย เลยมาบันทึกไว้เผื่อจะต้องใช้อีกในอนาคต

เรื่องแรกเลยคือย้าย source code ของ project มา ต้องการลบ directory ของ SVN ออก แต่ใช้ Nautilus แล้ว search directory .svn ไม่เจอทั้งๆ ที่เลือกแสดง Hidden ก็เห็น เลยต้องใช้ command line เอา

$ find -name "\.svn" -exec rm -rf {} \;

ต่อมาเป็นเรื่องของ MySQL การ backup & restore database มีปัญหานิดหน่อย คือไฟล์ backup database ของ project ที่ได้มาเค้า export มาจาก tools ชื่อ Navicat บน Windows เมื่อเอา import เข้า MySQL บน Linux แล้วไฟล์เกิด error เอาเข้าได้ไม่ครบ ที่เอาเข้าได้ก็มีปัญหาเรื่อง encoding
แต่ลอง import เข้า MySQL บน Windows แล้วไม่มีปัญหา คิดว่าคงเป็นเรื่อง encoding ของไฟล์ เลยลอง export ออกมาใหม่ แล้วเอาไป import เข้าใน MySQL ใน Linux พบว่าใช้ได้แฮะ แถมขนาดไฟล์เล็กกว่าที่ใช้ Navicat เยอะเลย

คำสั่ง export/import ใช้ดังนี้

# export mysql data to sql script
$ mysqldump -u root -p dbname > script.sql

# import mysql data from script
$ mysql -u root -p dbname < script.sql

เรื่องถัดมาก็เป็นของ MySQL มีปัญหาเกี่ยวกับการตั้งชื่อไฟล์ของตาราง คือ MySQL จะใช้ชื่อของตารางเป็นชื่อไฟล์ตอนเก็บด้วย (ชื่อ database จะใช้ตั้งชื่อ directory) แต่ว่า MySQL ของแต่ละ OS มี default config เรื่องนี้ต่างกันใน เช่น Linux นั้นการตั้งชื่อไฟล์จะเป็น case sensitive แต่บน Windows เป็น case insensitive ทำให้การเปรียบเทียบชื่อของตารางใน SQL นั้นใน Linux ไม่สามารถใช้ชื่อที่ case ต่างกันได้ แต่ Windows ใช้ได้
เช่น ชื่อตารางเป็น table_name ควรจะอ้างอิงได้ทั้ง table_name, TABLE_NAME, Table_Name, etc.

SELECT column FROM TABLE_NAME

เลยต้องปรับ config ของ MySQL ใน Linux นิดหน่อยให้สามารถใช้ได้ โดย
เปิดไฟล์ /ect/mysql/my.cnf ด้วยสิทธิ์ root แล้วทำการเพิ่ม config ใน section ของ mysqld ดังตัวอย่าง

[mysqld]
...
lower_case_table_names=1

รายละเอียดเพิ่มเติมดูที่ Identifier Case Sensitivity

จบแล้ว 🙂

 
Leave a comment

Posted by on Fri February 24, 2012 in Technical

 

Tags: , ,

Install LAMP Server on Ubuntu

ที่ผ่านมาเวลาติดตั้ง LAMP Server ใน Ubuntu Desktop ผมจะติดตั้ง Apache, MySQL, PHP และ module ต่างๆ เองตามลำดับ ก็จะใช้เวลานิดหน่อย แต่พอดีไปเจอวิธีการติดตั้ง LAMP Server แบบกระชับและได้ผลเหมือนกันจาก Install LAMP on Ubuntu โดยคุณ Linerd เลยมา blog ไว้เผื่อจะได้ใช้งานอีก โดยขั้นตอนมีดังนี้

1) เริ่มทำการติดตั้ง package lamp-server ด้วยคำสั่ง

sudo apt-get install lamp-server^

2) ทำการยืนยันการติดตั้ง package และ download เมื่อเสร็จแล้วจะแสดงหน้าจอให้ใส่ root password ของ MySQL

3) เมื่อเสร็จแล้ว ทดสอบ Apache โดยเปิด web browser ไปที่ http://localhost ถ้าแสดงข้อความ “It Works!” แสดงว่า Apache ทำงานได้แล้ว

4) ทดสอบ PHP โดยสร้าง php script ไว้ที่ Document Root ของ Apache ดังนี้

sudo nano /var/www/info.php

จากนั้นเขียน php script ดังนี้

 <?php phpinfo(); ?>

บันทึกไฟล์และเปิด web browser ไปที่ http://localhost/info.php จะเห็นตารางแสดง information ต่างๆ ของ PHP

5) ทดสอบ MySQL โดยพิมพ์คำสั่งที่ terminal ดังนี้

$ mysql -u root -p

กด Enter แล้วใส่ password ถ้าสามารถเข้าใช้งานได้ถูกต้องจะแสดง MySQL promt ทดสอบเรียกดู database ด้วย SQL

mysql> SHOW DATABASES;

และออกจาก MySQL Promt โดยพิมพ์

mysql> \q

6) ติดตั้ง phpMyAdmin และ package ที่เกี่ยวข้องด้วยคำสั่ง

sudo apt-get install libapache2-mod-auth-mysql phpmyadmin
  • จะมีหน้าจอขึ้นมาให้เลือกว่าจะติดตั้งกับ web server อะไร ให้เลือก apache2
  • ถัดมาจะถามเพื่อให้สร้าง database config ของ phpmyadmin ด้วย dbconfig-common ให้เลือก Yes
  • ถัดมาจะให้กำหนด password ของ database phpmyadmin
  • จากนั้นจะถาม root password ของ MySQL เพื่อใช้สร้าง database ให้กับ phpmyadmin

7) เนื่องจากการติดตั้ง phpmyadmin จะมีการเพิ่ม apache config เพื่อชี้ไปยัง path ของ phpmyadmin จึงต้องทำการ restart apache ก่อน โดยใช้คำสั่ง

sudo /etc/init.d/apache2 restart

หรือ

sudo service apache2 restart

8 ) ทดสอบ phpMyAdmin โดยเปิด web browser ไปที่ http://localhost/phpmyadmin จะแสดงหน้าจอให้ login เข้าใช้งาน ให้ใส่ user root และ password ตามที่กำหนดไว้

เป็นอันเสร็จสิ้นการติดตั้ง LAMP Server 😀

Link อื่นๆ ที่น่าสนใจ

 
Leave a comment

Posted by on Mon October 24, 2011 in Technical

 

Tags: , , , , , ,

วิธีลบ LAMP Server ใน Ubuntu แบบหมดจด

หลังจากทดลองใช้ XAMPP ดูสักพัก แล้วแล้วพบปัญหาเล็กน้อย เวลาใช้ php cli เพื่อรัน php script ผ่าน command line เพราะ php ของ XAMPP นั้นอยู่ที่ /opt/lampp/bin/php แต่ path ปกติของ php ทั่วไปจะอยู่ที่ /usr/bin/php เพื่อจะได้ไม่ต้องมาคอยแก้ path ของ php เลยหันกลับมาใช้ LAMP ดีกว่า

แต่ตอน install LAMP เจอ error ของ php module บางตัวไม่สมบูรณ์ เพราะก่อนหน้าที่จะใช้ XAMPP ก็ลง php ไว้นิดหน่อย แถมพอลง apache, mysql เพิ่มเข้าไป ยังเจอปัญหาใช้งาน php กับ mysql ไม่ได้อีก หลังจากไล่ลบ package ต่างๆ แล้วลงใหม่ เสียเวลาอยู่นาน เลยลอง google หาวิธีลบแบบหมดจดดู ไปเจออันนี้ Remove LAMP in Ubuntu เลยเอามา blog ไว้เผื่อวันหลังจะได้ใช้อีก 🙂

คำเตือน: คำสั่งต่อไปนี้จะลบ package ที่เกี่ยวกับ apache, mysql และ php ออกจากระบบทันทีโดยไม่แจ้งเตือน

dpkg -l *apache* *mysql* *php* phpmyadmin | grep ^ii | awk '{ print $2}' | xargs sudo apt-get -y purge --auto-remove

สามารถตรวจสอบความหมดจดว่ายังมี package ไหนไม่ถูกลบได้ด้วยคำสั่งนี้

dpkg -l *apache* *mysql* *php* phpmyadmin | grep ^ii | awk '{ print $2}'
 
Leave a comment

Posted by on Mon October 17, 2011 in Technical

 

Tags: , ,

How to disable Bluetooth at start up in Ubuntu

ผมใช้ laptop Lenovo Thinkpad T400 หลังจากติดตั้ง Ubuntu 11.04 desktop พบว่าเมื่อ boot เข้าใช้งาน Bluetooth จะถูกเปิดอัตโนมัติทุกครั้ง ซึ่งปกติจะไม่ค่อยได้ใช้ Bluetooth เท่าไหร่และเป็นการเปลืองพลังงาน จึงลอง search หาจาก google พบว่ามีคนมีปัญหานี้เหมือนกัน และมีคนแนะนำวิธีไว้ที่นี่ [SOLVED] How do I disable bluetooth on boot up?
คุณ gradinaruvasile ได้แนะนำวิธีโดยให้ใช้คำสั่ง rfkill

$rfkill block bluetooth

แต่เนื่องจากเป็น soft block เมื่อ reboot แล้ว Bluetooth ก็จะกลับมาเปิดเหมือนเดิม จึงมีคนแนะนำให้ไปเพิ่มไว้ที่ไฟล์ /etc/rc.local (ต้องใช้ root permission) ก็พบว่าสามารถปิด Bluetooth ไม่ให้เปิดอัตโนมัติได้แล้ว 🙂

และถ้าต้องการเปิดใช้งาน ก็ใช้คำสั่ง

$rfkill unblock bluetooth

นอกจากนี้เราสามารถดูสถานะการเปิด/ปิดของอุปกรณ์ wireless ต่างๆ ด้วยคำสั่ง

$rfkill list
 
2 Comments

Posted by on Tue October 4, 2011 in Uncategorized

 

Tags: , , ,