CentOS 6 เพอใชงานในองคกร
คมอ CentOS 6 เพอการใชงานในองคกร ผเขยนไดเขยนขนเพอประกอบการอบรมใหกบผดแลระบบคอมพวเตอรของโรงพยาบาลทกโรงพยาบาลในจงหวดตรง เมอวนท 21-23 มนาคม 2555 ณ โรงพยาบาลนาโยงโดยคมอนไดปรบปรงแกไขจากคมอ CentOS 5.2 หลงจากเสรจสนการอบรมไดนำามาปรบปรงใหมอกครงเพอใหดาวนโหลด ทงนผเขยนเองไดปลกเวลาจากการทำาสวนมาเขยนคมอน ผเขยนเองกหางหายจากการคอนฟกเซรฟเวอรเปนระยะเวลานานพอสมควร หากมขอผดพลาดผเขยนนอมรบตำาต เพอนำาไปปรบปรง หากมคำาแนะนำาสงมาไดท [email protected]
สำาหรบเนอหาในคมอเลมนกลาวถงการตดตง CentOS ตามหลกการตดตงของ RHEL ซงการตดตงไดเปลยนขนาดพารตชนไปจาก CentOS เวอรชน 5 ไปพอสมควร ปญหาของลนกซมอใหมไมรจะตดตงแพกเกจเพมเตมอยางไร หรอหาแพกเกจทตองการไมเจอ มคำาตอบในคมอเลมน MySQL ทมากบ CentOS อาจเปนเวอรชนทไมถกใจ จะดาวนโหลดมาตดตงไดอยางไร จะตดตงเวปเซรฟเวอรรวมถงเวบเมล เพอใชงานในองคกรจะทำาอยางไร ผดแลระบบในโรงพยาบาล หรอในองคกร บรษท นาจะไดนำาไปใชประโยชนเพอพฒนาองคกรของทานตอไป
เพอเปนวทยาทานไฟลนสามารถแจกจายไดตามสะดวก ภายใตสญญาอนญาตครเอทฟคอมมอนส
[email protected]://linux.sothorn.org
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
สารบาญ
เรอง หนาบทท 1 การตดตง CentOS 6 1บทท 2 การใชคำาสง RPM และ YUM จดการแพกเกจ 22บทท 3 DNS (Domain Name System) 34บทท 4 ตดตง อพเกรด และใชงาน MySQL 40
บทท 5 การตดตง Apache+PHP 48บทท 6 การตดตง phpMyAdmin 52บทท 7 Postfix Mail Server 54บทท 8 การตดตง roundcubemail 56
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
1
บทท 1 ตดตง CentOS 6การตดตงลนกซปจจบนฮารดดสกมขนาดใหญพอกบการใชงานทวไป ในการตดตงลนกซจะตดตงโดยใช
พารตชนแบบอตโนมตกสามารถทำาได หรอจะแบงพารตชนใหเหมาะสมกบงานกตามสะดวก ไมวาจะตดตงแบบไหนทสำาคญอยาลมวาผดแลระบบสามารถทจะจดการได แกปญหาได และทสำาคญทสดรกษาความปลอดภยได
สวนตวชอบการแบงพารตชนมากกวาการพารตชนแบบอตโนมต เนองจากสามารถแกปญหาไดงายกวา จดการโควตาไดสะดวก และสามารถรกษาความปลอดภยไดถงระดบพารตชนกรณทแบงพารตชน /boot ออกมา สวนใครจะแบงหรอไมแบงพารตชน กตามละดวกครบ สวนในคมอนจะแนะนำาหลกการแบงพารตดชนตามคมอของ RHEL 6
หลกการแบงพารตชนใน CentOS 6/boot partition (250 MB)root (/) partition (3.0 GB - 5.0 GB) เพอความสะดวกในการใชงาน 8-18 GB/tmp 256 หรอ 512 MB/var ตามการใชงาน/home ตามการใชงาน
Swap การสราง Swap พารตชน CentOS 6 มหลกการคำานวณ Swap ดงน
Amount of RAM in the System Recommended Amount of Swap Space4GB of RAM or less a minimum of 2GB of swap space
4GB to 16GB of RAM a minimum of 4GB of swap space
16GB to 64GB of RAM a minimum of 8GB of swap space
64GB to 256GB of RAM a minimum of 16GB of swap space
256GB to 512GB of RAM a minimum of 32GB of swap space
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
2
ตวอยางการตดตง CentOS 6หลงจากทบทดวย DVD ตดตง CentOS 6 แลวกจะมาถงหนาตดตง เลอก Install or upgrade an existing
system
เลอก Skip
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
4
เลอกคยบอรดภาษาองกฤษ
เลอก Basic Storage Device
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
5
กรณทฮารดดสก ไมเคยใชงานมากอน คลก Re-Initialize all
ตงชอโอสเนมหากนำามาเปน DNS server ควรตงเปน ns ตามดวยชอโดเมน เชน
ns1.companyname.com
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
6
คลกปม Configure Network
เลอก System eth0 แลวคลกปม Edit...
ตงคาเนตเวรคตามตองการ
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
7
เลอก time zone เปน Asia/Bangkok
ตงรหสผานของ user root
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
8
ในการพารตชนฮารดดสกใหเลอก Create Custom Layout
พนทฮารดดสกทงหมด สรางพารตชนใหมโดยการคลกปม Create
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
9
เลอก Standard Partition
พารตดชนบทตามคำาแนะนำาในคมอการตดตง ขนาด 250 M
จะสรางขนาดมากกวานนกไมเปนไร
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
10
พารตกชน / ขนาด 18 GB
พารตชน /tmp 512 MB
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
11
swap พารตชน 4 GB
ตวอยางการสรางพารตชน /var โดยใชพนททเหลอทงหมดเลอก Fill to maximum allowable size
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
12
จะไดพารตชนทเราตองการ
ตวอยางการเปลยน /var เปน Primary พารตชนเลอก พารตชน /var แลวกด ปม Edit
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
13
เลอก Force to be a primary partition
พารตชน /var กจะกลบไปอยในตกแหนง Primary พารตชนเมอเสรจแลวกกดปม Next ไดเลย
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
14
คลก Write changes to disk
กำาลง format ฮารดดสก
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
15
กด Next
Package ทตดตงขนตอนนอยาลมเลอก Customize now
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
17
Web Service เลอกดงภาพ
PHP Support ใหกด Optional packages เพอเลอก package ยอยเลอก php-mysql
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
20
Languages เลอกภาษา Thai เพอใชงานทดสอบในตอนอบรมในการใชงาน Server จรง ไมตองตดตงกได
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
21
สงทควรทำาหลงตดตง CentOS 6 เสรจ
ปดการทำางานของ SELinux ปดการทำางานของ SELinux โดยการแกไขไฟล /etc/selinux/config
# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing SELinux security policy is enforced.# permissive SELinux prints warnings instead of enforcing.# disabled No SELinux policy is loaded.SELINUX=disabled# SELINUXTYPE= can take one of these two values:# targeted Targeted processes are protected,# mls Multi Level Security protection.SELINUXTYPE=targeted
หลงจากแกไขไฟลเรยบรอยแลวใหรสตารทเครอง
ปด Firewall ปดการทำางานของ Firewall ดวยคำาสง
# setup
เลอก Firewall Configuration กด spacebar เอาเครองหมายดอกจนออก
หรอ# service iptables stop# chkonfig iptables off
เรองของการรกษาความปลอดภยในการเรมคอนฟกใหปดไปกอนเพราะสะสรางปญหาใหกบลนกซมอใหมเปนอยางมาก คอนฟกเสรจแลวคอยมาจดการเรองการรกษาความปลอดภยทหลงกได
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
22
บทท 2 การใชคำาสง RPM และ YUM จดการแพกเกจโปรแกรมบนลนกซสวนใหญจะเขยนดวยภาษา C ในการตดตงตองเอา source code ของโปรแกรมมาคอม
ไพล ดวย 3 คำาสงหลก ./configure, make, make install ซงเปนเรองยาก และไมสะดวกสำาหรบผใชงานทวไป เพราะฉะนนลนกซแตละคาย กพยายามทจะอำานวยความสะดวกในการตดตงโปรแกรมใหกบผใชงาน กจะมวธการ และเทคโนโลยทตางๆกนไป เชน ลนกซ Debain ubuntu ใช apt-get, Red Hat ใช rpm (RPM Package Manager)
การใชงาน rpmรปแบบของไฟล RPMname ชอ Packageversion เวอรชน release ปรบปรงครงทarchitecture i386, i586, athlon : Intel x86 Compatible Alpha : Digital Alpha/AXP
ia64 : IA-64 (Itanium) s300: S/390, AMD64noarch architecture-independency code
ตวอยางmysql-server-5.0.45-7.el5.i386.rpmชอ package คอ mysql-serverversion คอ 5.0.45-7release คอ el5architecture คอ i386 setup-2.5.58-1.el5.noarch.rpm noarch คอ ไมขนกบสถาปตยกรรม CPU
ตดตงและลบ package (โปรแกรม)nstall: rpm -i ตดตงUpgrade: rpm -U อพเกรดFreshen: rpm -F อพเกรดถามอย / ถาไมมไมทำาอะไรErase: rpm -e ลบOutput option: -v, -h แสดงเครองหมาย # ขณะทำางาน
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
23
ตวอยางการตดตงและลบแพกเกจ
rpm Queryรปแบบ rpm -q what_package what_information• -q query• -f ชอไฟล• -p ชอไฟลแพกเกจนามสกล .rpm• -i ขอมลทวไป• -l แสดงชอไฟลทเปนสวนประกอบของเพกเกจ
ตวอยางการใชคำาสง rpm queryrpm -qa ม Package อะไรตดตงอยบาง
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
24
ดขอมลของ Package (rpm -qi mysql-server)
ดวามไฟลอะไรอยบางใน Package mysql-server (rpm -ql mysql-server)
ไฟลนอยใน Package อะไร (rpm -qf /usr/bin/mysql)
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
25
ไฟล .rpm นตดตงแลวไปมไฟลอะไรบางไปตดตงอยทไหน (rpm -qlp mysql-server-5.0.45-7.el5.i386.rpm)
ดขอมลของไฟล .rpm (rpm -qip mysql-server-5.0.45-7.el5.i386.rpm)
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
26
ขอมลทวไปของ YUMYellow dog Updater, Modified (YUM) เปน โปรแกรมโอเพนซอรสคอมมานไลนทใชในการจดการแพก
เกจ (อพเดต / ตดตง / ลบ) สำาหรบลนกซ ทใช RPM โดยมลขสทธเปน GNU General Public License พฒนาโดย Seth Vidal และโปรแกรมเมอรอาสาสมคร yum เปนโปรแกรมคอมมานไลน แตกมโปรแกรมทเขาพฒนาเปนแบบกราฟกเชน Pup, Pirut ,Yumex, Yum Extender และ KYum ปจจบนนาย Seth Vidal ทำางานใหกบ Red Hat ซงเปนโปรแกรมเมอรผพฒนา yum ใหกบ Red Hat นนเอง
Yum พฒนามาจาก Yellowdog Updater (YUP) ซงใชอยใน Yellow Dog Linux โดย Red Hat นำามาพฒนาตอแลวใชชอวา YUM
คณสมบตของ Yum : • คลงของซอรฟแวรจำานวนมาก (multiple repositories) • คอนฟกไดงาย • การคำานวณ depency ทถกตอง • ทำางานเรว • พฤตกรรมทลงรอยกนกบ rpm (rpm-consistent behavior) • สนบสนนกลม comps.xml ทประกอบดวย multiple repository groups • อนเตอรเฟสทงาย
ยตลต yum ใชขอมลการพงพากนของแพกเกจ (package depency data) ในการทำาใหมนใจวาความตองการทงหมดสำาหรบแอพพลเคชนพบไดในระหวางการ ตดตง โดย yum จะตดตงแพกเกจสำาหรบ depency ใด ๆ ทไมปรากฎอยบนระบบโดยอตโนมต เมอมความตองการแอพพลเคชนใหมทชน (conflict) กบซอรฟแวรทมอยแลว yum จะทำาการ abort โดยปราศจากการเปลยนแปลงระบบใด ๆ
สรปงายๆ การตดตงแบบ rpm คอการตดตงแบบ ออฟไลน และ yum คอการตดตงแบบออนไลนนนเอง ออฟไลน คอมไฟล .rpm อยในเครองทเราใชงาน สวนออนไลนไฟลจะอยบนเซรฟเวอรอน ตามทเรากำาหนดใน /etc/yum.repos.d/CentOS-Base.repo
ถาเปรยบเทยบกบลนกซตระกล Debian Ubuntu rpm = dpkgyum = apt-get, aptitude
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
27
การใชงาน yum
แสดงแพกเกจทงหมดทงทตดตงไปแลว และยงไมตดตง
ดรายละเอยดของแพกเกจ yum info
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
30
ลบแพกเกจ yum remove
ตรวจสอบเวอรชนใหม yum check update
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
31
อพเดททกแพกเกจทมการอพเดท yum update
โปรแกรมจะตรวจเชคแพกเกจทงหมดทมการอพเดท และรายงานใหเราทราบจำานวน และขนาดไฟลทตองดาวนโหลดหากตองการอพเดททงหมดกตอบ y
หากตองการอพเดทเฉพาะแพกเกจทตองการกสามารถใชคำาสง yum update ตามดวยชอแพกเกจทตองการ เชน # yum update xterm
หมายเหตยงมคำาสง yum อนๆอก โปรดศกษาเพมเตม
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
32
การใชงาน yum โดยทแหลงขอมลมาจาก DVDการใชงาน yum ขอดทดกวา rpm อยางเหนไดชดคอการจดการแพกเกจทขนตอกน ถาเรา ตดตงแพกเกจ A
แตมความจำาเปนตองตดตง แพกเกจ B กบ C ไปดวยนน yum จะตดตงใหเอง สวน rpm เราตองตดตงเองซงยงยากแตขอเสยของ yum คอเครองทใชงานตองตออนเทอรเนต หรอเราตองสราง yum เซรฟเวอรเอง นคอคาปกตของ yum ทตดตงมา แตเราสามารถแกไขใหแหลงขอมลทจะใชตดตงมาจาก DVD ได โดยมวธการดงน
1) เขาไปทำางานท /etc/yum.repos.d/ 2) แกไขไฟล CentOS-Base.repo โดยใหคอมเมนตโดยการใสเครองหมาย # หนาทกบรรทด แลวบนทก
ไฟล หรอ เปลยนชอไฟลเปนชออน3) แกไขไฟล CentOS-Media.repo โดยแกไขพาธทอยของ DVD เชน
baseurl=file:///media/CentOS_6.0_Final/4) แกไข enabled=0 เปน enabled=1 เสรจแลวบนทกไฟล
เทานทานกสามารถใช yum โดยทมแหลงขอมลจาก DVD ไดแลวครบ
คำาสงทเกยวของในบทนrpmyum
ลงคอางอง :http://www.thaiadmin.org/board/index.php?topic=41613.0 http://en.wikipedia.org/wiki/Yellow_dog_Updater,_Modified
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
33
การเปลยน และเพมแหลงดาวนโหลดแพกเกจโดยปกตแหลงดาวนโหลดโปรแกรมสำาหรบตดตงบน CentOS จะมแพกเกจมาใหเราใชงานไมพอ จำาเปน
ตองหาแหลงโปรแกรมอนมาตดตง เพอความเรวในการดาวนโหลด และแพกเกจทมากขน
เปลยนแหลงดาวนโหลดเปนของ ม.เกษตรศาสตรดาวนโหลดไดท http://mirror1.ku.ac.th/yum-centos/6/CentOS-Base.repo เราสามารถนำาไฟล CentOS-
Base.repo ไปทบไฟลเดมไดเลย
# cp CentOSBase.repo /etc/yum.repos.d/
การเพมแหลงดาวนโหลดโปรแกรมแหลงดาวนโหลดโปรแกรมของ RPMForge ลงค http://wiki.centos.org/AdditionalResources/Repositories/RPMForge ไฟลทดาวนโหลด http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpmจะไดไฟล rpmforge-release-0.5.2-2.el6.rf.x86_64.rpmตดตงโดย # rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
แหลงดาวนโหลดจาก Fedora Extra Packages for Enterprise Linux (EPEL)ลงค http://fedoraproject.org/wiki/EPELไฟลดาวนโหลด http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpmจะไดไฟล epel-release-6-5.noarch.rpmตดตง # rpm -Uvh epel-release-6-5.noarch.rpm
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
34
บทท 3 DNS (Domain Name System)ระบบชอโดเมน การกำาหนดชอโดเมนใหเครองคอมพวเตอรแทนการใชหมายเลข IP (IP Address) ใหจำางาย
ในการอางองถงคอมพวเตอรทเชอมตอกบเครอขายอนเทอรเนต เชน หมายเลข IP 61.19.246.165 แทนดวยโดเมนชอ sothorn.org ซงจะม DNS Server เปนตวใหบรการชอโดเมนซงจดเกบฐานขอมลชอโดเมน และหมายเลขไอพ โดยท DNS Server มโปรแกรม ทมหนาทแปลงชอโดเมนเปนหมายเลข IP และแปลงหมายเลข IP เปนโดเมน เพอตอบคำาถามใหกบเครองลกขายทถามเขามา ตว DNS Server แตละตวไมไดมขอมลครบทงหมด หากลกขายถามมาแลวไมเจอโดเมนนนๆ ตว DNS Server กจะถาม DNS Server ในระดบสงขนไป
โดเมน กลมของคอมพวเตอรบนเครอขายอนเทอรเนตแบงเปนระดบโดยมเครองหมาย . เปนตวคน เชน univercity.ac.th โดยท .th เปนโดเมนสงสด
ในการจดชอโดเมนสามารถทำา ไดโดยเข าไปท เวบโฮสต งต างๆ ท รบจดชอและเชา พนท เชน www.keepdomain.com เมอเรากรอกขอมลในขนตอนกรอก DNS Server เราตองทราบกอนวาเราจะใชพนททไหนทำา เวบททใหเราเชาพนททำา เวบซงกจะม DNS Server ใหอยแลว เชน ของ KSC ns.ksc.co.th. 203.155.33.1 ns2.ksc.co.th. 202.44.144.33 หรอจะเชาพนทกบ Hosting ทรบจดโดเมนเนมเลยกได หรอจดชอแลวจะจดการเรอง DNS เองกลองไปลงทะเบยนท www.zonedit.com
ทกลาวมาเปนเรองของอนเทอรเนตถาเปนอนทราเนต เราแคตดตง DNS Server ในองคกรเรากสามารถตงชอโดเมนอะไรก ได เพราะ DNS Server เปนของเราเอง บนลนกซโปรแกรมทใชทำา DNS Server คอโปรแกรม BIND ปจจบนพฒนามาถงเวอรชน 9
ประวตความเปนมาของ BINDBIND (Berkeley Internet Name Domain) โปรแกรม BIND ได พฒนาขนท University of California at
Berkeley เปนโปเจคของนกศกษาปรญญาตร ภายใตการสนบสนนโดย US Defense Advanced Research Projects Administration (DARPA) โปรแกรม BIND ตงแตเรมพฒนาจนถงเวอรชน 4.8.3 ไดรบการดแลจาก Computer Systems Research Group (CSRG) ท UC Berkeley ทมพฒนาไดแก Douglas Terry, Mark Painter, David Riggle และ Songnian Zhou
หลงจากนนกไดมการรบชวงการพฒนามาหลายคนหลายองคกร จนปจจบน BIND เวอรชน 9 ซงออกมาเมอเดอนกนยายน ป 2000 ไดรบการสนบสนนการพฒนาจากหนวยงานเหลาน
Sun Microsystems, Inc. Hewlett Packard Compaq Computer Corporation IBM Process Software Corporation
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
35
Silicon Graphics, Inc. Network Associates, Inc. U.S. Defense Information Systems Agency USENIX Association Stichting NLNet - NLNet Foundation Nominum, Inc.สามารถดาวนโหลดโปรแกรม BIND มาใชงานไดท http://www.isc.org/index.pl?/sw/bind
แตเราไมจำาเปนตองดาวนโหลดมาคอมไพลและตดตงเอง ลนกซทกคายจะมโปรแกรม BIND มาใหอยแลว
การตดตง และคอนฟก BIND บน CentOSตดตงดวยคำาสง
#yum install bind
ไฟลและไดเรกทอรทเกยวของ/etc/named.conf เปนไฟลคอนฟกหลกทจะไปเรยกใชไฟลอน/var/named เปนไดเรกทอรทเกบไฟลทเรยกใชจาก /etc/named.conf
เปนททเราสรางไฟลทเกยวกบโดเมนไปเกบไว
ขนตอนการคอนฟก1. ตงชอโดเมนทตองการ2. แกไขไฟล /etc/name.conf3. สรางไฟลทจะเปลยนชอเปน IP Address ใน /var/named4. สรางไฟลเปลยน IP Address เปนชอ /var/named5. start หรอ restart service named6. แกไฟล /etc/resolv.conf และรสตารท network7. ใช เครองมอในการทดสอบ
ความตองการ เซรฟเวอร IP 192.168.01 ชอโดเมน companyname.com
เวบไซต http://www.companyname.com
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
36
แกไขไฟล /etc/named.confCentOS 5.2 จะไมมตวอยางไฟลใน named.conf มาใหเลย เปนไฟลทเราสรางขนมาเปนไฟลใหมไมม
เนอหาในไฟลzone "companyname.com.zone" IN { type master; file "/var/named/companyname.com.zone"; allowupdate { none; };};
zone "0.168.192.inaddr.arpa" IN { type master; file "/var/named/0.168.192.rev"; allowupdate { none; };};
ทดสอบไฟล /etc/named.confเราสามารถทดสอบไดวา ไฟล /etc/named.conf ท เราไดเพมเขาไปนนถกตองหรอไมโดยใชคำา สง
named-checkconf ตามดวยไฟล /etc/named.conf ตวอยางกรณทมความผดพลาดเกดขน # namedcheckconf /etc/named.conf /etc/named.conf:11: 'mastor' unexpected
ถาไมมขอผดพลาด# namedcheckconf /etc/named.conf #
สรางไฟลทจะเปลยนชอเปน IP Address ในทนคอไฟล companyname.com.zone ซงจะมหนาทในการเปลยนชอเปน IP Address โดยการสรางไฟล
ใหมแลวไปเกบท /var/named โดยมเนอหาภายในไฟล
$TTL 86400@ IN SOA companyname.com. root.companyname.com. (100 ; serial1H ; refresh1M ; retry1W ; expiry1D ) ; minimum@ IN NS ns1.companyname.com.@ IN A 192.168.0.1ns1 IN A 192.168.0.1@ IN MX 10 mail.companyname.com.mail IN A 192.168.0.1www IN A 192.168.0.1
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
37
สรางไฟลทจะเปลยน IP Address เปนชอ (0.168.192.rev)ในทนคอไฟล 0.168.192.rev มหนาทในการเปลยน IP Address เปนชอ โดยการสรางไฟลใหมแลวไปเกบ
ท /var/named เชนเดยวกนโดยมเนอหาภายในไฟล$TTL 86400@ IN SOA companyname.com. root.companyname.com. (100 ; serial1H ; refresh1M ; retry1W ; expiry1D) ; minimum@ IN NS ns1.companyname.com.1 IN PTR www.companyname.com.
รสตารท namedรสตารท named ดวยคำาสง # /etc/init.d/named restart หรอ service named restart
DNS ClientDNS Client ในทนเปนเครองเซรฟเวอรทเรากำาลงคอนฟกอยกได หรอเปนเครองอน บนลนกซการทจะเปน
DNS Client ได ตองแกไขไฟล /etc/resolv.conf โดยเพมบรรทด nameserver 192.168.0.1 แลวรสตารทเนตเวรกดวยคำาสง # /etc/init.d/network restart หลงจากนนจงจะตรวจสอบการทำางานของเซรฟเวอรได วาทำางานถกตองตามทเราตองการหรอเปลา
เครองมอในการตรวจสอบเครองมอในการตรวจสอบวาสงทเราไดทำาไปถกตอง ไดตามทตองการหรอไม โดยการใชคำาสง dig,
nslookup และ host
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
38
# dig companyname.com
; <<>> DiG 9.7.0P2RedHat9.7.05.P2.el6 <<>> companyname.com;; global options: +cmd;; Got answer:;; >>HEADER<< opcode: QUERY, status: NOERROR, id: 50172;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:;companyname.com. IN A
;; ANSWER SECTION:companyname.com.86400 IN A 192.168.0.1
;; AUTHORITY SECTION:companyname.com.86400 IN NS ns1.companyname.com.
;; ADDITIONAL SECTION:ns1.companyname.com. 86400 IN A 192.168.0.1
;; Query time: 4 msec;; SERVER: 192.168.0.1#53(192.168.0.1);; WHEN: Tue Feb 28 15:48:40 2012;; MSG SIZE rcvd: 83
# nslookup companyname.comServer: 192.168.0.1Address: 192.168.0.1#53
Name: companyname.comAddress: 192.168.0.1
#
# host www.companyname.comwww.companyname.com has address 192.168.0.1
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
39
อธบายความหมายของคำาตางๆ
TTL เปนระยะเวลาการมชวต(Time to Live) ของขอมล@ เปนชอของโดเมน เชน companyname.com ทลนกซใชอางองจากไฟล /etc/named.confIN คอ อนเทอรเนตSerial เปนหมายเลขทใชแสดงการอพเดทขอมลระหวาง Primary Master และ Secondary Master
ถาเมอใดทคานของ Primary Master มคามากกวา Secondary Master กจะทำาการอพเดทขอมล DNS ของ Primary ไปส Secondary เพอใหขอมลทงสองเหมอนกนเสมอ
Refresh ระยะเวลาทใชในการรเฟรชขอมลRetry ระยะเวลาทใชในการตรวจสอบขอมลกบ PrimaryExpire ระยะเวลาการหมดอายของขอมล กรณทไมสามารถตดตอเพอขอขอมล (refresh) กบ Primary ไดSOA Start of authority NS เปน Name Server ของโดเมน โดยจะกำาหนดไวหลง record SOAA เปน Address record คอจะแมบชอโฮสเปน IP AddressCNAME เปน Canonical name ใชกำาหนดชอเสมอน (Alias name) ใหเปนชอโฮสจรงMX เปนชอเครอง Mail server exchange ททำาหนาทรบสงเมลในระบบPTR เปน Pointer Record ใชในการแมบ IP Address เปนชอโฮส
อางองคำาอธบายคมภร Linux RedHat เลม 1 อ.บณฑต จามรภต หนา 262-263
หมายเหตสำาหรบเรอง DNS นผเขยนไมไดมความชำานาญ เอามานำาเสนอเพอใชงานในองคกรเพอเปนอนทราเนต
เทานน ขอมลทนำาเสนออาจไมถกตอง ไมเหมาะทจะนำาไปใชบนอนเทอรเนต หากตองการนำาไปใชควรศกษาเพมเตม
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
40
บทท 4 ตดตง อพเกรด และใชงาน MySQLMySQL (มายเอสควแอล) เปนระบบจดการฐานขอมลโดยใชภาษา SQL. แมวา MySQL เปนซอฟตแวร
โอเพนซอรส แตแตกตางจากซอฟตแวรโอเพนซอรสทวไป โดยมการพฒนาภายใตบรษท MySQL AB ในประเทศสวเดน โดยจดการ MySQL ทงในแบบทใหใชฟร และแบบทใชในเชงธรกจ MySQL สรางขนโดยชาวสวเดน 2 คน และชาวฟนแลนด ชอ David Axmark, Allan Larsson และ Michael "Monty" Widenius.
ปจจบนบรษทซนไมโครซสเตมส (Sun Microsystems, Inc.) เขาซอกจการของ MySQL AB เรยบรอยแลว ฉะนนผลตภณฑภายใต MySQL AB ทงหมดจะตกเปนของซน
ทมา : http://th.wikipedia.org/wiki/MySQL
การตดตง MySQL บน CentOS
CentOS มแพกเกจ MySQL มาใหอยแลว ถาหากยงไมไดตดตงตงแตตอนแรกกสามารถตดตงตอนหลงได โดยใช gpk-application โดยเรยกใช # gpk-application หรอ จากเมน System -->Administration--> Add / Remove Software
การตดตง MySQL ดวย gpk-application
หรอ จะใชคำาสง # yum install mysql-server กไดเชนเดยวกน ตดตงเสรจกสง service mysqld start หรอ /etc/init.d/mysqld start
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
41
การตดตง MySQL จากการดาวนโหลดหากเราตองการ MySQL เวอรชนทตองการ จะลาสดหรอไมกแลวแต ม MySQL ใหดาวนโหลดไมวาจะเปน
mysql.com แตในทนจะใช MySQL จาก http://www.percona.com/
http://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-5.5.20-24.1/RPM/rhel6/x86_64/
ขนอย CPU ททานใชอย โดยดาวนโหลดทกไฟลในหวขอทตรงกบ CPU ททานใชงานอย ดาวนโหลดมาเรยบรอยแลวใหดำาเนนการดงน
1) ถามฐานขอมลอยใหสำารองขอมลดวยคำาสง mysqldump เพอสำารองฐานขอมลความปลอดภย2) หยดการทำางานของ MySQL ดวยคำาสง /etc/init.d/mysqld stop3) ลบ MySQL เวอรชนทตดมากบ CentOS 6 โดยใชคำาสง yum remove mysql-server4) ไฟลทมใหดาวนโหลดจาก http://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-
5.5.20-24.1/RPM/rhel6/x86_64/
มดงน
ภาพแสดงไฟล Percona ทมใหดาวนโหลด
ดาวนโหลดมาแค 4 ไฟลกพอทจะนำาไปใชเปนฐานขอมลใชรวมกบ Apache+PHP
# ls PerconaServerclient555.5.20rel24.1.217.rhel6.x86_64.rpm PerconaServershared555.5.20rel24.1.217.rhel6.x86_64.rpm PerconaServerserver555.5.20rel24.1.217.rhel6.x86_64.rpm PerconaServersharedcompat5.5.20rel24.1.217.rhel6.x86_64.rpm
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
42
5) ตดตงโดยใชคำาสง rpm -Uvh --force MySQL-*.rpm [root@server1 mysql_install]## rpm Uvh force nodeps PerconaServer*.rpm warning: PerconaServerclient555.5.20rel24.1.217.rhel6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY Preparing... ########################################### [100%] 1:PerconaServershared5########################################### [ 25%] 2:PerconaServerclient5########################################### [ 50%] 3:PerconaServerserver5########################################### [ 75%] 4:PerconaServersharedc########################################### [100%]
ตดตงเสรจจะตองสตารท MySQL เอง ดวยคำาสง service mysql start หรอ /etc/init.d/mysql start# service mysql start Starting MySQL (Percona Server)... [ OK ]
MySQL พรอมใชงาน# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.5.2055 Percona Server (GPL), Release rel24.1, Revision 217
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
ขอควรระวง ไฟล start script ทอยใน /etc/init.d/ ใน MySQL เวอรชนนจะชอ mysql ไมใช mysqld เหมอนเวอรชนทตด
มากบ CentOS เพราะฉะนนเวลาสงสตารท mysql เวอรชนน ตองใชคำาสง /etc/init.d/mysql start หรอ service mysql start
เรมใชงาน MySQLหลงจากทตดตงเสรจแลวใชคำา สงให MySQL ทำา งานตอนบท ดวยคำา สง chkconfig และให service
ของ MySQL ทำางานดวยคำาสง service ชอ service ของ MySQL คอ mysqld # chkconfig mysql on# service mysql startStarting MySQL: [ OK ]
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
43
ตงรหสผานใหกบ user root ทจะเขาใชงานฐานขอมลเพอการรกษาความปลอดภยของการเขาถงฐานขอมล มความจำาเปนจะตองตงรหสผานใหกบ user root ซง
เปน user ทจะตดตอฐานขอมล โดยการใชคำาสง mysqladmin -u root password mypassword โดยท mypassword คอ รหสผาน ตอไปนการตดตอฐานขอมลจะใช user root และรหสผาน คอ mypassword
# mysqladmin u root password mypassword # mysql u root pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.5.2055 Percona Server (GPL), Release rel24.1, Revision 217
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
ออกจากการใชงาน MySQLmysql> \q Bye #
หรอmysql> exit Bye #
การใชงาน user และ password ของ mysql แบบแรก ให mysql ถามรหสผาน
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
44
# mysql u root pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 6Server version: 5.5.2055 Percona Server (GPL), Release rel24.1, Revision 217
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
แบบท 2 ใสรหสผานตอจากออปชน -p # mysql u root pmypassword Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 6Server version: 5.5.2055 Percona Server (GPL), Release rel24.1, Revision 217
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
ถาใสรหสผานผดกจะมขอความเตอน# mysql u root p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) #
การสรางฐานขอมล MySQL สรางฐานขอมลใหมและดชอฐานขอมล
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
45
# mysqladmin creat newdb u root p Enter password: # mysql u root p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show databases; ++ | Database | ++ | information_schema | | mysql | | newdb | | test | ++ 4 rows in set (0.00 sec)
mysql>
การนำาเขาฐานขอมล และ backup ฐานขอมลนำาเขาฐานขอมลจากไฟลดวย mysql newdb < /path/to/file.sql -u root -p
# mysql newdb < /root/file.sql u root pEnter password:
Backup ฐานขอมลดวยคำาสง dump# mysqldump dbname > /root/file_backup.sql u root pEnter password:
การเปลยน password ของ user root ทใชงานฐานขอมล MySQLการเปลยนรหสผาน user root ของ MySQL แบบน ทานตองจำารหสผานเดมได
โดยการใชคำาสงเหลาน
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
46
# mysql u root p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 6Server version: 5.5.2055 Percona Server (GPL), Release rel24.1, Revision 217
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with A
Database changed mysql> UPDATE mysql.user SET Password = PASSWORD('newpassword') WHERE User = 'root'; Query OK, 0 rows affected (0.00 sec) Rows matched: 3 Changed: 0 Warnings: 0
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
mysql>
หรอmysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword‘);
โดยท newpassword เปนรหสผานใหมทตองการเปลยน ถาตองการเปลยนรหสผานของผใชงานคนอน กให where ท user นนๆ
การอนญาตให user ตดตอฐานขอมลจากโฮสอนโดยปกต MySQL จะไมอนญาตให user root ตดตอเขามาใชฐานขอมลจากเครองอน ถาจะทำากทำาไดแตไม
ควรทำา ทางทดควรเพม user ใหมเขาไปและอนญาตใหเฉพาะ user นนตดตอฐานขอมลจากโฮสอนไดmysql> GRANT ALL PRIVILEGES ON *.* TO new_user@"%" IDENTIFIED BY 'password_for_newuser' WITH GRANT OPTION;mysql> FLUSH PRIVILEGES;
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
47
จากคำาสงสามารถอธบายไดวา อนญาตให user sothorn สามารถตดตอฐานขอมลทอยบนเครองน ไดจากทกเครอง (%) โดยสามารถใชงาน ไดทกฐานขอมลทกตาราง (*.*) ถาอนญาตบางฐานขอมลกใช ชอ db.* เชน mydb.*
ทดสอบตดตอฐานขอมลจากเครองอนroot@amdx2:~# mysql h 192.168.0.1 u sothorn p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 6Server version: 5.5.2055 Percona Server (GPL), Release rel24.1, Revision 217
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
วธแกปญหาเมอลมรหสผานของ root ใน MySQLมความเปนไปไดมากกบการลมรหสผานของ user root ของ MySQL ไมตองตกใจครบมวธการแกปญหา
ดงคำาสงดงตอไปน# /etc/init.d/mysqld stop# /usr/bin/mysqld_safe user=root skipgranttables &# mysqlWelcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> UPDATE mysql.user SET Password = PASSWORD('newpassword‘) WHERE User = 'root';mysql> FLUSH PRIVILEGES;mysq> \q# mysqladmin shutdown# /etc/init.d/mysqld start
จะเหนวาเราตองหยดการทำางานของ MySQL กอน แลวจงสงให MySQL ทำางานอกครงหนงโดยใช ออปชน skipgranttables หลงจากนนกสามารถเขาใชงาน MySQL ไดโดยไมตองใสรหสผาน เมอเขามาไดแลวกทำาการเปลยนรหสผานโดยใชคำาสง update
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
48
บทท 5 การตดตง Apache+PHP และ phpMyAdminปจจบนเวบเซรฟเวอรเขามามบทบาทในองคกรมากขน หลายองคกรมเวบเซรฟเวอร เพอใชในการสอสาร
ภายใน แลกเปลยนความคดเหนผานเวบบอรด ฯลฯ ปจจบนการทำาเวบเซรฟเวอรเพอใหบรการเฉพาะไฟล html ไมเพยงพอสำาหรบการใชงาน เวบเซรฟเวอรจะตองทำางานรวมกบภาษา PHP และตดตอฐานขอมลเชน MySQL, PostgreSQL ฯลฯ จงจะถอวาเปนเวบเซรฟเวอรทพรอมใชงานในองคกร
CentOS จะมโปรแกรมทจะใชงานเปนเวบเซรฟเวอรมาใหเรยบรอยแลว นนกคอโปรแกรม Apache2 แตชอแพกเกจ ชอวา httpd ถาหากยงไมตดตง ตงแตขนตอนตดตงเรากสามารตดตงภายหลง
การตดตง Web Server+PHPสามารถตดตง Apache และ PHP ดวย # gpk-application หรอ จากเมน System -->Administration-->
Add / Remove Softwareเลอก Web Server
ภาพแสดงการตดตงเวบเซรฟเวอรดวย gpk-application
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
49
เลอก PHP Support เพอเลอกแพกเกจเพมเตมตามตองการ
ภาพแสดงการตดตง PHP ดวย gpk-application
เราจะใชงาน PHP ดวยเพราะฉะนนอะไรทเกยวของกเลอกไปเถอะครบเกนดกวาขาด มนไมไดกนพนทมากดวย เลอกเสรจกดปม Close แลว Apply หลงจากตดตงเสรจใหใชคำาสง# chkconfig httpd on
เพอให httpd ทำางานทกครงทเปดเครองให httpd ทำางาน# service httpd start
หรอ# /etc/init.d/httpd start
สงทตองทราบ/var/www/html คอ ไดเรกทอรทเราเอาไฟล .html หรอ .php ไปเกบไว หรอเรยกวา Document root/etc/httpd/conf/httpd.conf ไฟล config ของ Web Server
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
50
ทดสอบการทำางานของ Web Server และ PHP ทดสอบการทำางานของเวบเซรฟเวอรวาทำางานหรอไม ใหเปดโปรแกรม Browser ขนมาแลวเรยก URL
http://www.companyname.com หรอ http://localhost ถาเปดหนา Default Page ขนมาได กแสดงวา Web Server ทำางานแลว
ภาพแสดงหนา Default ของ http://www.companyname.com
ทดสอบการทำางานของ PHPสรางไฟล phpinfo.php โดยมเนอความขางในไฟล
<?phpphpinfo();?>
แลวนำาไฟล phpinfo.php ไปไวท /var/www/html แลวใช Browser เรยก URL http://www.companyname.com/phpinfo.php
แสดงรายละเอยดของ PHP
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
51
ทดสอบการทำางานกบ PHP กบ MySQLสรางไฟล connect.php ไวท /var/www/html โดยมเนอความดงน
<?php$link = mysql_connect('localhost', 'root', 'mypassword');if (!$link) { die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>
ทดสอบการทำางานการตอตอฐานขอมลดวย Browserเปด Browser ขนมาแลวเรยก URL http://www.companyname.com/connect.php
ภาพแสดง PHP สามารถตดตอฐานขอมล MySQL ได
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
52
บทท 6 การตดตง phpMyAdminphpMyAdmin เปนโปรแกรมฟรทเขยนดวยภาษา PHP ใหสำาหรบจดการฐานขอมล MySQL โดยทเราไม
ตองใชคำาสง ทำางานผาน Web Browser ดาวนโหลดมาตดตงไดจาก http://www.phpmyqdmin.net
กอนตดตง phpMyAdmin ใหตดตง php-mbstring# yum install phpmbstring# service httpd restart # tar xvfz phpMyAdmin3.4.10.1alllanguages.tar.gz phpMyAdmin3.4.10.1alllanguages/phpMyAdmin3.4.10.1alllanguages/db_tracking.phpphpMyAdmin3.4.10.1alllanguages/schema_edit.phpphpMyAdmin3.4.10.1alllanguages/server_databases.php…# mv phpMyAdmin3.4.10.1alllanguages /var/www/html/phpMyAdmin
เขาไปทำางานทไดเรกทอร /var/www/html/phpMyAdmin# cd /var/www/html/phpMyAdmin# cp config.sample.inc.php config.inc.php
แลวแกไขไฟล config.inc.php
เปลยน $cfg['Servers'][$i]['auth_type'] = 'cookie'; เปน $cfg['Servers'][$i]['auth_type'] = 'http';
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
53
เรยกใชงาน http://www.companyname.com/phpMyAdmin
phpMyAdmin พรอมใชงาน
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
54
บทท 7 Postfix Mail Serverกอนทจะลงมอตดตง Postfix มาทำาความเขาใจคำาศพทตางๆ ทเกยวของกบเรอง mail กอนนะครบSMTP(Simple Mail Transfer Protocol) เปนโปรโตคอล ของ TCP/IP ใชในการสงและรบ
E-mail ในเครอขายอนเทอรเนต ไปยงเครองบรการอน ๆ ซงสามารถสงเมลไปยงผใชไดทวโลก และมโปรโตคอลทใชรบสงชดเจน
MTA (Mail Transport Agent) คอโปรแกรมคอมพวเตอรททำาหนาทรบสง mailPOP3 (Post Office Protocol version 3) แ ล ะ IMAP(Internet Message Access Protocol ) เ ป น
โปรโตคอลททำาใหสามารถใชในการรบ หรออาน mail ผานโปรแกรม e-mail Client เชน Thunderbird Outlook ไดIMAP ไดรบการพฒนาขนมาหลงจากทมการใช POP มากอน ดงนน ความสามารถพนฐานท POP ทำาได
IMAP กจะทำาไดเชนกน แตจะม ความสามารถเพมเตมขนมา เชน คณสามารถทจะอาน E-mail ของคณบน server ไดเลย โดยทไมจำาเปนตองดาวนโหลดมาทเครองของคณ ซงถาเปน POP คณจะตองดาวนโหลด email มาทเครองคณกอนคณถงจะอานได
Port ทใหบรการ SMTP 25, POP3 110 และ IMAP 143
การตดตง Postfix โดยปกต CentOS จะมโปรแกรมทเปน MTA มาใหอยแลวนนกคอ sendmail ถงแมวา sendmail จะเปน
โปรแกรมทไดรบความนยมมาก แตในความเปนจรง ประสทธภาพ และความสะดวกในการใชงาน postfix มมากกวา เพราะฉะนนในบทนจะพดถงการตดตงและใชงาน postfix ในการนำาเสนอในบทนเปนเพยงพนฐานของ postfix เทานน เพยงแคใหใชงานเปนอนทราเนตเทานน ในการใชงานจรงบนโลกอนเทอรเนตจะตองศกษาอกมากมาย
1) ลบ sendmail ออก โดยใชคำาสง yum remove sendmail2) ตดตง Postfix โดยใชคำาสง yum install posfix3) ใชคำาสง chkconfig ให postfix ทำางานทกครงทบท chkconfig postfix on 4) แกไฟล config /etc/postfix/main.cfกอนทจะให postfix ทำางาน มาแกไฟลคอนฟกของ postfix กนกอนครบ ไฟลคอนฟกของ postfix ทงหมดอย
ท /etc/postfix ไฟลทเราจะแกคอ main.cf แกโดยการเอาเครองหมาย # ออกและเอาชอโดเมนเราใสเขาไปmyhostname = companyname.comสวนinet_interfaces = localhostหมายความวาใหรบสง mail กนเฉพาะภายในเครองนเทานน ถาตองการให mail นตดตอกบ mail server ตว
อน ใหเปลยนเปน inet_interfaces = allhome_mailbox = Maildir/ # เพอใชงานกบ roundcubemail
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
55
สวนคาอนๆ ปลอยใหเปนคาปกต ถาใครจะทำาเปน mail server ทใชงานจรงบนอนเทอรเนตตองศกษาใหมากยงกวานครบ
5) เมอแกคอนฟกเสรจแลว service postfix start6) เพม user เพอทดลองสง mail ในทนจะเพม sothorn และ rsothorn
# useradd sothorn# useradd rsothorn# passwd sothorn Changing password for user sothorn. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. # passwd rsothorn Changing password for user rsothorn. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully.
7) ทดลองสง mail สงจาก sothorn ไปยง rsothorn# su sothorn$ mail [email protected]: TestTestEOT
8) ดผลการทำางานจาก Log ดวยคำาสง tail -f /var/log/maillogMar 16 09:28:24 myhostname postfix/pickup[2908]: 4B5981A0046: uid=500 from=<sothorn>Mar 16 09:28:24 myhostname postfix/cleanup[3061]: 4B5981A0046: messageid=<[email protected]>Mar 16 09:28:24 myhostname postfix/qmgr[1629]: 4B5981A0046: from=<[email protected]>, size=440, nrcpt=1 (queue active)Mar 16 09:28:24 myhostname postfix/local[3063]: 4B5981A0046: to=<[email protected]>, relay=local, delay=0.31, delays=0.18/0.09/0/0.04, dsn=2.0.0, status=sent (delivered to maildir)Mar 16 09:28:24 myhostname postfix/qmgr[1629]: 4B5981A0046: removed
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
56
บทท 8 การตดตง roundcubemail roundcubemail เปนโปรแกรมเวบเมลทเขยนดวย PHP ดาวนโหลดไดท http://roundcube.net/แตกอนทจะตดตง roundcubemail เราตองตง IMAP ใหบรการกอน เพราะ roundcube ใชโปรโตคอล
IMAP ในการเขาถง mail โปรแกรมทใชคอ dovecot 1) ตดตงและใชงาน dovecot
# yum install dovecot# chkconfig dovecot on# service dovecot start หรอ # /etc/init.d/dovecot start
แกไฟลคอนฟกของ dovecot ไฟล /etc/dovecot/dovecot.conf protocols = imap pop3mail_location = maildir:~/Maildir
# service dovecot restart
กอนตดตง roundcube ใหตดตง แพกเกจเหลานกอน ซงจำาเปนสำาหรบการตดตง roundcube# yum install phpmbstring# yum install phpmcrypt# yum install phpintl# service httpd restart
ดาวนโหลด roundcube ไดท http://roundcube.net/ ไฟลทดาวนโหลดมาชอ roundcubemail-0.7.2.tar.gz แลวขยายไฟล # tar xvfz roundcubemail0.7.2.tar.gzroundcubemail0.7.2/roundcubemail0.7.2/.htaccessroundcubemail0.7.2/bin/...
# mv roundcubemail0.7.2 /var/www/html/roundcubemail
สรางฐานขอมลและนำาเขาฐานขอมลตงตนของ roundcubemail โดยการเขาไปทำางานทไดเรกทอร /var/www/html/roundcubemail
# cd /var/www/html/roundcubemail
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
57
สรางฐานขอมลและนำาเขาฐานขอมลตงตนของ roundcubemail
# mysql> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY '123456';> quit
# mysql roundcubemail < SQL/mysql.initial.sql
เรมตดตง roundcubemail ดวยการเรยก URL ท Browser
http://www.companyname.com/roundcube/installer/
กจะไดดงภาพ
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
58
กดปม START INSTALLATION
ระบบจะรายงานวาพรอมทจะตดตงหรอไม
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
60
SMTP Setting ปลอยวางเอาไว
ตงคาภาษาเปนภาษาไทย th_TH
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
61
กดปม CREATE CONFIG
แลวดาวนโหลด main.inc.php ไปไวท /var/www/html/roundcubemail/config
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
62
ดาวนโหลด db.inc.php ไปไวท /var/www/html/roundcubemail/config
หลงจากนนเรยก http://www.companyname.com/roundcubemailแลว Login ดวย user ทสรางไว
CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]
Top Related