ระบบปฎิบัติการสายพันธ์ลีนุกซ์ที่ไม่ใหญ่โตมากมาย สังเกตได้ว่า ใช้ซีดีแค่แผ่นเดียวเท่านั้น การติดตั้งและใช้งานค่อนข้างง่ายกว่าลีนุกซ์สายพันธ์อื่น จึงเหมาะสำหรับองค์กรขนาดเล็กถึงกลางที่ไม่ต้องการอะไรที่ยุ่งยากซับซ้อน
เปรียบเทียบ Windows กับ Ubuntu
OS | Database | Web Application | รวมค่าลิขสิทธิ์ |
---|---|---|---|
Windows ชุด Server | SQL Server | IIS + ASP + .NET | หลักหมื่นถึงแสนต่อเครื่อง |
Ubuntu ชุด Server | MySQL, PostgreSQL | Apache + PHP + Mono | ฟรีทุกเครื่อง |
ดาวน์โหลด แผ่นซีดี (ไฟล์ .iso) ฟรีได้ที่ http://www.ubuntu.com
ว่าแต่…ทำไมผมยังชอบใช้วินโดวส์ ? ” วินโดวส์ทำเรื่องยากให้ง่าย ลีนุกซ์ทำเรื่องง่ายให้ (ยุ่ง) ยาก ”
ขั้นตอนการติดตั้งและปรับแต่งลีนุกซ์ Ubuntu 10.04 แบบรวบรัด
หากท่านใดต้องการติดตั้งลินุกซ์บนวินโดวส์ในเครื่องเดียวกัน แนะนำให้ติดตั้งโปรแกรมประเภท 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 10.04 (Lucid Lynx) : LAMP = Linux 2.6.32-21 + Apache 2.2.14 + Mysql 5.1.41 + PHP 5.3.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.0sudo 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
sudo /etc/init.d/networking restart
ทดสอบคำสั่ง 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 ตัวอย่าง
ทดสอบ PHP
- รันคำสั่งใน PuTTY เพื่อสร้างไฟล์เอกสารสำหรับทดสอบ PHP ดังนี้sudo nano /var/www/phpinfo.phpใส่ข้อความดังนี้
<?php phpinfo(); ?>
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้นระบุ URL ไปที่ Ubuntu ตัวอย่าง
- ตรวจสอบดูว่ามีส่วน MySQL หรือไม่ ?
ติดตั้ง phpMyAdmin
การติดตั้ง phpMyAdmin ก็เพื่อให้สามารถใช้งาน MySQL ผ่านเว็บบราวเซอร์
- รันคำสั่งใน PuTTY ดังนี้sudo apt-get install phpmyadmin
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้นระบุ URL ไปที่ Ubuntu ตัวอย่าง
ใส่ชื่อผู้ใช้งานและรหัสผ่านของ 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
sudo restart mysql
- วิธีทดสอบแบบง่ายๆ เปิด ODBC Manager ใน Control Panel ของวินโดวส์หมายเหตุ
- กำหนด Privileges ของผู้ใช้งานแบบ Any Host (%) ใน MySQL
- ดาวน์โหลด MySQL ODBC Connector คลิกที่นี่
- การใช้งานภาษาไทย ให้ระบุ charset ให้ถูกต้อง [ อ่านเพิ่มเติม คลิกที่นี่
]
ติดตั้ง 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
sudo restart vsftpd
- กำหนดกลุ่ม www-data สำหรับ ftp-client ไว้ที่เว็บโฟลเดอร์หลักsudo chgrp www-data /var/www/sudo chmod 775 /var/www/
- เพิ่มชื่อของเราในกลุ่ม www-data สำหรับ ftp-client ตัวอย่าง somchaisudo adduser somchai www-data
- (ทางเลือก) สร้าง user ใหม่ชื่อ webmin สำหรับ ftp-clientsudo useradd webmin -g www-data -d /var/wwwsudo passwd webmin
ทดสอบรันโปรแกรม FTP Client เช่น CuteFTP, FileZilla บนวินโดวส์
- ระบุ 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
หมายเหตุ ตั้งชื่อ Workgroup ให้เหมือนกันกับเครื่องอื่น ๆ ในวงแลน
sudo restart smbd
sudo restart nmbd
ทดสอบไฟล์แชร์บน Ubuntu กับวินโดวส์ ดังนี้
- เลือกเมนู Start | Run
- ระบุชื่อเครื่องหรือ IP Address ของ Ubuntu ตัวอย่าง \\192.168.1.10
ติดตั้ง Webmin
การติดตั้ง Webmin ก็เพื่อให้สามารถบริหารจัดการเซิร์ฟเวอร์ Ubuntu ผ่านเว็บบราวเซอร์ เหมาะสำหรับคนไม่ชอบคำสั่งลีนุกซ์เช่นผมนั่นล่ะ
หมายเหตุ ตรวจสอบเวอร์ชันใหม่ที่ http://sourceforge.net/projects/webadmin
- เพิ่ม webmin ใน Repository (อ่านเพิ่มเติม ที่นี่)sudo nano /etc/apt/sources.list เพิ่มบรรทัดนี้
deb http://download.webmin.com/download/repository sarge contrib
- ติดตั้ง webmin เวอร์ชันล่าสุด ดังนี้
sudo wget http://www.webmin.com/jcameron-key.asc sudo apt-key add jcameron-key.asc sudo apt-get update sudo apt-get install webmin
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้นระบุ https:// ไปที่ Ubuntu ต่อท้ายด้วย :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
sudo dpkg-reconfigure locales
- ตรวจสอบว่ามี th_TH.UTF-8 อยู่ใน Locale หรือไม่locale -a
- เปลี่ยนดีฟอลต์ Locale เป็นไทย ก่อนติดตั้ง PostgreSQL
export LANG=th_TH.UTF-8
- ตรวจสอบให้แน่ใจว่า ค่าดีฟอลต์ทั้งหมดต้องเป็น th_THlocale
- รันคำสั่งติดตั้ง PostgreSQL ดังนี้sudo apt-get install postgresql-8.4หมายเหตุ ข้อความในหน้าจอขณะติดตั้งจะเป็นขยะอ่านไม่รู้เรื่อง ก็ให้ตอบ Y อย่างเดียว
- (ทางเลือก) เปลี่ยนดีฟอลต์ Locale กลับเป็นอังกฤษexport LANG=en_US.UTF-8
- ตั้งรหัสผ่านของ postgres ตัวอย่าง 1234sudo -u postgres psql
postgres=# \password postgres postgres=# \q
- ตรวจสอบว่า ภาษาไทยใน PostgreSQL ถูกต้องหรือไม่ ?sudo -u postgres psqlpostgres=# \encoding
UTF-8
postgres=# show lc_collate ;
th_TH.UTF-8
postgres=# \q
หมายเหตุ
- การสร้าง 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
sudo /etc/init.d/apache2 reload
- กำหนดให้ล็อกอินของ postgres เข้าใช้งานได้sudo nano /usr/share/phppgadmin/conf/config.inc.php
$conf['extra_login_security'] = false;
sudo /etc/init.d/apache2 reload
- เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้นระบุ URL ไปที่ Ubuntu ตัวอย่าง
ใส่ชื่อผู้ใช้งานและรหัสผ่านของ 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
sudo nano /etc/postgresql/8.4/main/pg_hba.conf
กำหนดช่วง IP ในวงแลน ตัวอย่าง 192.168.1.0
host all all 192.168.1.0/24 md5 host all all 127.0.0.1/32 md5
sudo /etc/init.d/postgresql-8.4 restart
- วิธีทดสอบแบบง่ายๆ เปิด ODBC Manager ใน Control Panel ของวินโดวส์หมายเหตุ
- สร้างผู้ใช้งาน (Role) ใน PostgreSQL ด้วย phpPgAdmin หรือ pgAdmin กำหนด Can Login ? = Yes
- ดาวน์โหลด PostgreSQL ODBC คลิกที่นี่
ติดตั้ง 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 ลักษณะดังรูปหรือไม่ ?