Thursday, July 19, 2012

CentOS Linux เซิร์ฟเวอร์ทางเลือกสำหรับองค์กร


ในปัจจุบันซอฟต์แวร์สำหรับใช้ทำเป็นระบบ 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

 
Design by GURU