ในปัจจุบันซอฟต์แวร์สำหรับใช้ทำเป็นระบบ Intranet หรือ Internet
Server ขององค์กรมีให้เลือกใช้งานหลายตัวด้วยกัน อาทิ เช่น Windows Server
(Windows Server 2003, Windows Server 2008), Linux Server (RedHat,
Fedora, CentOS, Ubuntu, Debian, Slackware, SuSE, Mandriva, OpenNA,
IPCop, Linux-SIS), BSD Server (FreeBSD, OpenBSD, NetBSD), Solaris (Sun
Solaris, OpenSolaris) เป็นต้น
การที่จะเลือกระบบปฏิบัติการตัวใดมาทำเซิร์ฟเวอร์ใช้งานในองค์กรนั้น สำหรับ
Admin มือเก๋าไม่น่าเป็นปัญหามากนักเพราะได้ทดสอบลองผิดลองถูกมาพอสมควร
จะว่าไปแล้วในอดีตใครที่ติดตั้ง Linux
และทำการคอนฟิกให้ระบบใช้งานผ่านได้ก็ถือว่าเก่งพอสมควร
รวมทั้งหลังการติดตั้งเสร็จก็สามารถเปิดใช้งานได้ตามปกติ
น้อยครั้งนักที่ระบบจะโดนแฮกซ์ แต่หากเป็น Admin
น้องใหม่ในปัจจุบันการลองผิดลองถูกคงเป็นการยากแล้ว
เนื่องจากปัจจุบันมีแฮกเกอร์ทั่วบ้านทั่วเมืองใครๆ
ก็สามารถเรียนรู้วิธีการแฮกซ์ระบบเซิร์ฟเวอร์ผ่านเว็บ Google สำหรับ
Admin น้องใหม่กว่าจะทดลองสำเร็จบางครั้งระบบโดนเจาะไปเรียบร้อยแล้ว
สำหรับบทความตอนนี้นับเป็นตอนแรกที่ผู้เขียนไปเปิดประเด็นในมุมของ Open
Source ซึ่งผู้เขียนเองได้รับเชิญจากคุณสุวัจชัย บก. WindowsITPro
ให้เขียนคอลัมป์นี้ ซึ่งเป็นคอลัมป์ที่พูดเรื่อง Open Source ล้วนๆ
สำหรับเดือนนี้เป็นการแนะนำระบบปฏิบัติการเครือข่ายลีนุกซ์ที่ชื่อว่า
CentOS โดยผู้เขียนได้แนะนำภาพรวมของระบบ
รวมทั้งแนะนำแพ็กเกจยอดนิยมสำหรับนำไปใช้งานในองค์กร
และส่วนสุดท้ายได้กล่าวถึงแนวทางในการติดตั้งระบบ CentOS
ผู้เขียนคิดว่าขณะนี้หลายหน่วยงานใช้ระบบลีนุกซ์ตัวนี้อยู่
จากการสอบถามเพื่อนๆ ในวงการ Admin
ได้คำตอบว่าหน่วยงานที่ใช้ระบบลีนุกซ์ตัวนี้มากที่สุดน่าจะเป็นศูนย์บริการ
รับฝากเว็บไซต์หรือนิยมเรียกกันในชื่อ Web Hosting
สำหรับองค์กรธุรกิจก็มีอยู่หลายองค์กรที่เบื้องหลังใช้ระบบลีนุกซ์ตัวนี้รัน
อยู่ หลังจากอ่านบทความนี้แล้วผู้เขียนแนะนำให้ลองหาแผ่น CentOS
มาทดสอบกันเพื่อจะได้เห็นผลลัพธ์อย่างแท้จริง
เอาเป็นว่าเรามาทำความรู้จักเจ้าลีนุกซ์ตัวนี้กัน
จัก CentOS Linux
CentOS ย่อมาจาก Community ENTerprise Operating System
เป็นลีนุกซ์ที่พัฒนามาจากต้นฉบับ RedHat Enterprise Linux (RHEL) โดยที่
CentOS ได้นำเอาซอร์สโค้ดต้นฉบับของ RedHat
มาทำการคอมไพล์ใหม่โดยการพัฒนายังเน้นพัฒนาเป็นซอฟต์แวร์ Open Source
ที่ถือลิขสิทธิ์แบบ GNU General Public License ในปัจจุบัน CentOS Linux
ถูกนำมาใช้ในการทำ Web Hosting
กันอย่างกว้างขวางเนื่องจากเป็นระบบปฏิบัติการที่มีต้นแบบจาก RedHat
ที่มีความแข็งแกร่งสูง (ปัจจุบันเน้นพัฒนาในเชิงการค้า)
การติดตั้งแพ็กเกจย่อยภายในสามารถใช้ได้ทั้ง RPM, TAR, APT หรือใช้คำสั่ง
YUM ในการอัปเดทซอฟต์แวร์แบบอัตโนมัติ
สามารถอ่านรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.centos.org
เว็บไซต์ http://www.centos.org
เหตุผลหลักที่องค์กรจะเลือกใช้ระบบ CentOS
สำหรับองค์กรธุรกิจเหมาะสมอย่างมากที่จะนำระบบตัวลีนุกซ์ตัวนี้มาทำเป็น
เซิร์ฟเวอร์ใช้งานภายในองค์กร
โดยพอสรุปเหตุผลหลักในการนำระบบนี้มาใช้งานได้ดังนี้
1. เพื่อประหยัดงบประมาณขององค์กร เนื่องจาก CentOS เป็นซอฟต์แวร์โอเพ่นซอส
องค์กรไม่จำเป็นต้องจ่ายค่าลิขสิทธ์ซอฟต์แวร์
(เพียงแต่ผู้ดูแลระบบต้องลงทุนเรียนรู้ระบบก่อนการใช้งาน
ในปัจจุบันสามารถเรียนรู้ได้ง่ายดายผ่านทางหน้าเว็บ Google.com)
2. เพื่อนำมาทำเซิร์ฟเวอร์บริการงานต่างๆ ในองค์กร ซึ่งภายใน CentOS
มีแพ็กเกจย่อยที่นำมาใช้ทำเซิร์ฟเวอร์สำหรับใช้งานในองค์กรจำนวนมาก อาทิ
เช่น Web Server(Apache), FTP Server(ProFTPd/VSFTPd), Mail
Server(Sendmail/Postfix/Dovecot), Database Server(MySQL/PostgreSQL),
File and Printer Server(Samba), Proxy Server(Squid), DNS Server(BIND),
DHCP Server(DHCPd), Antivirus Server(ClamAV), Streaming Server, RADIUS
Server(FreeRADIUS), Control Panel(ISPConfig) เป็นต้น
3. เพื่อนำมาทำเป็นระบบเซิร์ฟเวอร์สำหรับจ่ายไอพีปลอม (Private IP
Address) ไปเลี้ยงเครื่องลูกข่ายในองค์กร รวมทั้งตั้งเป็นระบบเก็บ Log
Files ผู้ใช้งาน
เพื่อให้สอดคล้องกับพระราชบัญญัตว่าด้วยการกระทำความผิดเกี่ยวกับ
คอมพิวเตอร์ปี 2550
การออกแบบเครือข่ายขนาดเล็ก-กลาง โดยใช้ CentOS เป็นเซิร์ฟเวอร์บริการงานต่างๆ
แพ็กเกจยอดนิยมสำหรับใช้งานบนระบบ CentOS
สำหรับในแผ่น CD ของ CentOS
มีแพ็กเกจที่สามารถนำมาติดตั้งใช้งานได้ทันทีจำนวนมาก
โดยสามารถนำมาติดตั้งใช้งานได้ทันที สำหรับแพ็กเกจที่ไม่มีอยู่ในแผ่น CD
สามารถเข้าไปดาวน์โหลดได้ที่เว็บไซต์ http://www.rpmfind.net หรือ http://www.freshrpms.net
คิดว่าคงเพียงพอต่อการใช้งาน สำหรับบทความตอนต่อๆ
ไปผู้เขียนจะแนะนำการติดตั้งใช้งานซอฟต์แวร์เหล่านี้กัน
โดยจะเน้นเป็นภาคปฏิบัติ เพื่อให้ผู้อ่านสามารถทดสอบหรือทดลองทำตามได้
เพื่อที่จะเป็นการยกระดับหรือพัฒนาความรู้ ความสามารถในวงการ Admin ไทย
เว็บไซต์ www.rpmfind.net
เว็บไซต์ www.freshrpms.net
จะหาดาวน์โหลดตัวติดตั้ง CentOS ได้ที่ไหน
สำหรับตัวติดตั้ง CentOS ผู้อ่านสามารถดาวน์โหลดตัวติดตั้งแบบ image file
แล้วมาทำการเขียนแผ่น CD/DVD ใช้งานเอง แนะนำให้ไปดาวน์โหลดจากเว็บไซต์ http://isoredirect.centos.org/centos/5/isos/i386/ หรือไม่ก็ลองหาซื้อแผ่นที่เขาวางขายแถวพันทิพย์หรือฟอร์จูนดู
เว็บไซต์ http://isoredirect.centos.org/centos/5/isos/i386/
แนวทางเลือกวิธีการติดตั้ง
ในการติดตั้งระบบ CentOS Linux
ใช้งานน่าจะอยู่ที่จุดประสงค์ของผู้จัดทำเป็นหลัก
โดยการติดตั้งสามารถติดตั้งใช้งานได้หลายแนวทางด้วยกัน พอสรุปคร่าวๆ
ได้ดังนี้
1.การติดตั้งระบบ Linux แยกกับระบบ Windows
การติดตั้งลักษณะนี้ในฮาร์ดดิก์สหนึ่งก้อนจะทำการติดตั้งระบบปฏิบัติการแยก
กันระหว่างระบบ Linux กับระบบ Windows โดยติดตั้งระบบ Windows
ได้ที่ไดร์ฟหลัก (C:\) และติดตั้งตั้งระบบ Linux ไว้ที่ไดร์ฟรอง
สำหรับไดร์ฟที่ทำการติดตั้งระบบลีนุกซ์ต้องแบ่งอย่างน้อยสองพาร์ติชั่น คือ
Linux Native สำหรับไว้เก็บข้อมูล และ Linux Swap
สำหรับเป็นสว๊อพพาร์ติชั่น ในการแบ่งพาร์ติชั่นสามารถใช้ Fdisk
แบ่งก่อนการติดตั้งระบบวินโดวส์ หรือใช้โปรแกรม Partition Magic
แบ่งหลังการติดตั้งวินโดวส์
ผู้ติดตั้งสามารถเลือกวิธีการแบ่งพื้นที่ฮาร์ดดิสก์ได้ว่าจะใช้เก็บระบบ
วินโดวส์กี่เปอร์เซ็นต์และใช้เก็บระบบลีนุกซ์กี่เปอร์เซ็นต์
การแบ่งพาร์ติชั่นแยกกันระหว่าง Windows กับ Linux
แบ่งฮาร์สดิสก์แบบ 50:50 (Windows = 50%, Linux = 50%)
การแบ่งพาร์ติชั่นแยกกันระหว่าง Windows กับ Linux
แบ่งฮาร์สดิสก์แบบ 70:30 (Windows = 70%, Linux = 30%)
2.การติดตั้งระบบ Linux ผ่านทางโปรแกรม Virtualization
การติดตั้งวิธีนี้ผู้ติดตั้งสามารถเลือกได้ว่าจะติดตั้งระบบปฏิบัติการตัวใด
ลงไปก่อน หลังจากติดตั้งระบบปฏิบัติการเสร็จก็ทำการติดตั้งโปรแกรม
Virtualization อาทิ เช่น VMWare, VirtualBox หรือ Microsoft Virtual PC
ภายหลัง เสร็จแล้วก็ทำการติดตั้งระบบ Windows Server หรือ Linux Server
ผ่านทางโปรแกรม Virtualization อีกครั้งหนึ่ง
การติดตั้งวิธีนี้ระบบจะทำการหั่นพื้นที่ส่วนหนึ่งของฮาร์ดดิสก์มาติดตั้ง
ระบบ โดยไม่ไปทำลายระบบวินโดวส์/ลีนุกซ์
กล่าวคือหากระบบปฏิบัติการภายในโปรแกรม Virtualization พัง
จะไม่ส่งผลกระทบต่อระบบปฏิบัติการที่ใช้งานอยู่
การติดตั้งตามแนววิธีนี้เหมาะสำหรับห้อง LAB ในสถาบันการศึกษา
สถาบันฝึกอบรมหลักสูตรคอมพิวเตอร์ นักเรียน นักศึกษา
หรือผู้สนใจทั่วไปที่ต้องการทดสอบใช้งานลีนุกซ์
การติดตั้ง Linux ผ่านทางโปรแกรม Virtualization ในระบบ Windows
การติดตั้ง Windows ผ่านทางโปรแกรม Virtualization ในระบบ Linux
ตัวอย่างโปรแกรม VirtualBOX
ตัวอย่างโปรแกรม VMWare
3.การติดตั้งลีนุกซ์เพื่อใช้งานจริง
การติดตั้งวิธีนี้เป็นการติดตั้งระบบลีนุกซ์เพียงระบบเดียว
ไม่มีระบบอื่นเข้ามาเกี่ยวข้อง เหมาะสำหรับติดตั้งใช้งานจริง
ในการติดตั้งสามารถแบ่งพื้นที่ฮาร์ดดิสก์ได้ 2 ลักษณะ คือ
3.1 การแบ่งฮาร์ดดิสก์เป็น 2 พาร์ติชั่น
3.1.1 พาร์ติชั่นแรกแบ่งเป็น Linux Swap (Swap) โดยแบ่งเป็น 2 เท่าของ RAM
ที่ใช้งานอยู่ ตัวอย่างเช่นกรณีมี RAM อยู่ 512 MB ก็กำหนดเป็น 512 x 2 =
1024 MB
3.1.2 พาร์ติชั่นที่สองแบ่งเป็น Linux Native (Ext3) สำหรับเก็บข้อมูลโดยใชพื้นที่ดิสก์ที่เหลืออยู่
การแบ่งฮาร์ดดิสก์เป็น 2 พาร์ติชั่น
3.2 การแบ่งฮาร์ดดิสก์โดยแบ่งพาร์ติชั่นแบบแยกอิสระ
การแบ่งวิธีนี้ผู้ติดตั้งต้องมีการจัดสรรพื้นที่ฮาร์ดดิสก์ใช้งานตามความ
ต้องการ อาทิ แบ่งพื้นที่ห้อง /home
ไว้สำหรับเก็บเว็บไซต์ผู้ใช้งาน/ลูกค้า, ห้อง /usr
สำหรับใช้ติดตั้งแพ็กเกจต่างๆ ห้อง /var สำหรับเก็บล็อกไฟล์, ห้อง /tmp
สำหรับเก็บไฟล์ชั่วคราว, ห้อง /cache สำหรับเก็บบันทึกเหตุการณ์ต่างๆ
ของโปรแกรมพร็อกซี่เซิร์ฟเวอร์, ห้อง/สำหรับตั้งเป็นรู๊ทพาร์ติชั่น, ห้อง
swap สำหรับทำสว๊อพพาร์ติชั่น เป็นต้น
การแบ่งฮาร์ดดิสก์โดยพาร์ติชั่นแบบแยกอิสระ
ซอฟต์แวร์แนะนำสำหรับองค์กร
Apache เป็นโปรแกรมที่ใช้ทำเว็บเซิร์ฟเวอร์ยอดนิยมในปัจจุบัน (ดูจากสถิติการใช้งานในเว็บไซต์ http://news.netcraft.com/archives/web_server_survey.html) ดูรายละเอียดของ Apache HTTP Server Project ได้ที่ http://httpd.apache.org Vsftpd เป็นโปรแกรมใช้ทำเอฟทีพีเซิร์ฟเวอร์ สำหรับส่งถ่ายไฟล์ ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.proftpd.org
VSFTPd เป็นโปรแกรมใช้ทำเอฟทีพีเซิร์ฟเวอร์สำหรับส่งถ่ายไฟล์ ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://vsftpd.beasts.org
Sendmail เป็นโปรแกรมใช้ทำเมลเซิร์ฟเวอร์ (MTA) ที่นิยมในอดีตจนถึงปัจจุบัน โดยที่ Sendmail ได้ถูกนำเป็นต้นแบบในการพัฒนาระบบเมล์ค่ายอื่นๆ อีกหลายๆ ค่าย ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.sendmail.org
Postfix เป็นโปรแกรมใช้ทำเมลเซิร์ฟเวอร์ (MTA) คาดว่าจะมาแทนที่ Sendmail ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.postfix.org
Dovecot เป็นโปรแกรม POP3/IMAP Server (MTA) ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.dovecot.org
BIND9 เป็นโปรแกรมใช้ทำดีเอ็นเอสเซิร์ฟเวอร์ สำหรับบริการโดเมนเนมใช้งานในหน่วยงาน ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ https://www.isc.org
MySQL เป็นโปรแกรมใช้ทำดาต้าเบสเซิร์ฟเวอร์ ปัจจุบันบริษัท Sun Microsystem ได้ซื้อไปแล้วแต่ยังคงมีในส่วนของการพัฒนาส่วน Open Source อยู่ ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.mysql.com
PostgreSQL เป็นโปรแกรมใช้ทำดาต้าเบสเซิร์ฟเวอร์ ที่มีความแข็งแกร่งสูง ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.postgresql.org
PHP เป็นภาษาที่ใช้พัฒนาเว็บไซต์ที่ได้รับความนิยมสูงสุดในปัจจุบัน ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.php.net
Python เป็นภาษาที่ใช้แอพลิเคชั่นได้ทั้งแบบออนไลน์และอ๊อฟไลน์ ที่กำลังมาแรงมาก เน้นพัฒนาไปในแนว OOP ปัจจุบันภาษา Python ถูกนำมาพัฒนาแอพลิเคชันชื่อดังหลายตัว อาทิ Google Apps ,Plone CMF, Mailman, รวมทั้งถูกนำไปพัฒนาใช้งานในองค์กรอวกาศ NASA เป็นต้น ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.python.org
SquirrelMail เป็นโปรแกรมที่ใช้ทำเว็บเบสอีเมล ที่ได้รับความนิยมสุดในปัจจุบัน สามารถใช้งานได้ทั้งบนระบบวินโดวส์และลีนุกซ์ ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.squirrelmail.org
IPTABLES เป็นโปรแกรมที่ใช้ทำไฟล์วอลสำหรับกรองแพ็กเกจต่างๆ ทั้งภายในและภายนอกระบบ ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์http://www.netfilter.org
Squid เป็นโปรแกรมใช้ทำพร็อกซี่เซิร์ฟเวอร์ ที่เป็นที่นิยมใช้งานอย่างมาก ส่วนใหญ่จะใช้คู่กับโปรแกรม IPTABLES และ DHCP เพื่อทำเป็นระบบ NAT หรือ DMZ สำหรับควบคุมเครื่องลูกข่ายในองค์กร ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.squid-cache.org
MRTG เป็นโปรแกรมใช้วิเคราะห์การจราจรบนระบบเครือข่าย
ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://oss.oetiker.ch/mrtg/
NMAP ย่อมาจาก Network Mapper เป็นโปรแกรมใช้ตรวจสอบติดตามการใช้งานระบบเครือข่าย สามารถใช้ตรวจสอบการใช้งานเครือข่าย รวมทั้งใช้ตรวจสอบซอฟต์แวร์ผิดกฎหมาย ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.nmap.org
Webalizer เป็นโปรแกรมใช้วัดสถิติการใช้งานเว็บไซต์โดยการเก็บ Log ของเว็บเซิร์ฟเวอร์มาตรวจสอบ ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.webalizer.org
Snort เป็นโปรแกรม IDS / IPS ใช้สำหรับตรวจสอบ เตือนก่อนผู้บุกรุกเข้าระบบ ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.snort.org
OpenSSL เป็นโปรแกรมสำหรับเซ็ตให้ระบบมีความปลอดภัยมากขึ้นโดยการใช้คีย์พิเศษ ทำผ่านโปรโตคอล SSL ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.openssl.org
Spamsession เป็นโปรแกรมใช้สำหรับกันสแปมเมล์ ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://spamassassin.apache.org/
ClamAV เป็นโปรแกรม Clam AntiVirus ที่ได้รับความนิยมค่อนข้างสูงสำหรับติดตั้งใช้งานบนเซิร์ฟเวอร์ สำหรับผู้ที่ใช้งานบนเครื่องเดสทอปจะมีโปรแกรมที่ชื่อว่า ClamWin ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.clamav.net
Samba เป็นโปรแกรมใช้ทำ File Server หรือ Pinter Server สามารถนำมาทำเป็นระบบแชร์ไฟล์ร่วมกับระบบวินโดวส์ที่มีอยู่เดิม ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.samba.org
FreeRADIUS เป็นโปรแกรมใช้ในการตรวจสอบสิทธ์ของผู้ใช้งาน โดยการรวบรวมแอคเคาน์หลายเซิร์ฟเวอร์มาตรวจสอบไว้ในที่ๆ เดียวกัน ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://freeradius.org
Webmin เป็นโปรแกรมใช้บริหารเซิร์ฟเวอร์ผ่านหน้าเว็บไซต์ ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.webmin.com
ISPConfig เป็น Control Panel สำหรับบริหารจัดการเซิร์ฟเวอร์ ผ่านหน้าเว็บไซต์ ทำให้การใช้งานต่างๆ ง่ายเป็นอย่างมาก ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.ispconfig.org
VHCS เป็น Control Panel สำหรับบริหารจัดการเซิร์ฟเวอร์ ผ่านหน้าเว็บไซต์ ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://vhcs.net
OpenSCE ใช้ในการทำระบบ Cluster ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://www.opensce.org
OpenMosix ใช้ในการทำระบบ Cluster ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ http://openmosix.sourceforge.net
----
0 comments:
Post a Comment