[ เวอร์ชัน 10.04 คลิกที่นี่ ]
Ubuntu เป็นระบบปฎิบัติการสายพันธ์ลีนุกซ์ที่ไม่ใหญ่โตมากมาย สังเกตได้ว่า ใช้ซีดีแค่แผ่นเดียวเท่านั้น การติดตั้งและใช้งานค่อนข้างง่ายกว่าลีนุกซ์สายพันธ์อื่น จึงเหมาะสำหรับองค์กรขนาดเล็กถึงกลางที่ไม่ต้องการอะไรที่ยุ่งยากซับซ้อน
เปรียบเทียบ Windows กับ Ubuntu
OS | Database | Web Application | รวมค่าลิขสิทธิ์ |
---|---|---|---|
Windows ชุด Server | SQL Server | IIS + ASP + .NET | หลักหมื่นถึงแสนต่อเครื่อง |
Ubuntu ชุด Server | MySQL, PostgreSQL | Apache + PHP + Mono | ฟรีทุกเครื่อง |
ว่าแต่...ทำไมผมยังชอบใช้วินโดวส์ ? " วินโดวส์ทำเรื่องยากให้ง่าย ลีนุกซ์ทำเรื่องง่ายให้ (ยุ่ง) ยาก "
ขั้นตอนการติดตั้งและปรับแต่งลีนุกซ์ Ubuntu 9.10 แบบรวบรัด
หากท่านใดต้องการติดตั้งลินุกซ์บนวินโดวส์ในเครื่องเดียวกัน แนะนำให้ติดตั้งโปรแกรมประเภท Virtual Machine อาทิ Vmware ชุด Workstation (ลิขสิทธิ์) ชุด Player (ฟรี), Microsoft Virtual PC (ฟรี), VirtualBox (ฟรี) ฯลฯ
I. ติดตั้ง Ubuntu ชุด Server
- เลือก Language: English (ไม่แนะนำให้เลือก Thai เพราะจะยุ่งยากในการคอนฟิกภาษาไทยในภายหลัง)
- เลือก Install Ubuntu Server
- เลือก Language: English (ขั้นตอนนี้กำหนดดีฟอลต์ locale เป็น en_US.UTF-8)
- เลือก Country: Other
- เลือก Region: Asia/Thailand
- เลือก Keyboard: Thailand
- ตั้งชื่อเครื่อง (Hostname) อะไรก็ได้ แต่อย่าให้ชื่อซ้ำกับเครื่องอื่นในวงแลน ตัวอย่าง ubuntu
- แบ่ง Partition เลือก use entire disk
- กำหนดชื่อผู้ใช้งานและรหัสผ่าน (Username/Password) ตัวอย่าง somchai/1234
โปรดอ่าน: ***สำคัญมาก จดไว้อย่าลืม เพราะต้องใช้ในการล็อกอินเข้าใช้งานเในครั้งแรก
- เลือก No automatic updates
- ติดตั้ง LAMP, OpenSSH, SAMBA
สำหรับ PostgreSQL นั้น หากต้องการให้ภาษาไทยถูกต้อง อย่าคลิกเลือกในขั้นตอนนี้ (ดูวิธีติดตั้งในส่วนถัดไป)
Ubuntu 9.10 (Karmic Koala) : LAMP = Linux 2.6.31-14 + Apache 2.2.12 + Mysql 5.1.37 + PHP 5.2.10-2
- กำหนดรหัสผ่านของ MySQL root ตัวอย่าง 1234
โปรดอ่าน: ***สำคัญมาก จดไว้อย่าลืม เพราะต้องใช้ในการล็อกอินเข้าใช้งาน MySQL
- รอ...จนติดตั้งเสร็จ (ประมาณห้านาที)
- เข้าสู่หน้าจอล็อกอิน
ใส่ชื่อผู้ใช้งานและรหัสผ่านที่กำหนดไว้ตอนต้น ตัวอย่าง somchai/1234
- ตั้งรหัสผ่านของ root คำสั่ง sudo passwd root
หากต้องการเปลี่ยนเป็น root (เวลารันคำสั่งไม่ต้องมี sudo นำหน้า)
คำสั่ง su root
- กำหนด IP Address แบบ Static ตัวอย่าง 192.168.1.10/255.255.255.0
sudo nano /etc/network/interfaces
auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.254
ทดสอบคำสั่ง ping -c 4 google.co.th
- กรณีที่ทำการข้ามขั้นตอน Configurating apt ของการติดตั้ง Ubuntu ในตอนต้น หรือหากไม่แน่ใจว่าได้ติดตั้ง package ต่าง ๆ ถูกต้องหรือไม่ ก็ให้สั่งรันอัปเดท package ใหม่อีกครั้งก็ได้ตามสะดวก คำสั่ง sudo apt-get update
- คำสั่งที่จำเป็นต้องรู้ (ปกติผมก็ใช้อยู่แค่นี้ล่ะ) shutdown now
reboot
II. ปรับแต่ง Ubuntu
ขั้นตอนต่อไปจะทำการคอนฟิกเซิร์ฟเวอร์ Ubuntu บนวินโดวส์ผ่าน Telnelติดตั้งโปรแกรม PuTTY
ดาวน์โหลดที่ http://www.putty.org (ฟรี)การติดตั้งโปรแกรม Telnet Client เช่น PuTTY บนวินโดวส์ก็เพื่อความสะดวกในการรันคำสั่งบนเซิร์ฟเวอร์ที่อยู่คนละเครื่องกัน ซึ่งเวลาค้นหาคำสั่งของ Linux ต่าง ๆ จากเว็บไซด์เช่น Google ก็ copy คำสั่งที่ต้องการ แล้วคลิกขวามา paste ใส่ใน PuTTY เลยสะดวกกว่า
- ระบุ IP Address ของเครื่อง Ubuntu ตัวอย่าง 192.168.1.10 SSH พอร์ต 22
- ใส่ชื่อผู้ใช้งานและรหัสผ่านที่กำหนดไว้ตอนต้น ตัวอย่าง somchai/1234 (หรือ root ก็ได้ตามสะดวก)
หมายเหตุ: หากตอนติดตั้ง Ubuntu ไม่ได้คลิกเลือก OpenSSH ก็ให้รันคำสั่ง
sudo apt-get install ssh openssh-server
ทดสอบ Apache
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น ระบุ URL ไปที่ Ubuntu ตัวอย่าง http://192.168.1.10
ทดสอบ PHP
- รันคำสั่งใน PuTTY เพื่อสร้างไฟล์เอกสารสำหรับทดสอบ PHP ดังนี้ sudo nano /var/www/phpinfo.php
ใส่ข้อความดังนี้
<?php phpinfo(); ?>
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น ระบุ URL ไปที่ Ubuntu ตัวอย่าง http://192.168.1.10/phpinfo.php
- ตรวจสอบดูว่ามีส่วน MySQL หรือไม่ ?
ติดตั้ง phpMyAdmin
การติดตั้ง phpMyAdmin ก็เพื่อให้สามารถใช้งาน MySQL ผ่านเว็บบราวเซอร์- รันคำสั่งใน PuTTY ดังนี้ sudo apt-get install phpmyadmin
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น ระบุ URL ไปที่ Ubuntu ตัวอย่าง http://192.168.1.10/phpmyadmin
ใส่ชื่อผู้ใช้งานและรหัสผ่านของ MySQL ที่กำหนดไว้ในขั้นตอนการติดตั้ง Ubuntu ตัวอย่าง root/1234
ปรับแต่ง MySQL ให้ใช้งานกับ Windows Client (VB, VFP) ในวงแลน
- รันคำสั่งใน PuTTY แก้ไขไฟล์คอนฟิกของ MySQL ดังนี้ sudo nano /etc/mysql/my.cnf
# bind-address = 127.0.0.1 skip-name-resolve
- วิธีทดสอบแบบง่ายๆ เปิด ODBC Manager ใน Control Panel ของวินโดวส์
หมายเหตุ กำหนด Privileges ของผู้ใช้งานแบบ Any Host (%) ใน MySQL
ติดตั้ง FTP Server
การติดตั้ง FTP Server ก็เพื่อให้สามารถ Upload/Download ไฟล์สำหรับทำเว็บแอปพลิเคชันต่าง ๆ บนเว็บเซิร์ฟเวอร์ Ubuntu ในตัวอย่างนี้เลือกใช้ Vsftpd เป็น FTP Server- รันคำสั่งใน PuTTY ดังนี้ sudo apt-get install vsftpd
- แก้ไขไฟล์คอนฟิกของ Vsftpd ดังนี้ sudo nano /etc/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 xferlog_enable=NO ascii_upload_enable=YES ascii_download_enable=YES
- กำหนดกลุ่ม www-data สำหรับ ftp-client ไว้ที่เว็บโฟลเดอร์หลัก sudo chgrp www-data /var/www/
sudo chmod 775 /var/www/
- เพิ่มชื่อของเราในกลุ่ม www-data สำหรับ ftp-client ตัวอย่าง somchai sudo adduser somchai www-data
- (ทางเลือก) สร้าง user ใหม่ชื่อ webmin สำหรับ ftp-client sudo useradd webmin -g www-data -d /var/www
sudo passwd webmin
- ระบุ Host Address ไปที่ Ubuntu ตัวอย่าง 192.168.1.10
- กำหนด FTP พอร์ต 21
- ระบุชื่อล็อกอินที่กำหนดไว้ข้างต้น ตัวอย่าง somchai หรือ webmin
- กำหนด Remote Folder: /var/www
ติดตั้ง SAMBA
การติดตั้ง Samba ก็เพื่อให้สามารถแชร์ไฟล์ (File Sharing) บน Ubuntu กับเครื่องอื่นในวงแลนsudo apt-get install samba (ถ้าไม่ได้เลือก Samba ไว้ในตอนติดตั้ง)
ตัวอย่าง แชร์โฟลเดอร์ชื่อ myapp และ temp
- รันคำสั่งใน PuTTY สร้างโฟล์เดอร์ใน Ubuntu ดังนี้
sudo mkdir /myshare sudo mkdir /myshare/myapp sudo mkdir /myshare/temp sudo chmod 0777 /myshare/myapp sudo chmod 0777 /myshare/temp
- คอนฟิก Samba อนุญาติให้แชร์ไฟล์กับวินโดวส์แบบไม่ต้องมีหน้าจอล็อกอิน sudo nano /etc/samba/smb.conf
workgroup = MYGROUP security = share [myapp] path = /myshare/myapp public = yes browseable = no writeable = yes [temp] path = /myshare/temp public = yes browseable = yes writeable = yes
sudo /etc/init.d/samba restart
- เลือกเมนู Start | Run
- ระบุชื่อเครื่องหรือ IP Address ของ Ubuntu ตัวอย่าง \\192.168.1.10
ติดตั้ง Webmin
การติดตั้ง Webmin ก็เพื่อให้สามารถบริหารจัดการเซิร์ฟเวอร์ Ubuntu ผ่านเว็บบราวเซอร์ เหมาะสำหรับคนไม่ชอบคำสั่งลีนุกซ์เช่นผมนั่นล่ะหมายเหตุ ตรวจสอบเวอร์ชันใหม่ที่ http://sourceforge.net/projects/webadmin
- รันคำสั่งใน PuTTY ติดตั้ง webmin ดังนี้ sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.490_all.deb
sudo dpkg -i webmin_1.490_all.deb
- หากคำสั่ง wget ข้างต้นดาวน์โหลดไฟล์ไม่ได้ ก็ให้เพิ่ม webmin ใน Repository (อ่านเพิ่มเติม ที่นี่) nano /etc/apt/sources.list เพิ่มบรรทัดนี้
deb http://download.webmin.com/download/repository sarge contrib
cd /root wget http://www.webmin.com/jcameron-key.asc apt-key add jcameron-key.asc apt-get update apt-get install webmin
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น ระบุ https:// ไปที่ Ubuntu ต่อท้ายด้วย :10000 ตัวอย่าง https://192.168.1.10:10000
ระบุล็อกอินที่กำหนดไว้ในตอนติดตั้ง Ubuntu ข้างต้น ตัวอย่าง somchai/1234 (หรือ root ก็ได้ตามสะดวก)
ติดตั้ง PostgreSQL (ภาษาไทย)
การติดตั้งระบบฐานข้อมูล PostgreSQL บน Ubuntu จะสร้าง Database Cluster ให้อัตโนมัติด้วย ดังนั้นเพื่อให้ใช้งานภาษาไทยถูกต้อง ให้กำหนด Locale เป็น th_TH ก่อน มิฉะนั้นต้อง initdb -E สร้าง Cluster ใหม่ ซึ่งค่อนข้างยุ่งยากกว่า- รันคำสั่งใน PuTTY กำหนดภาษาไทยของ Ubuntu ดังนี้ sudo nano /var/lib/locales/supported.d/local
en_US.UTF-8 UTF-8 th_TH.UTF-8 UTF-8
- ตรวจสอบว่ามี th_TH.UTF-8 อยู่ใน Locale หรือไม่ locale -a
- เปลี่ยนดีฟอลต์ Locale เป็นไทย ก่อนติดตั้ง PostgreSQL export LANG=th_TH.UTF-8
- ตรวจสอบให้แน่ใจว่า ค่าดีฟอลต์ทั้งหมดต้องเป็น th_TH locale
- รันคำสั่งติดตั้ง PostgreSQL ดังนี้ sudo apt-get install postgresql-8.4
หมายเหตุ ข้อความในหน้าจอขณะติดตั้งจะเป็นขยะอ่านไม่รู้เรื่อง ก็ให้ตอบ Y อย่างเดียว
- (ทางเลือก) เปลี่ยนดีฟอลต์ Locale กลับเป็นอังกฤษ export LANG=en_US.UTF-8
- ตั้งรหัสผ่านของ postgres ตัวอย่าง 1234 sudo -u postgres psql
postgres=# \password postgres postgres=# \q
- ตรวจสอบว่า ภาษาไทยใน PostgreSQL ถูกต้องหรือไม่ ? sudo -u postgres psql
postgres=# \encoding
UTF-8
th_TH.UTF-8
- การสร้าง Database ใน PostgreSQL ให้กำหนด Encoding เป็น UTF-8
- PHP กำหนด META ในส่วนหัวเอกสาร ระบุ Charset=UTF-8
- การสร้างวินโดวส์แอปพลิเคชันเลือก ODBC ระบุ Driver={PostgreSQL UNICODE};
ติดตั้ง phpPgAdmin
การติดตั้ง phpPgAdmin ก็เพื่อให้สามารถใช้งาน PostgreSQL ผ่านเว็บบราวเซอร์
- รันคำสั่งใน PuTTY ดังนี้ sudo apt-get install phppgadmin
- แก้ไขไฟล์คอนฟิกของ Apache ดังนี้ sudo nano /etc/phppgadmin/apache.conf
<DirectoryMatch /usr/share/phppgadmin/> allow from all
- กำหนดให้ล็อกอินของ postgres เข้าใช้งานได้ sudo nano /usr/share/phppgadmin/conf/config.inc.php
$conf['extra_login_security'] = false;
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น ระบุ URL ไปที่ Ubuntu ตัวอย่าง http://192.168.1.10/phppgadmin
ใส่ชื่อผู้ใช้งานและรหัสผ่านของ PostgreSQL ตัวอย่าง postgres/1234
ปรับแต่ง PHP ให้ใช้งานกับ PostgreSQL
การคอนฟิกในส่วนนี้ ก็เพื่อให้สามารถใช้งานคำสั่งของ PHP กับ PostgreSQL เช่น pg_connect(), pg_query() เป็นต้น
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น รันสคริปท์คำสั่ง phpinfo() ที่ได้สร้างไว้แล้วในตอนต้น ตัวอย่าง http://192.168.1.10/phpinfo.php
ตรวจดูว่ามีส่วน pgsql หรือไม่ ?
- หากไม่พบส่วนดังกล่าวให้รันคำสั่งใน PuTTY ดังนี้ sudo apt-get install php5-pgsql
ปรับแต่ง PostgreSQL ให้ใช้งานกับ Windows Client (VB, VFP) ในวงแลน
- รันคำสั่งใน PuTTY แก้ไขไฟล์คอนฟิกของ PostgreSQL ดังนี้ sudo nano /etc/postgresql/8.4/main/postgresql.conf
listen_addresses = '*' password_encryption = on
กำหนดช่วง IP ในวงแลน ตัวอย่าง 192.168.1.0
host all all 192.168.1.0/24 md5 host all all 127.0.0.1/32 md5
- วิธีทดสอบแบบง่ายๆ เปิด ODBC Manager ใน Control Panel ของวินโดวส์
หมายเหตุ สร้างผู้ใช้งาน (Role) ใน PostgreSQL ด้วย phpPgAdmin หรือ pgAdmin กำหนด Can Login ? = Yes
ติดตั้ง SQLite
การติดตั้งระบบฐานข้อมูล SQLite และตัวอย่างการใช้งานต่าง ๆ สามารถอ่านเพิ่มเติมได้ ที่นี่- ติดตั้ง SQLite2 Command Line ทำดังนี้
$ sudo apt-get install sqlite $ sqlite
- ติดตั้ง SQLite3 Command Line ทำดังนี้
$ sudo apt-get install sqlite3 $ sqlite3
ปรับแต่ง PHP ให้ใช้งานกับ SQLite
การคอนฟิกในส่วนนี้ ก็เพื่อให้สามารถใช้งานคำสั่งของ PHP กับ SQLite เช่น sqlite_open(), sqlite_query() เป็นต้น
- รันคำสั่งใน PuTTY ดังนี้
$ sudo apt-get install php5-sqlite $ sudo /etc/init.d/apache2 restart
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น รันสคริปท์คำสั่ง phpinfo() ที่ได้สร้างไว้แล้วในตอนต้น ตัวอย่าง http://192.168.1.10/phpinfo.php
ตรวจดูว่ามีส่วน SQLite ลักษณะดังรูปหรือไม่ ?