SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
CentOS 6 เพื่อใช้งานในองค์กร

         คู่มื อ CentOS 6 เพื่อการใช้งานในองค์กร ผู้เ ขี ยนได้ เ ขี ยนขึ้ น เพื่ อ ประกอบการอบรมให้ กับ ผู้ ดู แลระบบ
คอมพิวเตอร์ของโรงพยาบาลทุกโรงพยาบาลในจังหวัดตรัง เมื่อวันที่ 21-23 มีนาคม 2555 ณ โรงพยาบาลนาโยง
โดยคู่มือนี้ได้ปรับปรุงแก้ไขจากคู่มือ CentOS 5.2 หลังจากเสร็จสิ้นการอบรมได้นำา มาปรับปรุงใหม่อีกครั้งเพื่อให้
ดาวน์โหลด ทั้งนีผู้เขียนเองได้ปลีกเวลาจากการทำาสวนมาเขียนคู่มือนี้ ผู้เขียนเองก็ห่างหายจากการคอนฟิกเซิร์ฟเวอร์
                   ้
เป็นระยะเวลานานพอสมควร หากมีข้อผิดพลาดผู้เขียนน้อมรับตำาติ เพื่อนำาไปปรับปรุง หากมีคำาแนะนำาส่งมาได้ที่
sothorn@gmail.com

        สำาหรับเนื้อหาในคู่มือเล่มนี้กล่าวถึงการติดตั้ง CentOS ตามหลักการติดตั้งของ RHEL ซึ่งการติดตั้งได้เปลี่ยน
ขนาดพาร์ติชันไปจาก CentOS เวอร์ชัน 5 ไปพอสมควร ปัญหาของลีนุกซ์มือใหม่ไม่รู้จะติดตั้ งแพ็กเกจเพิ่มเติม
อย่างไร หรือหาแพ็กเกจที่ต้องการไม่เจอ มีคำา ตอบในคู่มือเล่มนี้ MySQL ที่มากับ CentOS อาจเป็นเวอร์ชันที่ไม่
ถูกใจ จะดาวน์โหลดมาติดตั้งได้อย่างไร จะติดตั้งเวปเซิร์ฟเวอร์รวมถึงเวบเมล์ เพื่อใช้งานในองค์กรจะทำาอย่างไร ผู้
ดูแลระบบในโรงพยาบาล หรือในองค์กร บริษัท น่าจะได้นำาไปใช้ประโยชน์เพื่อพัฒนาองค์กรของท่านต่อไป

        เพื่อเป็นวิทยาทานไฟล์นี้สามารถแจกจ่ายได้ตามสะดวก ภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์

                                                                                              sothorn@gmail.com
                                                                                           http://linux.sothorn.org




                                                    CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
สารบาญ

เรื่อง                                                                                 หน้า
บทที่ 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 Space
4GB 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
2

                                         ตัวอย่างการติดตั้ง CentOS 6
         หลังจากที่บูทด้วย DVD ติดตั้ง CentOS 6 แล้วก็จะมาถึงหน้าติดตั้ง เลือก Install or upgrade an existing
system




                                                    เลือก Skip




                                                   CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
3

            กด Next




เลือกภาษาที่ใช้ติดตั้งภาษาอังกฤษ




         CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
4

 เลือกคีย์บอร์ดภาษาอังกฤษ




เลือก Basic Storage Device




       CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
5

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




                     ตั้งชื่อโอสเนม
หากนำามาเป็น DNS server ควรตั้งเป็น ns ตามด้วยชื่อโดเมน เช่น
                  ns1.companyname.com




                         CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
6

     คลิกปุ่ม Configure Network
เลือก System eth0 แล้วคลิกปุ่ม Edit...




      ตั้งค่าเน็ตเวิร์คตามต้องการ




            CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
7

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




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




           CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
8

  ในการพาร์ติชนฮาร์ดดิสก์ให้เลือก Create Custom Layout
              ั




พืนที่ฮาร์ดดิสก็ทั้งหมด สร้างพาร์ติชันใหม่โดยการคลิกปุ่ม Create
  ้




                        CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
9

               เลือก Standard Partition




พาร์ติดชันบูทตามคำาแนะนำาในคู่มือการติดตั้ง ขนาด 250 M
           จะสร้างขนาดมากกว่านั้นก็ไม่เป็นไร




                     CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
10

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




พาร์ติชัน /tmp 512 MB




      CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
11

                  swap พาร์ติชน 4 GB
                              ั




ตัวอย่างการสร้างพาร์ติชน /var โดยใช้พื้นที่ทเี่ หลือทั้งหมด
                       ั
        เลือก Fill to maximum allowable size




                       CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
12

          จะได้พาร์ติชันที่เราต้องการ




ตัวอย่างการเปลี่ยน /var เป็น Primary พาร์ติชน
                                            ั
     เลือก พาร์ติชัน /var แล้วกด ปุ่ม Edit




                CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
13

         เลือก Force to be a primary partition




พาร์ติชัน /var ก็จะกลับไปอยู่ในตกแหน่ง Primary พาร์ติชัน
              เมื่อเสร็จแล้วก็กดปุ่ม Next ได้เลย




                      CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
14

คลิก Write changes to disk




  กำาลัง format ฮาร์ดดิสก์




       CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
15

             กด Next




        Package ที่ติดตั้ง
ขันตอนนี้อย่าลืมเลือก Customize now
  ้




           CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
16

   Base System




Server เลือก ดังภาพ




   CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
17

                 Web Service เลือกดังภาพ




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




                       CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
18

Desktops เลือกดังภาพ




   Desktops(ต่อ)




    CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
19

Applications




Development




CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
20

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




                   CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
22

                                 บทที่ 2 การใช้คำาสั่ง RPM และ YUM จัดการแพ็กเก็จ
        โปรแกรมบนลีนุกซ์ส่วนใหญ่จะเขียนด้วยภาษา C ในการติดตั้งต้องเอา source code ของโปรแกรมมาคอม
ไพล์ ด้วย 3 คำาสั่งหลัก ./configure, make, make install ซึ่งเป็นเรื่องยาก และไม่สะดวกสำาหรับผู้ใช้งานทัวไป เพราะ
                                                                                                       ่
ฉะนั้นลีนุกซ์แต่ละค่าย ก็พยายามที่จะอำานวยความสะดวกในการติดตั้งโปรแกรมให้กับผู้ใช้งาน ก็จะมีวิธีการ และ
เทคโนโลยีที่ต่างๆกันไป เช่น ลีนุกซ์ Debain ubuntu ใช้ apt-get, Red Hat ใช้ rpm (RPM Package Manager)

การใช้งาน rpm
        รูปแบบของไฟล์ RPM
        name                     ชื่อ Package
        version                  เวอร์ชัน
        release                  ปรับปรุงครั้งที่
        architecture             i386, i586, athlon : Intel x86 Compatible Alpha : Digital Alpha/AXP
                                 ia64 : IA-64 (Itanium) s300: S/390, AMD64
        noarch                   architecture-independency code

        ตัวอย่าง
        mysql-server-5.0.45-7.el5.i386.rpm
        ชื่อ package คือ mysql-server
        version          คือ 5.0.45-7
        release          คือ el5
        architecture คือ 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
23

        ตัวอย่างการติดตั้งและลบแพ็กเก็จ




rpm Query
      รูปแบบ rpm -q what_package what_information
       • -q query

       • -f ชื่อไฟล์

       • -p ชื่อไฟล์แพ็กเก็จนามสกุล .rpm

       • -i          ข้อมูลทั่วไป
       • -l          แสดงชื่อไฟล์ที่เป็นส่วนประกอบของเพ็กเก็จ

ตัวอย่างการใช้คำาสั่ง rpm query
        rpm -qa มี Package อะไรติดตั้งอยู่บ้าง




                                                 CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
24

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




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




ไฟล์นี้อยู่ใน Package อะไร      (rpm -qf /usr/bin/mysql)




                                         CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
26

ข้อมูลทัวไปของ YUM
         ่
           Yellow 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 = dpkg
        yum = apt-get, aptitude




                                                CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
27

การใช้งาน yum

      แสดงแพ็กเก็จทั้งหมดทั้งที่ติดตั้งไปแล้ว และยังไม่ติดตั้ง




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




                                                 CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
28

ค้นหาแพ็กเก็จ




ดูแพ็กเก็จที่ขึ้นต่อกัน yum deplist




                                      CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
29

ติดตั้งแพ็กเก็จ yum install




                              CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
30

ลบแพ็กเก็จ yum remove




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




                                       CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
31

        อัพเดททุกแพ็กเก็จที่มีการอัพเดท yum update




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




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

หมายเหตุ
      ยังมีคำาสั่ง yum อื่นๆอีก โปรดศึกษาเพิ่มเติม



                                                 CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 ได้แล้วครับ

        คำาสั่งที่เกี่ยวข้องในบทนี้
                   rpm
                   yum

        ลิงค์อ้างอิง :
                 http://www.thaiadmin.org/board/index.php?topic=41613.0
                 http://en.wikipedia.org/wiki/Yellow_dog_Updater,_Modified




                                                    CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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

ประวัติความเป็นมาของ BIND
        BIND (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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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.conf
     3. สร้างไฟล์ที่จะเปลี่ยนชื่อเป็น IP Address ใน /var/named
     4. สร้างไฟล์เปลี่ยน IP Address เป็นชื่อ /var/named
     5. start หรือ restart service named
     6. แก้ไฟล์ /etc/resolv.conf และรีสตาร์ท network
     7. ใช้ เครื่องมือในการทดสอบ

ความต้องการ
       เซิร์ฟเวอร์ IP 192.168.01 ชื่อโดเมน companyname.com

เวบไซต์               http://www.companyname.com

                                                 CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
36

แก้ไขไฟล์ /etc/named.conf
        CentOS 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     ; serial
1H      ; refresh
1M      ; retry
1W      ; expiry
1D )    ; minimum
@                    IN NS                ns1.companyname.com.
@                    IN A                 192.168.0.1
ns1                  IN A                 192.168.0.1
@                    IN MX   10           mail.companyname.com.
mail                 IN A                 192.168.0.1
www                  IN A                 192.168.0.1




                                                        CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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     ; serial
1H      ; refresh
1M      ; retry
1W      ; expiry
1D)     ; minimum
@                IN NS           ns1.companyname.com.
1                IN PTR          www.companyname.com.


รีสตาร์ท named
        รีสตาร์ท named ด้วยคำาสั่ง # /etc/init.d/named restart หรือ service named restart

DNS Client
         DNS Client ในที่นี้เป็นเครื่องเซิร์ฟเวอร์ที่เรากำาลังคอนฟิกอยู่ก็ได้ หรือเป็นเครื่องอื่น บนลีนุกซ์การที่จะเป็น
DNS Client ได้ ต้องแก้ไขไฟล์ /etc/resolv.conf โดยเพิ่มบรรทัด nameserver 192.168.0.1 แล้วรีสตาร์ทเน็ตเวิร์ก
ด้วยคำาสั่ง # /etc/init.d/network restart หลังจากนั้นจึงจะตรวจสอบการทำางานของเซิร์ฟเวอร์ได้ ว่าทำางานถูกต้อง
ตามที่เราต้องการหรือเปล่า

เครื่องมือในการตรวจสอบ
         เครื่องมือในการตรวจสอบว่าสิ่งที่เราได้ทำาไปถูกต้อง ได้ตามที่ต้องการหรือไม่ โดยการใช้คำาสั่ง dig,
nslookup และ host




                                                    CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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.com
Server:         192.168.0.1
Address:   192.168.0.1#53

Name: companyname.com
Address: 192.168.0.1

# 



# host www.companyname.com
www.companyname.com has address 192.168.0.1




                                CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
39

อธิบายความหมายของคำาต่างๆ

TTL             เป็นระยะเวลาการมีชีวิต(Time to Live) ของข้อมูล
@               เป็นชื่อของโดเมน เช่น companyname.com ที่ลีนุกซ์ใช้อ้างอิงจากไฟล์ /etc/named.conf
IN              คือ อินเทอร์เน็ต
Serial          เป็นหมายเลขที่ใช้แสดงการอัพเดทข้อมูลระหว่าง Primary Master และ Secondary Master
                ถ้าเมื่อใดที่ค่านี้ของ Primary Master มีค่ามากกว่า Secondary Master ก็จะทำาการอัพเดทข้อมูล DNS
                ของ Primary ไปสู่ Secondary เพื่อให้ข้อมูลทั้งสองเหมือนกันเสมอ
Refresh         ระยะเวลาที่ใช้ในการรีเฟรชข้อมูล
Retry           ระยะเวลาที่ใช้ในการตรวจสอบข้อมูลกับ Primary
Expire          ระยะเวลาการหมดอายุของข้อมูล กรณีที่ไม่สามารถติดต่อเพื่อขอข้อมูล (refresh) กับ Primary ได้
SOA             Start of authority
NS              เป็น Name Server ของโดเมน โดยจะกำาหนดไว้หลัง record SOA
A               เป็น Address record คือจะแมบชื่อโฮสเป็น IP Address
CNAME           เป็น Canonical name ใช้กำาหนดชื่อเสมือน (Alias name) ให้เป็นชื่อโฮสจริง
MX              เป็นชื่อเครื่อง Mail server exchange ที่ทำาหน้าที่รับส่งเมล์ในระบบ
PTR             เป็น Pointer Record ใช้ในการแมบ IP Address เป็นชื่อโฮส

         อ้างอิงคำาอธิบาย
         คัมภีร์ Linux RedHat เล่ม 1 อ.บัณฑิต จามรภูติ หน้า 262-263




หมายเหตุ
          สำาหรับเรื่อง DNS นีผู้เขียนไม่ได้มความชำานาญ เอามานำาเสนอเพื่อใช้งานในองค์กรเพื่อเป็นอินทราเน็ต
                              ้              ี
เท่านั้น ข้อมูลที่นำาเสนออาจไม่ถูกต้อง ไม่เหมาะที่จะนำาไปใช้บนอินเทอร์เน็ต หากต้องการนำาไปใช้ควรศึกษาเพิมเติม
                                                                                                          ่




                                                 CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
40

                                บทที่ 4 ติดตั้ง อัพเกรด และใช้งาน MySQL
        MySQL (มายเอสคิวแอล) เป็นระบบจัดการฐานข้อมูลโดยใช้ภาษา 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 stop
         3) ลบ MySQL เวอร์ชนที่ติดมากับ CentOS 6 โดยใช้คำาสั่ง yum remove mysql-server
                                ั
         4) ไฟล์ที่มีให้ดาวน์โหลดจาก 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 start
Starting MySQL:                                                                             [  OK  ]


                                                        CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
43

ตั้งรหัสผ่านให้กับ user root ทีจะเข้าใช้งานฐานข้อมูล
                               ่
         เพื่อการรักษาความปลอดภัยของการเข้าถึงฐานข้อมูล มีความจำาเป็นจะต้องตั้งรหัสผ่านให้กับ user root ซึ่ง
เป็น user ที่จะติดต่อฐานข้อมูล โดยการใช้คำาสั่ง mysqladmin -u root password mypassword โดยที่ mypassword
คือ รหัสผ่าน ต่อไปนี้การติดต่อฐานข้อมูลจะใช้ user root และรหัสผ่าน คือ mypassword

# mysqladmin ­u root password mypassword 
# mysql ­u root  ­p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 3
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> 


ออกจากการใช้งาน MySQL
mysql> q 
Bye 
#
หรือ
mysql> exit 
Bye 
#


การใช้งาน user และ password ของ mysql
        แบบแรก ให้ mysql ถามรหัสผ่าน




                                                CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
44

# mysql ­u root  ­p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 6
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>


       แบบที่ 2 ใส่รหัสผ่านต่อจากออปชัน -p
# mysql ­u root ­pmypassword 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 6
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> 


       ถ้าใส่รหัสผ่านผิดก็จะมีข้อความเตือน
# mysql ­u root ­p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using 
password: YES) 
# 


การสร้างฐานข้อมูล MySQL
       สร้างฐานข้อมูลใหม่และดูชื่อฐานข้อมูล




                                              CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 ­p
Enter password:




        Backup ฐานข้อมูลด้วยคำาสั่ง dump
# mysqldump dbname > /root/file_backup.sql ­u root ­p
Enter password:


การเปลี่ยน password ของ user root ที่ใช้งานฐานข้อมูล MySQL
         การเปลี่ยนรหัสผ่าน user root ของ MySQL แบบนี้ ท่านต้องจำารหัสผ่านเดิมได้
โดยการใช้คำาสั่งเหล่านี้




                                                  CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
46

# mysql ­u root ­p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 6
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> 

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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 6
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> 


วิธีแก้ปัญหาเมื่อลืมรหัสผ่านของ root ใน MySQL
          มีความเป็นไปได้มากกับการลืมรหัสผ่านของ user root ของ MySQL ไม่ต้องตกใจครับมีวธีการแก้ปัญหา
                                                                                       ิ
ดังคำาสั่งดังต่อไปนี้
# /etc/init.d/mysqld stop
# /usr/bin/mysqld_safe ­­user=root ­­skip­grant­tables &
# mysql
Welcome 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
50

ทดสอบการทำางานของ Web Server และ PHP
         ทดสอบการทำา งานของเวบเซิร์ฟเวอร์ว่าทำา งานหรือไม่ ให้เปิดโปรแกรม Browser ขึ้นมาแล้วเรียก URL
http://www.companyname.com หรือ http://localhost ถ้ า เปิ ด หน้ า Default Page ขึ้ น มาได้ ก็ แสดงว่ า Web Server
ทำางานแล้ว




                              ภาพแสดงหน้า Default ของ http://www.companyname.com


ทดสอบการทำางานของ PHP
     สร้างไฟล์ phpinfo.php โดยมีเนื้อความข้างในไฟล์
<?php
phpinfo();
?>


        แล้วนำาไฟล์ phpinfo.php ไปไว้ที่ /var/www/html แล้วใช้ Browser เรียก URL
http://www.companyname.com/phpinfo.php




                                             แสดงรายละเอียดของ PHP



                                                  CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
52

                                      บทที่ 6 การติดตั้ง phpMyAdmin
         phpMyAdmin เป็นโปรแกรมฟรีที่เขียนด้วยภาษา 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.php
phpMyAdmin­3.4.10.1­all­languages/schema_edit.php
phpMyAdmin­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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
53

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




                                    phpMyAdmin พร้อมใช้งาน




                                           CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
54

                                             บทที่ 7 Postfix Mail Server
         ก่อนที่จะลงมือติดตั้ง Postfix มาทำาความเข้าใจคำาศัพท์ต่างๆ ที่เกี่ยวข้องกับเรื่อง mail ก่อนนะครับ
         SMTP(Simple Mail Transfer Protocol) เป็นโปรโตคอล ของ TCP/IP ใช้ในการส่งและรับ
 E-mail ในเครือข่ายอินเทอร์เน็ต ไปยังเครื่องบริการอื่น ๆ ซี่งสามารถส่งเมล์ไปยังผู้ใช้ได้ทั่วโลก และมีโปรโตคอลที่
ใช้รับส่งชัดเจน
         MTA (Mail Transport Agent) คือโปรแกรมคอมพิวเตอร์ที่ทำาหน้าที่รับส่ง mail
         POP3 (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 sendmail
          2) ติดตั้ง Postfix โดยใช้คำาสั่ง yum install posfix
          3) ใช้คำาสั่ง 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 = all
          home_mailbox = Maildir/ # เพื่อใช้งานกับ roundcubemail

                                                   CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
55

        ส่วนค่าอื่นๆ ปล่อยให้เป็นค่าปกติ ถ้าใครจะทำาเป็น mail server ที่ใช้งานจริงบนอินเทอร์เน็ตต้องศึกษาให้
มากยิ่งกว่านี้ครับ
        5) เมื่อแก้คอนฟิกเสร็จแล้ว service postfix start
        6) เพิ่ม 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 rsothorn@companyname.com
Subject: Test
Test
EOT
       8) ดูผลการทำางานจาก Log ด้วยคำาสั่ง tail -f /var/log/maillog
Mar 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=<20120316022824.4B5981A0046@companyname.com>
Mar 16 09:28:24 myhostname postfix/qmgr[1629]: 4B5981A0046: from=<sothorn@companyname.com>, 
size=440, nrcpt=1 (queue active)
Mar 16 09:28:24 myhostname postfix/local[3063]: 4B5981A0046: to=<rsothorn@companyname.com>, 
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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 pop3
mail_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.gz
roundcubemail­0.7.2/
roundcubemail­0.7.2/.htaccess
roundcubemail­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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
58

    กดปุ่ม START INSTALLATION




ระบบจะรายงานว่าพร้อมที่จะติดตั้งหรือไม่




             CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
59

กรอกรหัสผ่านของฐานข้อมูล




   กรอกค่า IMAP host




      CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
60

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




ตั้งค่าภาษาเป็นภาษาไทย th_TH




        CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
61

                       กดปุ่ม CREATE CONFIG




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




                             CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
62

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




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




                          CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
63

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




          CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com

Contenu connexe

En vedette

Proyecto de Ley del Arrepentido
Proyecto de Ley del ArrepentidoProyecto de Ley del Arrepentido
Proyecto de Ley del ArrepentidoGabriel Conte
 
24 ijcse-01238-2 manohari
24 ijcse-01238-2 manohari24 ijcse-01238-2 manohari
24 ijcse-01238-2 manohariShivlal Mewada
 
What's a Good Chinese Daily Deal - A Market Analysis - May 2011 - Dataotuan.com
What's a Good Chinese Daily Deal - A Market Analysis - May 2011 - Dataotuan.com What's a Good Chinese Daily Deal - A Market Analysis - May 2011 - Dataotuan.com
What's a Good Chinese Daily Deal - A Market Analysis - May 2011 - Dataotuan.com dataotuan
 
English 7 unit 01 my hobbies lesson 5 skills 1
English 7 unit 01 my hobbies lesson 5 skills 1English 7 unit 01 my hobbies lesson 5 skills 1
English 7 unit 01 my hobbies lesson 5 skills 1thanh bui
 
Coastal carbon_Andy Steven
Coastal carbon_Andy StevenCoastal carbon_Andy Steven
Coastal carbon_Andy StevenTERN Australia
 
CMG Recommendation Letter PSB JPG
CMG Recommendation Letter PSB JPGCMG Recommendation Letter PSB JPG
CMG Recommendation Letter PSB JPGPia Sanchez
 
Offer for supply of 15 mt wireless heatproof crane scale sjw metlr
Offer for supply of 15 mt wireless heatproof crane scale sjw metlrOffer for supply of 15 mt wireless heatproof crane scale sjw metlr
Offer for supply of 15 mt wireless heatproof crane scale sjw metlrsatyarth sharma
 
Show me your hands
Show me your handsShow me your hands
Show me your handsTerry Penney
 
Php And Web Services
Php And Web ServicesPhp And Web Services
Php And Web Servicesthinkphp
 
Diskripsi diri
Diskripsi diriDiskripsi diri
Diskripsi diridanielpuji
 
2012 deep research report on china special steel industry
2012 deep research report on china special steel industry2012 deep research report on china special steel industry
2012 deep research report on china special steel industrysmarter2011
 

En vedette (13)

Proyecto de Ley del Arrepentido
Proyecto de Ley del ArrepentidoProyecto de Ley del Arrepentido
Proyecto de Ley del Arrepentido
 
24 ijcse-01238-2 manohari
24 ijcse-01238-2 manohari24 ijcse-01238-2 manohari
24 ijcse-01238-2 manohari
 
What's a Good Chinese Daily Deal - A Market Analysis - May 2011 - Dataotuan.com
What's a Good Chinese Daily Deal - A Market Analysis - May 2011 - Dataotuan.com What's a Good Chinese Daily Deal - A Market Analysis - May 2011 - Dataotuan.com
What's a Good Chinese Daily Deal - A Market Analysis - May 2011 - Dataotuan.com
 
English 7 unit 01 my hobbies lesson 5 skills 1
English 7 unit 01 my hobbies lesson 5 skills 1English 7 unit 01 my hobbies lesson 5 skills 1
English 7 unit 01 my hobbies lesson 5 skills 1
 
Coastal carbon_Andy Steven
Coastal carbon_Andy StevenCoastal carbon_Andy Steven
Coastal carbon_Andy Steven
 
Unit2 review
Unit2 reviewUnit2 review
Unit2 review
 
Phone list
Phone listPhone list
Phone list
 
CMG Recommendation Letter PSB JPG
CMG Recommendation Letter PSB JPGCMG Recommendation Letter PSB JPG
CMG Recommendation Letter PSB JPG
 
Offer for supply of 15 mt wireless heatproof crane scale sjw metlr
Offer for supply of 15 mt wireless heatproof crane scale sjw metlrOffer for supply of 15 mt wireless heatproof crane scale sjw metlr
Offer for supply of 15 mt wireless heatproof crane scale sjw metlr
 
Show me your hands
Show me your handsShow me your hands
Show me your hands
 
Php And Web Services
Php And Web ServicesPhp And Web Services
Php And Web Services
 
Diskripsi diri
Diskripsi diriDiskripsi diri
Diskripsi diri
 
2012 deep research report on china special steel industry
2012 deep research report on china special steel industry2012 deep research report on china special steel industry
2012 deep research report on china special steel industry
 

Similaire à Cent os6

Similaire à Cent os6 (13)

20121102 joomla2-5
20121102 joomla2-520121102 joomla2-5
20121102 joomla2-5
 
Virtualbox
VirtualboxVirtualbox
Virtualbox
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
wordpress-server2
wordpress-server2 wordpress-server2
wordpress-server2
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
Kompozer manual
Kompozer manualKompozer manual
Kompozer manual
 
Faronics core console
Faronics core consoleFaronics core console
Faronics core console
 
Wordpress 3.5 -install-appserv
Wordpress 3.5 -install-appservWordpress 3.5 -install-appserv
Wordpress 3.5 -install-appserv
 
Virtualization
VirtualizationVirtualization
Virtualization
 

Plus de Rose Banioki

Spm ระบบความคิดพิชิตการลงทุน
Spm ระบบความคิดพิชิตการลงทุนSpm ระบบความคิดพิชิตการลงทุน
Spm ระบบความคิดพิชิตการลงทุนRose Banioki
 
2013ar-Berkshire Hathaway
2013ar-Berkshire Hathaway2013ar-Berkshire Hathaway
2013ar-Berkshire HathawayRose Banioki
 
Techinque mutual-fund
Techinque mutual-fundTechinque mutual-fund
Techinque mutual-fundRose Banioki
 
หนังสือความทรงอภิญญา
หนังสือความทรงอภิญญาหนังสือความทรงอภิญญา
หนังสือความทรงอภิญญาRose Banioki
 
Nutritive values of foods
Nutritive values of foodsNutritive values of foods
Nutritive values of foodsRose Banioki
 
Ipad user guide ios7
Ipad user guide ios7Ipad user guide ios7
Ipad user guide ios7Rose Banioki
 
Iphone user guide th
Iphone user guide thIphone user guide th
Iphone user guide thRose Banioki
 
The differencebetweenbeachesinindia&greece
The differencebetweenbeachesinindia&greeceThe differencebetweenbeachesinindia&greece
The differencebetweenbeachesinindia&greeceRose Banioki
 
Toilets pierre daspe
Toilets pierre daspeToilets pierre daspe
Toilets pierre daspeRose Banioki
 
Pps hollywood dorado_bea
Pps hollywood dorado_beaPps hollywood dorado_bea
Pps hollywood dorado_beaRose Banioki
 
Photos carlosalbertobau
Photos carlosalbertobauPhotos carlosalbertobau
Photos carlosalbertobauRose Banioki
 

Plus de Rose Banioki (20)

Spm ระบบความคิดพิชิตการลงทุน
Spm ระบบความคิดพิชิตการลงทุนSpm ระบบความคิดพิชิตการลงทุน
Spm ระบบความคิดพิชิตการลงทุน
 
2013ar-Berkshire Hathaway
2013ar-Berkshire Hathaway2013ar-Berkshire Hathaway
2013ar-Berkshire Hathaway
 
Instant tax
Instant taxInstant tax
Instant tax
 
Techinque mutual-fund
Techinque mutual-fundTechinque mutual-fund
Techinque mutual-fund
 
หนังสือความทรงอภิญญา
หนังสือความทรงอภิญญาหนังสือความทรงอภิญญา
หนังสือความทรงอภิญญา
 
Nutritive values of foods
Nutritive values of foodsNutritive values of foods
Nutritive values of foods
 
Thaifood table
Thaifood tableThaifood table
Thaifood table
 
Ipad user guide ios7
Ipad user guide ios7Ipad user guide ios7
Ipad user guide ios7
 
Iphone user guide th
Iphone user guide thIphone user guide th
Iphone user guide th
 
P4
P4P4
P4
 
P3
P3P3
P3
 
P1
P1P1
P1
 
To myfriends
To myfriendsTo myfriends
To myfriends
 
The differencebetweenbeachesinindia&greece
The differencebetweenbeachesinindia&greeceThe differencebetweenbeachesinindia&greece
The differencebetweenbeachesinindia&greece
 
Toilets pierre daspe
Toilets pierre daspeToilets pierre daspe
Toilets pierre daspe
 
Tibet
TibetTibet
Tibet
 
Pps hollywood dorado_bea
Pps hollywood dorado_beaPps hollywood dorado_bea
Pps hollywood dorado_bea
 
Photosdutempspass
PhotosdutempspassPhotosdutempspass
Photosdutempspass
 
Photo mix7
Photo mix7Photo mix7
Photo mix7
 
Photos carlosalbertobau
Photos carlosalbertobauPhotos carlosalbertobau
Photos carlosalbertobau
 

Cent os6

  • 1. CentOS 6 เพื่อใช้งานในองค์กร คู่มื อ CentOS 6 เพื่อการใช้งานในองค์กร ผู้เ ขี ยนได้ เ ขี ยนขึ้ น เพื่ อ ประกอบการอบรมให้ กับ ผู้ ดู แลระบบ คอมพิวเตอร์ของโรงพยาบาลทุกโรงพยาบาลในจังหวัดตรัง เมื่อวันที่ 21-23 มีนาคม 2555 ณ โรงพยาบาลนาโยง โดยคู่มือนี้ได้ปรับปรุงแก้ไขจากคู่มือ CentOS 5.2 หลังจากเสร็จสิ้นการอบรมได้นำา มาปรับปรุงใหม่อีกครั้งเพื่อให้ ดาวน์โหลด ทั้งนีผู้เขียนเองได้ปลีกเวลาจากการทำาสวนมาเขียนคู่มือนี้ ผู้เขียนเองก็ห่างหายจากการคอนฟิกเซิร์ฟเวอร์ ้ เป็นระยะเวลานานพอสมควร หากมีข้อผิดพลาดผู้เขียนน้อมรับตำาติ เพื่อนำาไปปรับปรุง หากมีคำาแนะนำาส่งมาได้ที่ sothorn@gmail.com สำาหรับเนื้อหาในคู่มือเล่มนี้กล่าวถึงการติดตั้ง CentOS ตามหลักการติดตั้งของ RHEL ซึ่งการติดตั้งได้เปลี่ยน ขนาดพาร์ติชันไปจาก CentOS เวอร์ชัน 5 ไปพอสมควร ปัญหาของลีนุกซ์มือใหม่ไม่รู้จะติดตั้ งแพ็กเกจเพิ่มเติม อย่างไร หรือหาแพ็กเกจที่ต้องการไม่เจอ มีคำา ตอบในคู่มือเล่มนี้ MySQL ที่มากับ CentOS อาจเป็นเวอร์ชันที่ไม่ ถูกใจ จะดาวน์โหลดมาติดตั้งได้อย่างไร จะติดตั้งเวปเซิร์ฟเวอร์รวมถึงเวบเมล์ เพื่อใช้งานในองค์กรจะทำาอย่างไร ผู้ ดูแลระบบในโรงพยาบาล หรือในองค์กร บริษัท น่าจะได้นำาไปใช้ประโยชน์เพื่อพัฒนาองค์กรของท่านต่อไป เพื่อเป็นวิทยาทานไฟล์นี้สามารถแจกจ่ายได้ตามสะดวก ภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์ sothorn@gmail.com http://linux.sothorn.org CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 2. สารบาญ เรื่อง หน้า บทที่ 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 3. 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 Space 4GB 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 4. 2 ตัวอย่างการติดตั้ง CentOS 6 หลังจากที่บูทด้วย DVD ติดตั้ง CentOS 6 แล้วก็จะมาถึงหน้าติดตั้ง เลือก Install or upgrade an existing system เลือก Skip CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 5. 3 กด Next เลือกภาษาที่ใช้ติดตั้งภาษาอังกฤษ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 6. 4 เลือกคีย์บอร์ดภาษาอังกฤษ เลือก Basic Storage Device CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 7. 5 กรณีที่ฮาร์ดดิสก์ ไม่เคยใช้งานมาก่อน คลิก Re-Initialize all ตั้งชื่อโอสเนม หากนำามาเป็น DNS server ควรตั้งเป็น ns ตามด้วยชื่อโดเมน เช่น ns1.companyname.com CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 8. 6 คลิกปุ่ม Configure Network เลือก System eth0 แล้วคลิกปุ่ม Edit... ตั้งค่าเน็ตเวิร์คตามต้องการ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 9. 7 เลือก time zone เป็น Asia/Bangkok ตั้งรหัสผ่านของ user root CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 10. 8 ในการพาร์ติชนฮาร์ดดิสก์ให้เลือก Create Custom Layout ั พืนที่ฮาร์ดดิสก็ทั้งหมด สร้างพาร์ติชันใหม่โดยการคลิกปุ่ม Create ้ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 11. 9 เลือก Standard Partition พาร์ติดชันบูทตามคำาแนะนำาในคู่มือการติดตั้ง ขนาด 250 M จะสร้างขนาดมากกว่านั้นก็ไม่เป็นไร CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 12. 10 พาร์ติกิชัน / ขนาด 18 GB พาร์ติชัน /tmp 512 MB CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 13. 11 swap พาร์ติชน 4 GB ั ตัวอย่างการสร้างพาร์ติชน /var โดยใช้พื้นที่ทเี่ หลือทั้งหมด ั เลือก Fill to maximum allowable size CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 14. 12 จะได้พาร์ติชันที่เราต้องการ ตัวอย่างการเปลี่ยน /var เป็น Primary พาร์ติชน ั เลือก พาร์ติชัน /var แล้วกด ปุ่ม Edit CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 15. 13 เลือก Force to be a primary partition พาร์ติชัน /var ก็จะกลับไปอยู่ในตกแหน่ง Primary พาร์ติชัน เมื่อเสร็จแล้วก็กดปุ่ม Next ได้เลย CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 16. 14 คลิก Write changes to disk กำาลัง format ฮาร์ดดิสก์ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 17. 15 กด Next Package ที่ติดตั้ง ขันตอนนี้อย่าลืมเลือก Customize now ้ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 18. 16 Base System Server เลือก ดังภาพ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 19. 17 Web Service เลือกดังภาพ PHP Support ให้กด Optional packages เพื่อเลือก package ย่อย เลือก php-mysql CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 20. 18 Desktops เลือกดังภาพ Desktops(ต่อ) CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 21. 19 Applications Development CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 22. 20 Languages เลือกภาษา Thai เพื่อใช้งานทดสอบในตอนอบรม ในการใช้งาน Server จริง ไม่ต้องติดตั้งก็ได้ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 23. 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 24. 22 บทที่ 2 การใช้คำาสั่ง RPM และ YUM จัดการแพ็กเก็จ โปรแกรมบนลีนุกซ์ส่วนใหญ่จะเขียนด้วยภาษา C ในการติดตั้งต้องเอา source code ของโปรแกรมมาคอม ไพล์ ด้วย 3 คำาสั่งหลัก ./configure, make, make install ซึ่งเป็นเรื่องยาก และไม่สะดวกสำาหรับผู้ใช้งานทัวไป เพราะ ่ ฉะนั้นลีนุกซ์แต่ละค่าย ก็พยายามที่จะอำานวยความสะดวกในการติดตั้งโปรแกรมให้กับผู้ใช้งาน ก็จะมีวิธีการ และ เทคโนโลยีที่ต่างๆกันไป เช่น ลีนุกซ์ Debain ubuntu ใช้ apt-get, Red Hat ใช้ rpm (RPM Package Manager) การใช้งาน rpm รูปแบบของไฟล์ RPM name ชื่อ Package version เวอร์ชัน release ปรับปรุงครั้งที่ architecture i386, i586, athlon : Intel x86 Compatible Alpha : Digital Alpha/AXP ia64 : IA-64 (Itanium) s300: S/390, AMD64 noarch architecture-independency code ตัวอย่าง mysql-server-5.0.45-7.el5.i386.rpm ชื่อ package คือ mysql-server version คือ 5.0.45-7 release คือ el5 architecture คือ 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 25. 23 ตัวอย่างการติดตั้งและลบแพ็กเก็จ rpm Query รูปแบบ rpm -q what_package what_information • -q query • -f ชื่อไฟล์ • -p ชื่อไฟล์แพ็กเก็จนามสกุล .rpm • -i ข้อมูลทั่วไป • -l แสดงชื่อไฟล์ที่เป็นส่วนประกอบของเพ็กเก็จ ตัวอย่างการใช้คำาสั่ง rpm query rpm -qa มี Package อะไรติดตั้งอยู่บ้าง CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 26. 24 ดูข้อมูลของ Package (rpm -qi mysql-server) ดูว่ามีไฟล์อะไรอยู่บ้างใน Package mysql-server (rpm -ql mysql-server) ไฟล์นี้อยู่ใน Package อะไร (rpm -qf /usr/bin/mysql) CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 27. 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 28. 26 ข้อมูลทัวไปของ YUM ่ Yellow 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 = dpkg yum = apt-get, aptitude CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 29. 27 การใช้งาน yum แสดงแพ็กเก็จทั้งหมดทั้งที่ติดตั้งไปแล้ว และยังไม่ติดตั้ง ดูรายละเอียดของแพ็กเก็จ yum info CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 30. 28 ค้นหาแพ็กเก็จ ดูแพ็กเก็จที่ขึ้นต่อกัน yum deplist CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 31. 29 ติดตั้งแพ็กเก็จ yum install CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 32. 30 ลบแพ็กเก็จ yum remove ตรวจสอบเวอร์ชันใหม่ yum check update CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 33. 31 อัพเดททุกแพ็กเก็จที่มีการอัพเดท yum update โปรแกรมจะตรวจเชคแพ็กเก็จทั้งหมดที่มีการอัพเดท และรายงานให้เราทราบจำานวน และขนาดไฟล์ที่ต้อง ดาวน์โหลดหากต้องการอัพเดททั้งหมดก็ตอบ y หากต้องการอัพเดทเฉพาะแพ็กเก็จที่ต้องการก็สามารถใช้คำาสั่ง yum update ตามด้วยชื่อแพ็กเก็จที่ต้องการ เช่น # yum update xterm หมายเหตุ ยังมีคำาสั่ง yum อื่นๆอีก โปรดศึกษาเพิ่มเติม CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 34. 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 ได้แล้วครับ คำาสั่งที่เกี่ยวข้องในบทนี้ rpm yum ลิงค์อ้างอิง : http://www.thaiadmin.org/board/index.php?topic=41613.0 http://en.wikipedia.org/wiki/Yellow_dog_Updater,_Modified CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 35. 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 36. 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 ประวัติความเป็นมาของ BIND BIND (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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 37. 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.conf 3. สร้างไฟล์ที่จะเปลี่ยนชื่อเป็น IP Address ใน /var/named 4. สร้างไฟล์เปลี่ยน IP Address เป็นชื่อ /var/named 5. start หรือ restart service named 6. แก้ไฟล์ /etc/resolv.conf และรีสตาร์ท network 7. ใช้ เครื่องมือในการทดสอบ ความต้องการ เซิร์ฟเวอร์ IP 192.168.01 ชื่อโดเมน companyname.com เวบไซต์ http://www.companyname.com CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 38. 36 แก้ไขไฟล์ /etc/named.conf CentOS 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     ; serial 1H      ; refresh 1M      ; retry 1W      ; expiry 1D )    ; minimum @                    IN NS                ns1.companyname.com. @                    IN A                 192.168.0.1 ns1                  IN A                 192.168.0.1 @                    IN MX   10           mail.companyname.com. mail                 IN A                 192.168.0.1 www                  IN A                 192.168.0.1 CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 39. 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     ; serial 1H      ; refresh 1M      ; retry 1W      ; expiry 1D)     ; minimum @                IN NS           ns1.companyname.com. 1                IN PTR          www.companyname.com. รีสตาร์ท named รีสตาร์ท named ด้วยคำาสั่ง # /etc/init.d/named restart หรือ service named restart DNS Client DNS Client ในที่นี้เป็นเครื่องเซิร์ฟเวอร์ที่เรากำาลังคอนฟิกอยู่ก็ได้ หรือเป็นเครื่องอื่น บนลีนุกซ์การที่จะเป็น DNS Client ได้ ต้องแก้ไขไฟล์ /etc/resolv.conf โดยเพิ่มบรรทัด nameserver 192.168.0.1 แล้วรีสตาร์ทเน็ตเวิร์ก ด้วยคำาสั่ง # /etc/init.d/network restart หลังจากนั้นจึงจะตรวจสอบการทำางานของเซิร์ฟเวอร์ได้ ว่าทำางานถูกต้อง ตามที่เราต้องการหรือเปล่า เครื่องมือในการตรวจสอบ เครื่องมือในการตรวจสอบว่าสิ่งที่เราได้ทำาไปถูกต้อง ได้ตามที่ต้องการหรือไม่ โดยการใช้คำาสั่ง dig, nslookup และ host CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 40. 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.com Server: 192.168.0.1 Address: 192.168.0.1#53 Name: companyname.com Address: 192.168.0.1 #  # host www.companyname.com www.companyname.com has address 192.168.0.1 CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 41. 39 อธิบายความหมายของคำาต่างๆ TTL เป็นระยะเวลาการมีชีวิต(Time to Live) ของข้อมูล @ เป็นชื่อของโดเมน เช่น companyname.com ที่ลีนุกซ์ใช้อ้างอิงจากไฟล์ /etc/named.conf IN คือ อินเทอร์เน็ต Serial เป็นหมายเลขที่ใช้แสดงการอัพเดทข้อมูลระหว่าง Primary Master และ Secondary Master ถ้าเมื่อใดที่ค่านี้ของ Primary Master มีค่ามากกว่า Secondary Master ก็จะทำาการอัพเดทข้อมูล DNS ของ Primary ไปสู่ Secondary เพื่อให้ข้อมูลทั้งสองเหมือนกันเสมอ Refresh ระยะเวลาที่ใช้ในการรีเฟรชข้อมูล Retry ระยะเวลาที่ใช้ในการตรวจสอบข้อมูลกับ Primary Expire ระยะเวลาการหมดอายุของข้อมูล กรณีที่ไม่สามารถติดต่อเพื่อขอข้อมูล (refresh) กับ Primary ได้ SOA Start of authority NS เป็น Name Server ของโดเมน โดยจะกำาหนดไว้หลัง record SOA A เป็น Address record คือจะแมบชื่อโฮสเป็น IP Address CNAME เป็น Canonical name ใช้กำาหนดชื่อเสมือน (Alias name) ให้เป็นชื่อโฮสจริง MX เป็นชื่อเครื่อง Mail server exchange ที่ทำาหน้าที่รับส่งเมล์ในระบบ PTR เป็น Pointer Record ใช้ในการแมบ IP Address เป็นชื่อโฮส อ้างอิงคำาอธิบาย คัมภีร์ Linux RedHat เล่ม 1 อ.บัณฑิต จามรภูติ หน้า 262-263 หมายเหตุ สำาหรับเรื่อง DNS นีผู้เขียนไม่ได้มความชำานาญ เอามานำาเสนอเพื่อใช้งานในองค์กรเพื่อเป็นอินทราเน็ต ้ ี เท่านั้น ข้อมูลที่นำาเสนออาจไม่ถูกต้อง ไม่เหมาะที่จะนำาไปใช้บนอินเทอร์เน็ต หากต้องการนำาไปใช้ควรศึกษาเพิมเติม ่ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 42. 40 บทที่ 4 ติดตั้ง อัพเกรด และใช้งาน MySQL MySQL (มายเอสคิวแอล) เป็นระบบจัดการฐานข้อมูลโดยใช้ภาษา 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 43. 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 stop 3) ลบ MySQL เวอร์ชนที่ติดมากับ CentOS 6 โดยใช้คำาสั่ง yum remove mysql-server ั 4) ไฟล์ที่มีให้ดาวน์โหลดจาก 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 44. 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 start Starting MySQL: [  OK  ] CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 45. 43 ตั้งรหัสผ่านให้กับ user root ทีจะเข้าใช้งานฐานข้อมูล ่ เพื่อการรักษาความปลอดภัยของการเข้าถึงฐานข้อมูล มีความจำาเป็นจะต้องตั้งรหัสผ่านให้กับ user root ซึ่ง เป็น user ที่จะติดต่อฐานข้อมูล โดยการใช้คำาสั่ง mysqladmin -u root password mypassword โดยที่ mypassword คือ รหัสผ่าน ต่อไปนี้การติดต่อฐานข้อมูลจะใช้ user root และรหัสผ่าน คือ mypassword # mysqladmin ­u root password mypassword  # mysql ­u root  ­p Enter password:  Welcome to the MySQL monitor.  Commands end with ; or g. Your MySQL connection id is 3 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>  ออกจากการใช้งาน MySQL mysql> q  Bye  # หรือ mysql> exit  Bye  # การใช้งาน user และ password ของ mysql แบบแรก ให้ mysql ถามรหัสผ่าน CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 46. 44 # mysql ­u root  ­p Enter password:  Welcome to the MySQL monitor.  Commands end with ; or g. Your MySQL connection id is 6 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> แบบที่ 2 ใส่รหัสผ่านต่อจากออปชัน -p # mysql ­u root ­pmypassword  Welcome to the MySQL monitor.  Commands end with ; or g. Your MySQL connection id is 6 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>  ถ้าใส่รหัสผ่านผิดก็จะมีข้อความเตือน # mysql ­u root ­p  Enter password:  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using  password: YES)  #  การสร้างฐานข้อมูล MySQL สร้างฐานข้อมูลใหม่และดูชื่อฐานข้อมูล CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 47. 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 ­p Enter password: Backup ฐานข้อมูลด้วยคำาสั่ง dump # mysqldump dbname > /root/file_backup.sql ­u root ­p Enter password: การเปลี่ยน password ของ user root ที่ใช้งานฐานข้อมูล MySQL การเปลี่ยนรหัสผ่าน user root ของ MySQL แบบนี้ ท่านต้องจำารหัสผ่านเดิมได้ โดยการใช้คำาสั่งเหล่านี้ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 48. 46 # mysql ­u root ­p  Enter password:  Welcome to the MySQL monitor.  Commands end with ; or g. Your MySQL connection id is 6 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>  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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 49. 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 6 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>  วิธีแก้ปัญหาเมื่อลืมรหัสผ่านของ root ใน MySQL มีความเป็นไปได้มากกับการลืมรหัสผ่านของ user root ของ MySQL ไม่ต้องตกใจครับมีวธีการแก้ปัญหา ิ ดังคำาสั่งดังต่อไปนี้ # /etc/init.d/mysqld stop # /usr/bin/mysqld_safe ­­user=root ­­skip­grant­tables & # mysql Welcome 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 50. 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 51. 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 52. 50 ทดสอบการทำางานของ Web Server และ PHP ทดสอบการทำา งานของเวบเซิร์ฟเวอร์ว่าทำา งานหรือไม่ ให้เปิดโปรแกรม Browser ขึ้นมาแล้วเรียก URL http://www.companyname.com หรือ http://localhost ถ้ า เปิ ด หน้ า Default Page ขึ้ น มาได้ ก็ แสดงว่ า Web Server ทำางานแล้ว ภาพแสดงหน้า Default ของ http://www.companyname.com ทดสอบการทำางานของ PHP สร้างไฟล์ phpinfo.php โดยมีเนื้อความข้างในไฟล์ <?php phpinfo(); ?> แล้วนำาไฟล์ phpinfo.php ไปไว้ที่ /var/www/html แล้วใช้ Browser เรียก URL http://www.companyname.com/phpinfo.php แสดงรายละเอียดของ PHP CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 53. 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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 54. 52 บทที่ 6 การติดตั้ง phpMyAdmin phpMyAdmin เป็นโปรแกรมฟรีที่เขียนด้วยภาษา 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.php phpMyAdmin­3.4.10.1­all­languages/schema_edit.php phpMyAdmin­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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 55. 53 เรียกใช้งาน http://www.companyname.com/phpMyAdmin phpMyAdmin พร้อมใช้งาน CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 56. 54 บทที่ 7 Postfix Mail Server ก่อนที่จะลงมือติดตั้ง Postfix มาทำาความเข้าใจคำาศัพท์ต่างๆ ที่เกี่ยวข้องกับเรื่อง mail ก่อนนะครับ SMTP(Simple Mail Transfer Protocol) เป็นโปรโตคอล ของ TCP/IP ใช้ในการส่งและรับ E-mail ในเครือข่ายอินเทอร์เน็ต ไปยังเครื่องบริการอื่น ๆ ซี่งสามารถส่งเมล์ไปยังผู้ใช้ได้ทั่วโลก และมีโปรโตคอลที่ ใช้รับส่งชัดเจน MTA (Mail Transport Agent) คือโปรแกรมคอมพิวเตอร์ที่ทำาหน้าที่รับส่ง mail POP3 (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 sendmail 2) ติดตั้ง Postfix โดยใช้คำาสั่ง yum install posfix 3) ใช้คำาสั่ง 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 = all home_mailbox = Maildir/ # เพื่อใช้งานกับ roundcubemail CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 57. 55 ส่วนค่าอื่นๆ ปล่อยให้เป็นค่าปกติ ถ้าใครจะทำาเป็น mail server ที่ใช้งานจริงบนอินเทอร์เน็ตต้องศึกษาให้ มากยิ่งกว่านี้ครับ 5) เมื่อแก้คอนฟิกเสร็จแล้ว service postfix start 6) เพิ่ม 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 rsothorn@companyname.com Subject: Test Test EOT 8) ดูผลการทำางานจาก Log ด้วยคำาสั่ง tail -f /var/log/maillog Mar 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=<20120316022824.4B5981A0046@companyname.com> Mar 16 09:28:24 myhostname postfix/qmgr[1629]: 4B5981A0046: from=<sothorn@companyname.com>,  size=440, nrcpt=1 (queue active) Mar 16 09:28:24 myhostname postfix/local[3063]: 4B5981A0046: to=<rsothorn@companyname.com>,  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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 58. 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 pop3 mail_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.gz roundcubemail­0.7.2/ roundcubemail­0.7.2/.htaccess roundcubemail­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 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 60. 58 กดปุ่ม START INSTALLATION ระบบจะรายงานว่าพร้อมที่จะติดตั้งหรือไม่ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 61. 59 กรอกรหัสผ่านของฐานข้อมูล กรอกค่า IMAP host CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 62. 60 SMTP Setting ปล่อยว่างเอาไว้ ตั้งค่าภาษาเป็นภาษาไทย th_TH CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 63. 61 กดปุ่ม CREATE CONFIG แล้วดาวน์โหลด main.inc.php ไปไว้ที่ /var/www/html/roundcubemail/config CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 64. 62 ดาวน์โหลด db.inc.php ไปไว้ที่ /var/www/html/roundcubemail/config หลังจากนั้นเรียก http://www.companyname.com/roundcubemail แล้ว Login ด้วย user ที่สร้างไว้ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 65. 63 ถ้า Login ได้สำาเร็จก็จะเจอหน้านี้ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com