Cent os6
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Cent os6

on

  • 1,378 views

 

Statistics

Views

Total Views
1,378
Views on SlideShare
1,378
Embed Views
0

Actions

Likes
0
Downloads
31
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Cent os6 Document Transcript

  • 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 Space4GB of RAM or less a minimum of 2GB of swap space4GB to 16GB of RAM a minimum of 4GB of swap space16GB to 64GB of RAM a minimum of 8GB of swap space64GB to 256GB of RAM a minimum of 16GB of swap space256GB 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 existingsystem เลือก 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 SystemServer เลือก ดังภาพ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 19. 17 Web Service เลือกดังภาพPHP Support ให้กด Optional packages เพื่อเลือก package ย่อย เลือก php-mysql CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 20. 18Desktops เลือกดังภาพ Desktops(ต่อ) CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 21. 19ApplicationsDevelopmentCentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 22. 20Languages เลือกภาษา 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.1ns2.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 atBerkeley เป็นโปเจคของนักศึกษาปริญญาตรี ภายใต้การสนับสนุนโดย US Defense Advanced Research ProjectsAdministration (DARPA) โปรแกรม BIND ตั้งแต่ เ ริ่ ม พั ฒ นาจนถึ ง เวอร์ ชั น 4.8.3 ได้ รั บ การดู แ ลจาก ComputerSystems 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     ; serial1H      ; refresh1M      ; retry1W      ; expiry1D )    ; minimum@                    IN NS                ns1.companyname.com.@                    IN A                 192.168.0.1ns1                  IN A                 192.168.0.1@                    IN MX   10           mail.companyname.com.mail                 IN A                 192.168.0.1www                  IN A                 192.168.0.1 CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ 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     ; serial1H      ; refresh1M      ; retry1W      ; expiry1D)     ; minimum@                IN NS           ns1.companyname.com.1                IN PTR          www.companyname.com.รีสตาร์ท named รีสตาร์ท named ด้วยคำาสั่ง # /etc/init.d/named restart หรือ service named restartDNS 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.comServer: 192.168.0.1Address: 192.168.0.1#53Name: companyname.comAddress: 192.168.0.1# # host www.companyname.comwww.companyname.com has address 192.168.0.1 CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 41. 39อธิบายความหมายของคำาต่างๆTTL เป็นระยะเวลาการมีชีวิต(Time to Live) ของข้อมูล@ เป็นชื่อของโดเมน เช่น companyname.com ที่ลีนุกซ์ใช้อ้างอิงจากไฟล์ /etc/named.confIN คือ อินเทอร์เน็ตSerial เป็นหมายเลขที่ใช้แสดงการอัพเดทข้อมูลระหว่าง Primary Master และ Secondary Master ถ้าเมื่อใดที่ค่านี้ของ Primary Master มีค่ามากกว่า Secondary Master ก็จะทำาการอัพเดทข้อมูล DNS ของ Primary ไปสู่ Secondary เพื่อให้ข้อมูลทั้งสองเหมือนกันเสมอRefresh ระยะเวลาที่ใช้ในการรีเฟรชข้อมูลRetry ระยะเวลาที่ใช้ในการตรวจสอบข้อมูลกับ PrimaryExpire ระยะเวลาการหมดอายุของข้อมูล กรณีที่ไม่สามารถติดต่อเพื่อขอข้อมูล (refresh) กับ Primary ได้SOA Start of authorityNS เป็น Name Server ของโดเมน โดยจะกำาหนดไว้หลัง record SOAA เป็น Address record คือจะแมบชื่อโฮสเป็น IP AddressCNAME เป็น Canonical name ใช้กำาหนดชื่อเสมือน (Alias name) ให้เป็นชื่อโฮสจริงMX เป็นชื่อเครื่อง Mail server exchange ที่ทำาหน้าที่รับส่งเมล์ในระบบPTR เป็น Pointer Record ใช้ในการแมบ IP Address เป็นชื่อโฮส อ้างอิงคำาอธิบาย คัมภีร์ Linux RedHat เล่ม 1 อ.บัณฑิต จามรภูติ หน้า 262-263หมายเหตุ สำาหรับเรื่อง DNS นีผู้เขียนไม่ได้มความชำานาญ เอามานำาเสนอเพื่อใช้งานในองค์กรเพื่อเป็นอินทราเน็ต ้ ีเท่านั้น ข้อมูลที่นำาเสนออาจไม่ถูกต้อง ไม่เหมาะที่จะนำาไปใช้บนอินเทอร์เน็ต หากต้องการนำาไปใช้ควรศึกษาเพิมเติม ่ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ 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 startStarting 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  ­pEnter password: Welcome to the MySQL monitor.  Commands end with ; or g.Your MySQL connection id is 3Server version: 5.5.20­55 Percona Server (GPL), Release rel24.1, Revision 217Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type help; or h for help. Type c to clear the current input statement.mysql> ออกจากการใช้งาน MySQLmysql> q Bye #หรือmysql> exit Bye #การใช้งาน user และ password ของ mysql แบบแรก ให้ mysql ถามรหัสผ่าน CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 46. 44# mysql ­u root  ­pEnter password: Welcome to the MySQL monitor.  Commands end with ; or g.Your MySQL connection id is 6Server version: 5.5.20­55 Percona Server (GPL), Release rel24.1, Revision 217Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type help; or h for help. Type c to clear the current input statement.mysql> แบบที่ 2 ใส่รหัสผ่านต่อจากออปชัน -p# mysql ­u root ­pmypassword Welcome to the MySQL monitor.  Commands end with ; or g.Your MySQL connection id is 6Server version: 5.5.20­55 Percona Server (GPL), Release rel24.1, Revision 217Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type help; or h for help. Type c to clear the current input statement.mysql>  ถ้าใส่รหัสผ่านผิดก็จะมีข้อความเตือน# mysql ­u root ­p Enter password: ERROR 1045 (28000): Access denied for user root@localhost (using password: YES) # การสร้างฐานข้อมูล MySQL สร้างฐานข้อมูลใหม่และดูชื่อฐานข้อมูล CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ 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 ­pEnter password: Backup ฐานข้อมูลด้วยคำาสั่ง dump# mysqldump dbname > /root/file_backup.sql ­u root ­pEnter 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 6Server version: 5.5.20­55 Percona Server (GPL), Release rel24.1, Revision 217Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type help; or h for help. Type c to clear the current input statement.mysql> mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with ­A Database changed mysql> UPDATE mysql.user SET Password = PASSWORD(newpassword) WHERE User = root; Query OK, 0 rows affected (0.00 sec) Rows matched: 3  Changed: 0  Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> หรือmysql> SET PASSWORD FOR root@localhost = PASSWORD(newpassword‘); โดยที่ newpassword เป็นรหัสผ่านใหม่ที่ต้องการเปลี่ยน ถ้าต้องการเปลี่ยนรหัสผ่านของผู้ใช้งานคนอื่น ก็ให้where ที่ user นันๆ ้การอนุญาตให้ user ติดต่อฐานข้อมูลจากโฮสอื่น โดยปกติ MySQL จะไม่อนุญาตให้ user root ติดต่อเข้ามาใช้ฐานข้อมูลจากเครื่องอื่น ถ้าจะทำาก็ทำาได้แต่ไม่ควรทำา ทางที่ดีควรเพิ่ม user ใหม่เข้าไปและอนุญาตให้เฉพาะ user นันติดต่อฐานข้อมูลจากโฮสอื่นได้ ้mysql> GRANT ALL PRIVILEGES ON *.* TO new_user@"%" IDENTIFIED BY password_for_newuser WITH GRANT OPTION;mysql> FLUSH PRIVILEGES;mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)  CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ 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 6Server version: 5.5.20­55 Percona Server (GPL), Release rel24.1, Revision 217Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type help; or h for help. Type c to clear the current input statement.mysql> วิธีแก้ปัญหาเมื่อลืมรหัสผ่านของ root ใน MySQL มีความเป็นไปได้มากกับการลืมรหัสผ่านของ user root ของ MySQL ไม่ต้องตกใจครับมีวธีการแก้ปัญหา ิดังคำาสั่งดังต่อไปนี้# /etc/init.d/mysqld stop# /usr/bin/mysqld_safe ­­user=root ­­skip­grant­tables &# mysqlWelcome to the MySQL monitor.  Commands end with ; or g. Your MySQL connection id is 2 Server version: 5.0.45 Source distribution Type help; or h for help. Type c to clear the buffer. mysql> UPDATE mysql.user SET Password = PASSWORD(newpassword‘) WHERE User = root;mysql> FLUSH PRIVILEGES;mysq> q# mysqladmin shutdown# /etc/init.d/mysqld start จะเห็นว่าเราต้องหยุดการทำางานของ MySQL ก่อน แล้วจึงสั่งให้ MySQL ทำางานอีกครั้งหนึ่งโดยใช้ ออปชัน­­skip­grant­tables หลังจากนั้นก็สามารถเข้าใช้งาน MySQL ได้โดยไม่ต้องใส่รหัสผ่าน เมื่อเข้ามาได้แล้วก็ทำาการเปลี่ยนรหัสผ่านโดยใช้คำาสั่ง update CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ 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 ขึ้นมาแล้วเรียก URLhttp://www.companyname.com หรือ http://localhost ถ้ า เปิ ด หน้ า Default Page ขึ้ น มาได้ ก็ แสดงว่ า Web Serverทำางานแล้ว ภาพแสดงหน้า Default ของ http://www.companyname.comทดสอบการทำางานของ PHP สร้างไฟล์ phpinfo.php โดยมีเนื้อความข้างในไฟล์<?phpphpinfo();?> แล้วนำาไฟล์ phpinfo.php ไปไว้ที่ /var/www/html แล้วใช้ Browser เรียก URLhttp://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.phpphpMyAdmin­3.4.10.1­all­languages/schema_edit.phpphpMyAdmin­3.4.10.1­all­languages/server_databases.php…# mv phpMyAdmin­3.4.10.1­all­languages /var/www/html/phpMyAdminเข้าไปทำางานที่ไดเรกทอรี /var/www/html/phpMyAdmin# cd /var/www/html/phpMyAdmin# cp  config.sample.inc.php config.inc.phpแล้วแก้ไขไฟล์ config.inc.phpเปลี่ยน $cfg[Servers][$i][auth_type] = cookie;เป็น $cfg[Servers][$i][auth_type] = http; CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ 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.comSubject: TestTestEOT 8) ดูผลการทำางานจาก Log ด้วยคำาสั่ง tail -f /var/log/maillogMar 16 09:28:24 myhostname postfix/pickup[2908]: 4B5981A0046: uid=500 from=<sothorn>Mar 16 09:28:24 myhostname postfix/cleanup[3061]: 4B5981A0046: message­id=<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.confprotocols = imap pop3mail_location = maildir:~/Maildir# service dovecot restart ก่อนติดตั้ง roundcube ให้ติดตั้ง แพ็กเก็จเหล่านี้ก่อน ซึ่งจำาเป็นสำาหรับการติดตั้ง roundcube# yum install php­mbstring# yum install php­mcrypt# yum install php­intl# service httpd restart ดาวน์โหลด roundcube ได้ที่ http://roundcube.net/ ไฟล์ที่ดาวน์โหลดมาชื่อ roundcubemail-0.7.2.tar.gzแล้วขยายไฟล์# tar xvfz roundcubemail­0.7.2.tar.gzroundcubemail­0.7.2/roundcubemail­0.7.2/.htaccessroundcubemail­0.7.2/bin/...# mv roundcubemail­0.7.2 /var/www/html/roundcubemail สร้างฐานข้อมูลและนำาเข้าฐานข้อมูลตั้งต้นของ roundcubemail โดยการเข้าไปทำางานที่ไดเรกทอรี/var/www/html/roundcubemail# cd /var/www/html/roundcubemail CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 59. 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 ที่ Browserhttp://www.companyname.com/roundcube/installer/ก็จะได้ดังภาพ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 60. 58 กดปุ่ม START INSTALLATIONระบบจะรายงานว่าพร้อมที่จะติดตั้งหรือไม่ CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 61. 59กรอกรหัสผ่านของฐานข้อมูล กรอกค่า IMAP host CentOS 6 เพื่อใช้งานในองค์กร โดย โสทร รอดคงที่ sothorn@gmail.com
  • 62. 60SMTP 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