CentOS6

65
CentOS 6 เพื่อใช้งานในองค์กร คู่มือ CentOS 6 เพื่อการใช้งานในองค์กร ผู้เขียนได้เขียนขึ้นเพื่อประกอบการอบรมให้กับผู้ดูแลระบบ คอมพิวเตอร์ของโรงพยาบาลทุกโรงพยาบาลในจังหวัดตรัง เมื่อวันที่ 21-23 มีนาคม 2555 ณ โรงพยาบาลนาโยง โดยคู่มือนี้ได้ปรับปรุงแก้ไขจากคู่มือ CentOS 5.2 หลังจากเสร็จสิ้นการอบรมได้นำามาปรับปรุงใหม่อีกครั้งเพื่อให้ ดาวน์โหลด ทั้งนี้ผู้เขียนเองได้ปลีกเวลาจากการทำาสวนมาเขียนคู่มือนี้ ผู้เขียนเองก็ห่างหายจากการคอนฟิกเซิร์ฟเวอร์ เป็นระยะเวลานานพอสมควร หากมีข้อผิดพลาดผู้เขียนน้อมรับตำาติ เพื่อนำาไปปรับปรุง หากมีคำาแนะนำาส่งมาได้ที[email protected] สำาหรับเนื้อหาในคู่มือเล่มนี้กล่าวถึงการติดตั้ง CentOS ตามหลักการติดตั้งของ RHEL ซึ่งการติดตั้งได้เปลี่ยน ขนาดพาร์ติชันไปจาก CentOS เวอร์ชัน 5 ไปพอสมควร ปัญหาของลีนุกซ์มือใหม่ไม่รู้จะติดตั้งแพ็กเกจเพิ่มเติม อย่างไร หรือหาแพ็กเกจที่ต้องการไม่เจอ มีคำาตอบในคู่มือเล่มนีMySQL ที่มากับ CentOS อาจเป็นเวอร์ชันที่ไมถูกใจ จะดาวน์โหลดมาติดตั้งได้อย่างไร จะติดตั้งเวปเซิร์ฟเวอร์รวมถึงเวบเมล์ เพื่อใช้งานในองค์กรจะทำาอย่างไร ผูดูแลระบบในโรงพยาบาล หรือในองค์กร บริษัท น่าจะได้นำาไปใช้ประโยชน์เพื่อพัฒนาองค์กรของท่านต่อไป เพื่อเป็นวิทยาทานไฟล์นี้สามารถแจกจ่ายได้ตามสะดวก ภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์ [email protected] http://linux.sothorn.org CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที[email protected]

Transcript of CentOS6

Page 1: CentOS6

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]

Page 2: CentOS6

สารบาญ

เรอง หนาบทท 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]

Page 3: CentOS6

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]

Page 4: CentOS6

2

ตวอยางการตดตง CentOS 6หลงจากทบทดวย DVD ตดตง CentOS 6 แลวกจะมาถงหนาตดตง เลอก Install or upgrade an existing

system

เลอก Skip

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 5: CentOS6

3

กด Next

เลอกภาษาทใชตดตงภาษาองกฤษ

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 6: CentOS6

4

เลอกคยบอรดภาษาองกฤษ

เลอก Basic Storage Device

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 7: CentOS6

5

กรณทฮารดดสก ไมเคยใชงานมากอน คลก Re-Initialize all

ตงชอโอสเนมหากนำามาเปน DNS server ควรตงเปน ns ตามดวยชอโดเมน เชน

ns1.companyname.com

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 8: CentOS6

6

คลกปม Configure Network

เลอก System eth0 แลวคลกปม Edit...

ตงคาเนตเวรคตามตองการ

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 9: CentOS6

7

เลอก time zone เปน Asia/Bangkok

ตงรหสผานของ user root

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 10: CentOS6

8

ในการพารตชนฮารดดสกใหเลอก Create Custom Layout

พนทฮารดดสกทงหมด สรางพารตชนใหมโดยการคลกปม Create

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 11: CentOS6

9

เลอก Standard Partition

พารตดชนบทตามคำาแนะนำาในคมอการตดตง ขนาด 250 M

จะสรางขนาดมากกวานนกไมเปนไร

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 12: CentOS6

10

พารตกชน / ขนาด 18 GB

พารตชน /tmp 512 MB

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 13: CentOS6

11

swap พารตชน 4 GB

ตวอยางการสรางพารตชน /var โดยใชพนททเหลอทงหมดเลอก Fill to maximum allowable size

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 14: CentOS6

12

จะไดพารตชนทเราตองการ

ตวอยางการเปลยน /var เปน Primary พารตชนเลอก พารตชน /var แลวกด ปม Edit

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 15: CentOS6

13

เลอก Force to be a primary partition

พารตชน /var กจะกลบไปอยในตกแหนง Primary พารตชนเมอเสรจแลวกกดปม Next ไดเลย

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 16: CentOS6

14

คลก Write changes to disk

กำาลง format ฮารดดสก

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 17: CentOS6

15

กด Next

Package ทตดตงขนตอนนอยาลมเลอก Customize now

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 18: CentOS6

16

Base System

Server เลอก ดงภาพ

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 19: CentOS6

17

Web Service เลอกดงภาพ

PHP Support ใหกด Optional packages เพอเลอก package ยอยเลอก php-mysql

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 20: CentOS6

18

Desktops เลอกดงภาพ

Desktops(ตอ)

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 21: CentOS6

19

Applications

Development

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 22: CentOS6

20

Languages เลอกภาษา Thai เพอใชงานทดสอบในตอนอบรมในการใชงาน Server จรง ไมตองตดตงกได

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 23: CentOS6

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]

Page 24: CentOS6

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]

Page 25: CentOS6

23

ตวอยางการตดตงและลบแพกเกจ

rpm Queryรปแบบ rpm -q what_package what_information• -q query• -f ชอไฟล• -p ชอไฟลแพกเกจนามสกล .rpm• -i ขอมลทวไป• -l แสดงชอไฟลทเปนสวนประกอบของเพกเกจ

ตวอยางการใชคำาสง rpm queryrpm -qa ม Package อะไรตดตงอยบาง

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 26: CentOS6

24

ดขอมลของ Package (rpm -qi mysql-server)

ดวามไฟลอะไรอยบางใน Package mysql-server (rpm -ql mysql-server)

ไฟลนอยใน Package อะไร (rpm -qf /usr/bin/mysql)

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 27: CentOS6

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]

Page 28: CentOS6

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]

Page 29: CentOS6

27

การใชงาน yum

แสดงแพกเกจทงหมดทงทตดตงไปแลว และยงไมตดตง

ดรายละเอยดของแพกเกจ yum info

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 30: CentOS6

28

คนหาแพกเกจ

ดแพกเกจทขนตอกน yum deplist

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 31: CentOS6

29

ตดตงแพกเกจ yum install

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 32: CentOS6

30

ลบแพกเกจ yum remove

ตรวจสอบเวอรชนใหม yum check update

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 33: CentOS6

31

อพเดททกแพกเกจทมการอพเดท yum update

โปรแกรมจะตรวจเชคแพกเกจทงหมดทมการอพเดท และรายงานใหเราทราบจำานวน และขนาดไฟลทตองดาวนโหลดหากตองการอพเดททงหมดกตอบ y

หากตองการอพเดทเฉพาะแพกเกจทตองการกสามารถใชคำาสง yum update ตามดวยชอแพกเกจทตองการ เชน # yum update xterm

หมายเหตยงมคำาสง yum อนๆอก โปรดศกษาเพมเตม

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 34: CentOS6

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]

Page 35: CentOS6

33

การเปลยน และเพมแหลงดาวนโหลดแพกเกจโดยปกตแหลงดาวนโหลดโปรแกรมสำาหรบตดตงบน CentOS จะมแพกเกจมาใหเราใชงานไมพอ จำาเปน

ตองหาแหลงโปรแกรมอนมาตดตง เพอความเรวในการดาวนโหลด และแพกเกจทมากขน

เปลยนแหลงดาวนโหลดเปนของ ม.เกษตรศาสตรดาวนโหลดไดท http://mirror1.ku.ac.th/yum-centos/6/CentOS-Base.repo เราสามารถนำาไฟล CentOS-

Base.repo ไปทบไฟลเดมไดเลย

 # cp  CentOS­Base.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]

Page 36: CentOS6

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]

Page 37: CentOS6

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]

Page 38: CentOS6

36

แกไขไฟล /etc/named.confCentOS 5.2 จะไมมตวอยางไฟลใน named.conf มาใหเลย เปนไฟลทเราสรางขนมาเปนไฟลใหมไมม

เนอหาในไฟลzone "companyname.com.zone" IN {   type master;   file "/var/named/companyname.com.zone";   allow­update { none; };};

zone "0.168.192.in­addr.arpa" IN {   type master;   file "/var/named/0.168.192.rev";   allow­update { none; };};

ทดสอบไฟล /etc/named.confเราสามารถทดสอบไดวา ไฟล /etc/named.conf ท เราไดเพมเขาไปนนถกตองหรอไมโดยใชคำา สง

named-checkconf ตามดวยไฟล /etc/named.conf ตวอยางกรณทมความผดพลาดเกดขน # named­checkconf /etc/named.conf /etc/named.conf:11: 'mastor' unexpected 

ถาไมมขอผดพลาด# named­checkconf /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]

Page 39: CentOS6

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]

Page 40: CentOS6

38

# dig companyname.com

; <<>> DiG 9.7.0­P2­RedHat­9.7.0­5.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]

Page 41: CentOS6

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]

Page 42: CentOS6

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]

Page 43: CentOS6

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 Percona­Server­client­55­5.5.20­rel24.1.217.rhel6.x86_64.rpm  Percona­Server­shared­55­5.5.20­rel24.1.217.rhel6.x86_64.rpm Percona­Server­server­55­5.5.20­rel24.1.217.rhel6.x86_64.rpm  Percona­Server­shared­compat­5.5.20­rel24.1.217.rhel6.x86_64.rpm 

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 44: CentOS6

42

5) ตดตงโดยใชคำาสง rpm -Uvh --force MySQL-*.rpm [root@server1 mysql_install]## rpm ­Uvh ­­force ­­nodeps Percona­Server­*.rpm warning: Percona­Server­client­55­5.5.20­rel24.1.217.rhel6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY Preparing...                ########################################### [100%]    1:Percona­Server­shared­5########################################### [ 25%]    2:Percona­Server­client­5########################################### [ 50%]    3:Percona­Server­server­5########################################### [ 75%]    4:Percona­Server­shared­c########################################### [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.20­55 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]

Page 45: CentOS6

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.20­55 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]

Page 46: CentOS6

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.20­55 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.20­55 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]

Page 47: CentOS6

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]

Page 48: CentOS6

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.20­55 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]

Page 49: CentOS6

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.20­55 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 ­­skip­grant­tables &# 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 ทำางานอกครงหนงโดยใช ออปชน ­­skip­grant­tables หลงจากนนกสามารถเขาใชงาน MySQL ไดโดยไมตองใสรหสผาน เมอเขามาไดแลวกทำาการเปลยนรหสผานโดยใชคำาสง update

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 50: CentOS6

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]

Page 51: CentOS6

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]

Page 52: CentOS6

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]

Page 53: CentOS6

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]

Page 54: CentOS6

52

บทท 6 การตดตง phpMyAdminphpMyAdmin เปนโปรแกรมฟรทเขยนดวยภาษา PHP ใหสำาหรบจดการฐานขอมล MySQL โดยทเราไม

ตองใชคำาสง ทำางานผาน Web Browser ดาวนโหลดมาตดตงไดจาก http://www.phpmyqdmin.net

กอนตดตง phpMyAdmin ใหตดตง php-mbstring# yum install php­mbstring# service httpd restart # tar xvfz phpMyAdmin­3.4.10.1­all­languages.tar.gz phpMyAdmin­3.4.10.1­all­languages/phpMyAdmin­3.4.10.1­all­languages/db_tracking.phpphpMyAdmin­3.4.10.1­all­languages/schema_edit.phpphpMyAdmin­3.4.10.1­all­languages/server_databases.php…# mv phpMyAdmin­3.4.10.1­all­languages /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]

Page 55: CentOS6

53

เรยกใชงาน http://www.companyname.com/phpMyAdmin

phpMyAdmin พรอมใชงาน

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 56: CentOS6

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]

Page 57: CentOS6

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: message­id=<[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]

Page 58: CentOS6

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 php­mbstring# yum install php­mcrypt# yum install php­intl# service httpd restart

ดาวนโหลด roundcube ไดท http://roundcube.net/ ไฟลทดาวนโหลดมาชอ roundcubemail-0.7.2.tar.gz แลวขยายไฟล # tar xvfz roundcubemail­0.7.2.tar.gzroundcubemail­0.7.2/roundcubemail­0.7.2/.htaccessroundcubemail­0.7.2/bin/...

# mv roundcubemail­0.7.2 /var/www/html/roundcubemail

สรางฐานขอมลและนำาเขาฐานขอมลตงตนของ roundcubemail โดยการเขาไปทำางานทไดเรกทอร /var/www/html/roundcubemail

# cd /var/www/html/roundcubemail

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 59: CentOS6

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]

Page 60: CentOS6

58

กดปม START INSTALLATION

ระบบจะรายงานวาพรอมทจะตดตงหรอไม

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 61: CentOS6

59

กรอกรหสผานของฐานขอมล

กรอกคา IMAP host

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 62: CentOS6

60

SMTP Setting ปลอยวางเอาไว

ตงคาภาษาเปนภาษาไทย th_TH

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 63: CentOS6

61

กดปม CREATE CONFIG

แลวดาวนโหลด main.inc.php ไปไวท /var/www/html/roundcubemail/config

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 64: CentOS6

62

ดาวนโหลด db.inc.php ไปไวท /var/www/html/roundcubemail/config

หลงจากนนเรยก http://www.companyname.com/roundcubemailแลว Login ดวย user ทสรางไว

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]

Page 65: CentOS6

63

ถา Login ไดสำาเรจกจะเจอหนาน

CentOS 6 เพอใชงานในองคกร โดย โสทร รอดคงท [email protected]