Cent OS-book

150
1 บทที่ 1 โครงสร้าง ฮาร์ดดิสก์และการเรียกชื่อฮาร์ดดิสก์ ฮาร์ดดิสก์ประกอบด้วย 1. MBR (Master Boot Record) 2. Primary Partition 3. Extended Partition 4. Logical Partition MBR MBR ย่อมาจากคำาว่า Master Boot Record ซึ่ง MBR จะอยู่ที่เซกเตอร์แรกสุดของฮาร์ดดิสก์ MBR จะ ประกอบด้วยสองส่วน คือ IPL (Initial Program Loader) ขนาด 446 byte เป็นพื้นที่ที่โปรแกรมบูทโหลดเดอร์ของ ลีนุกซ์จะไปติดตั้งอยู่ ใช้ในการบูทของลีนุกซ์ และ Partition table ขนาด 66 byte ดังรูปที่ 1-1 รูปที่ 1-1 รูปแสดงส่วนประกอบของ MBR การสร้างพารฺติชันให้กับฮาร์ดดิสก์ มี 3 แบบ คือ Primary, Extended และ Logical ในการสร้างพาร์ติชัน ฮาร์ดดิสก์ ถ้าเราสร้างทุกพาร์ติชันให้เป็น Primary ทั้งหมด จะสร้างได้เพียง 4 พาร์ติชันเท่านั้น ถ้าต้องการมากกว่า นั้นต้องใช้ 1 พาร์ติชันเป็น Extended แล้ว แบ่งย่อย Extended เป็น Logical ตัวอย่างดังภาพ ที่ 1-2 และ 1-3 ตัวอย่างการแบ่งพาร์ติชัน ` รูปที่ 1-2 ตัวอย่างการแบ่ง Partition แบบที่ 1 ใช้พาร์ติชันที่ 4 เป็น Extended รูปที่ 1-3 ตัวอย่างการแบ่ง Partition แบบ ที่ 2 ใช้พาร์ติชันที่ 2 เป็น Extended ลีนุกซ์เคอร์เนลมีข้อจำากัดในการจัดการพาร์ติชันที่เป็นฮาร์ดดิสก์ IDE ได้ 63 พาร์ติชัน ฮาร์ดดิสก์ SCSI จะ ได้ 15 พาร์ติชัน พาร์ติชันแรกของ Logical partition จะเป็น Partition ที่ 5 เสมอ การติดตั้ง และใช้งาน CentOS ลีนุกซ์เซิร์ฟเวอร์ โดย โสทร รอดคงที่ http://linux.sothorn.org Initial Program Loader (IPL) 466 Byte Partition table 66 Byte

description

Credit by .... โสทร รอดคงที่ http://linux.sothorn.org

Transcript of Cent OS-book

Page 1: Cent OS-book

1

บทท 1 โครงสราง ฮารดดสกและการเรยกชอฮารดดสก

ฮารดดสกประกอบดวย1. MBR (Master Boot Record)2. Primary Partition3. Extended Partition4. Logical Partition

MBRMBR ยอมาจากคำาวา Master Boot Record ซง MBR จะอยทเซกเตอรแรกสดของฮารดดสก MBR จะ

ประกอบดวยสองสวน คอ IPL (Initial Program Loader) ขนาด 446 byte เปนพนททโปรแกรมบทโหลดเดอรของลนกซจะไปตดตงอย ใชในการบทของลนกซ และ Partition table ขนาด 66 byte ดงรปท 1-1

รปท 1-1 รปแสดงสวนประกอบของ MBR

การสรางพารตชนใหกบฮารดดสก ม 3 แบบ คอ Primary, Extended และ Logical ในการสรางพารตชนฮารดดสก ถาเราสรางทกพารตชนใหเปน Primary ทงหมด จะสรางไดเพยง 4 พารตชนเทานน ถาตองการมากกวานนตองใช 1 พารตชนเปน Extended แลว แบงยอย Extended เปน Logical ตวอยางดงภาพ ท 1-2 และ 1-3

ตวอยางการแบงพารตชน `

รปท 1-2 ตวอยางการแบง Partition แบบท 1 ใชพารตชนท 4 เปน Extended

รปท 1-3 ตวอยางการแบง Partition แบบ ท 2 ใชพารตชนท 2 เปน Extended ลนกซเคอรเนลมขอจำากดในการจดการพารตชนทเปนฮารดดสก IDE ได 63 พารตชน ฮารดดสก SCSI จะ

ได 15 พารตชน พารตชนแรกของ Logical partition จะเปน Partition ท 5 เสมอ

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Initial Program Loader (IPL) 466 Byte

Partition table66 Byte

Page 2: Cent OS-book

2

การเรยกชอฮารดดสกฮารดดสก IDE มการเชอมตอกบสาย IDE ตรงตำาแหนงตางๆ จะมชอเรยกดงนPrimary Master เรยกวา /dev/hda Primary Slave เรยกวา /dev/hdbSecondary Master เรยกวา /dev/hdcSecondary Slave เรยกวา /dev/hddลำาดบทของ พารตชนของฮารดดสกลำาดบทเทาไหรกจะเรยก /dev/hda1, /dev/hda2 ..., /dev/hdb1,

/dev/hdb2..., /dev/hdc1, /dev/hdc2...

ฮารดดสก SCSI จะเรยกชอตาม SCSI IDSCSI ID 0 เรยกวา /dev/sdaSCSI ID 1 เรยกวา /dev/sdbSCSI ID 2 เรยกวา /dev/sdcSCSI ID 3 เรยกวา /dev/sddSCSI ID.. เรยกวา /dev/sd...เรอยๆไปตามจำานวนฮารดดสกทสามารถใสไดของ SCSI ลำาดบทของพารตชนกเชนเดยวกนกบฮารดดสกแบบ IDE เชน /dev/sda1, /dev/sda2..., /dev/sdb1,

/dev/sdb2..., /dev/sdc1, /dev/sdc2... สวน ฮารดดสก SATA กจะเรยกชอ partition เหมอนกบฮารดดสก SCSIเมอเรารจกการเรยกชอฮารดดสกแลวเรากพรอมทจะตดตงลนกซแลว

รปท 1-4 แสดงฮารดดสก แบบ IDE , SCSI และ SATA ตามลำาดบ

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 3: Cent OS-book

3

บทท 2หลกการตดตงลนกซ

ตดตงลนกซไดอยางไรบางวธการตดตงลนกซทกคายคอการตดตงดวยแผน CD หรอ DVD สำาหรบการตดตงวธการอนกสามารถทำาได

ลนกซ ตระกล Red Hat หรอ CentOS มวธการตดตงดงน1. CD / DVD เปนวธทงาย และสะดวก ไดรบความนยมมากทสด2. NFS เปนการตดตงผาน NFS Network file system ซงเปนการแชรไฟลของลนกซ วธนเหมาะสำาหรบการ

ตดตงเพอการอบรมลนกซ สามารถตดตงไดพรอมกนหลายๆ เครอง จะเรวกวาตดตงจาก CD เนองจากไมตองคอยเปลยนแผน

3. HTTP ตดตงผานเวบเซรฟเวอร4. FTP ตดตงผาน FTP เซรฟเวอร5. Hard Disk ตดตงผานฮารดดสกอกลก หรออกพารตชนหนง6. Kickstart ตดตงโดยใชไฟล kickstart เหมาะสำาหรบการตดตงลนกซพรอมกนจำานวนมาก โดยทเครอง

สเปคเดยวกน และตดตงเหมอนกนหมดไมวาจะเปนขนาดพารตชนหรอจำานวนแพกเกจ

หลกการตดตงลนกซการตดตงลนกซ มสวนสำาคญตรงขนตอนแบงพารตชน เพราะเราตองรวาเราจะตดตงลนกซ เพอใชงาน

อะไร ในการตดตงลนกซพารตชนทจำาเปนไดแก / (รทไดเรกทอร), /boot, swap หรอ / กบ swap แตในการนำาลนกซเซรฟเวอร ไปใชงานจรงนนการแบงพารตชนเพยงเทาน ไมสะดวกในการนำาไปใชงาน จะตองมการแบงพารตชน อนๆ ออกมาดวย เชน

ตองการทำา mail เซรฟเวอร/boot พนทเกบ Kernel และไฟลทเกยวของกบการบท/ พนทเกบไฟลซสเตม/home พนทใชงานของ user/var/mail พนทเกบ mail/tmp พนทเกบไฟลชวคราวswap พนททใชเปนหนวยความจำาสำารอง เวลา RAM ไมพอ

ตองการทำา MySQL เซรฟเวอร/boot พนทเกบ Kernel และไฟลทเกยวของกบการบท/ พนทเกบไฟลซสเตม/var/lib/mysql พนทเกบขอมลของ MySQL/backup พนทไวเกบไฟลสำารองตางๆ/tmp พนทเกบไฟลชวคราวswap พนททใชเปนหนวยความจำาสำารอง เวลา RAM ไมพอ

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 4: Cent OS-book

4

ขนาดพารตชน/boot 100 MB/ 3-5 GB/tmp 256 MBswap 2 เทาของ RAM แตไมเกน 2 GB อนนเปนหลกการทวไป สำาหรบ Red Hat Enterprise และ

CentOS มหลกการคำานวณอยวา ถา RAM ไมเกน 2 GB ใหคณ 2 ถา RAM มากกวา 2 GB ใหบวก 2 เชน ม RAM 2 GB กใหสราง swap 4 GB ม RAM 3 GB ใหสราง swap 5 GB

สวนพารตชนอนๆ แบงตามขนาดของฮารดดสก และความตองการใชงานพารตชน /tmp เปนพารตชนทแยกออกมาเพอความปลอดภยของเซรฟเวอรถาพารตชน / ขอมลเตม

กจะไมมผลกระทบกบระบบ

พารตชนทแยกออกมาไดและไมไดจาก / ของการตดตงลนกซพารตชนทไมสามารถแยกออกจาก / (รทไดเรกทอร) หรอแยกจากไฟลซสเตมได คอ /etc, /lib, /bin, /sbin,

/devพารตชนทสามารถแยกออกมาได /tmp, /usr, /usr/local, /home, /var, /opt

ทำาไมตองแยกหรอแบงพารตชนออกมาเพอความยดหยนในการใชงาน สามารถแกปญหาไดงายเมอฮารดดสกเตม สามารถทำาโควตาได ถาเราไม

แบง พารตชนแยกออกมาจะไมสามารถทำาโควตาได นอกจากนนยงสะดวกในการสำารองขอมล

พารตชน /bootพารตชน /boot ตองเปนพารตชนแรกของฮารดดสก

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 5: Cent OS-book

5

บทท 3ตวอยางการตดตง CentOS 5.2

การตดตง CentOS สามารถตดตงไดหลายวธไมวาจะเปน การตดตงผาน NFS FTP WWW หรอตดตงผานฮารดดสก แตวธทนยมกนกตดตงดวย CD หรอ DVD ตวอยางการตดตงตอไปนเปนการตดตงดวย DVD ในสวนของวธการพารตชนนนเปนแคตวอยาง หลกการพารตชนใหดในคมอบทท 1

การตดตง CentOS

บทจากแผนตดตง CentOS CD แผนแรก หรอ DVD

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 6: Cent OS-book

6

ถากด F2 กจะม Options ตางๆ แสดงขนมา ถาไมใช Options ใดๆ กสามารถกด Enter ไดเลย

ระบบตดตงจะทดสอบ CD หรอ DVD ทใชตดตง ถาตอบ OK จะใชเวลานานมาก ใหตอบ Skip

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 7: Cent OS-book

7

กด Next

เลอกภาษาทใชระหวางตดตงเลอกภาษาองกฤษไมมภาษาไทย

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 8: Cent OS-book

8

เลอกคยบอรดภาษาองกฤษ ไมมภาษาไทยเชนกน

มคำาเตอนวาไมสามารถอานพารตชนของฮารดดสกได เพราะเปนฮารดดสกทยงไมไดพารตชน ตอบ Yes

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 9: Cent OS-book

9

ในการพารตชนฮารดดสก แนะนำาใหใช Create custom layout เพอกำาหนดพารตชนเอง

กดปม New เพอสรางพารตชนใหม

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 10: Cent OS-book

10

เลอก Mount Point เปน /boot File System Type เปน ext3 Size 100 MB ตอบ OK

กจะไดพารตชนใหมมาหนงพารตชน

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 11: Cent OS-book

11

กดปม New เพอสรางพารตชน / Mount Point เปน / File System Type เปน ext3 ขนาด 9 GB

จะไดพารตชน /

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 12: Cent OS-book

12

กดปม New เพอเพมพารตชน swap เลอก File System Type เปน swap ขนาด 2000 MB ถาตองการให swap พารตชน เปน Primary กใหเลอก Force to be a primary partition

จะไดพารตชน swap

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 13: Cent OS-book

13

กดปม New เพอเพมพารตชน /home Mount Point เปน /home File System Type เปน ext3 ขนาด 10000 MB

จะไดพารตชน /home

กดปม New เพอสรางพารตชน /tmp Mount Point เปน /tmp File System Type เปน ext3

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 14: Cent OS-book

14

ขนาด 256 MB

จะไดพารตชน /tmp

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 15: Cent OS-book

15

กดปม New เพอสราง พารตชน /var/lib/mysql Mount Point พมพเอง เปน /var/lib/mysqlFile System Type เปน ext3 แลวเลอก Fill to maximum allowable size เพอใชพนททเหลอทงหมด

จะไดพารตชน /var/lib/mysql คราวนกไดพารตชนครบตามทตองการแลว กด Next

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 16: Cent OS-book

16

การตดตง GRUB ใชคาปกตทมมา กด Next

ตงคาเนตเวรก กดปม edit ถาไมรบ IP จาก DHCP เซรฟเวอร

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 17: Cent OS-book

17

ระบ IP และ Netmask ตามตองการ

ระบชอเครองใหครบทงโฮสและโดเมน เชน server1.example.com, mysqlserver.hospitalname.com

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 18: Cent OS-book

18

ถาไมตองการใหเซรฟเวอรใชงานอนเทอรเนตกไมตองระบคา Gateway และ DNS จะมขอความเตอนกดปม Continue

กดปม Continue

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 19: Cent OS-book

19

เลอกประเทศในแผนท เพอระบ Time Zone

ระบรหสผานสำาหรบ root

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 20: Cent OS-book

20

เลอกแพกเกจทจะตดตง เพอใหการเลอกแพกเกจตรงความตองการของเรามากทสดใหเลอก Customize now แลวจงกดปม Next

เลอกแพกเกจตามตองการ

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 21: Cent OS-book

21

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

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 22: Cent OS-book

22

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

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 23: Cent OS-book

23

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

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 24: Cent OS-book

24

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

เมอเลอกแพกเกจไดตามตองการแลวใหกดปม Next

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 25: Cent OS-book

25

ระบบการตดตงจะเรม format พารตชนตางๆ

แลวการตดตงกจะเรมขน แลวกรอจนกวาจะตดตงเสรจ

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 26: Cent OS-book

26

เรมตดตงระบบ และแพกเกจทไดเลอกไป

เมอตดตงเสรจระบบตดตงตองการรบท กด Reboot

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 27: Cent OS-book

27

เมอบทขนมาใหมกจะพบกบ First Boot กดปม Forward

ให Disable Firewall ไปกอนคอยมาจดการทหลง

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 28: Cent OS-book

28

หาก Disable Firewall จะมขอความเตอน ตอบ Yes

Disable SELinux

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 29: Cent OS-book

29

มขอความเตอนเชนกน ตอบ Yes

ระบบจะใหเราสรางผใชงานคนใหม ถาไมสรางกได กด Forward

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 30: Cent OS-book

30

ไมสรางผใชใหมกจะมขอความเตอน กด Continue

Additional CDs ถาไมม CD นกกด Finish เสรจสนการตดตง CentOS 5.2

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 31: Cent OS-book

31

บทท 4กระบวนการบทของลนกซ

รปท 4-1 รปแสดงกระบวนการบทของลนกซ

หลงจากทเราตดตงลนกซเสรจ บทเครองใหม หรอเปดสวทช หลงจากทเครองคอมพวเตอรตรวจสอบตวเองแลวคนหาอปกรณทใชบท ถาตรวจเจออปกรณทใชบทเปนฮารดดสกกจะไปทำางานตอท MBR ซง GRUB ฝงตวอยในสวน IPL ของ MBR มาทำาความเขาใจเกยวกบโปรแกรม Boot Loader ทชอ GRUB กนกอนครบ

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 32: Cent OS-book

32

GRUB (Grand Unified Bootloader)GRUB เปนโปรแกรมทจดการเกยวการบทของลนกซ ในลนกซรนเกาจะใช โปรแกรม LILO ซงมขอจำากด

และขอดอยกวา GRUB ปจจบนทงลนกซทกคายรวมถง Solaris กหนมาใช GRUB เปนบทโหลดเดอรกนทงนน

ขอเดนของ GRUB• สามารถใชคำาสงแบบ Command-line ได• ใชไดกบไฟลซสเตมเหลาน ext2/ext3, ReiserFS, JFS, FAT, minix, FFS • มระบบปองกนดวยรหสผานทเขารหสแบบ MD5• เปลยนคาใน grub.conf มผลทนท• ถา MBR ใน /dev/hda ถกทำาลาย ตดตงใหมได /sbin/grub-install /dev/hda

ตวอยาง ไฟล /boot/grub/grub.conf GRUB version ใหม ไฟล config จะเปลยนเปน /boot/grub/menu.lst

เราสามารถเปลยนคาตางๆ ในไฟล config นdefault=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu 

#ชดคำาสง หรอ เมนท 0title CentOS (2.6.18­92.el5)         root (hd0,0)         kernel /vmlinuz­2.6.18­92.el5 ro root=LABEL=/ rhgb quiet         initrd /initrd­2.6.18­92.el5.img 

#ชดคำาสง หรอ เมนท 1title Windowsrootnoverify (hd0,0)chainloader +1  

ถา default=0 บทเขา ลนกซ ถา default=1 บทเขา Windowstimeout=5 แสดงหนาจอเมนบทอย 5 วนาท แลวจงบทเขา defaulthiddenmenu ไมแสดงเมน

หลงจากทผานโปรแกรม Boot loader โปรแกรม Boot loader กจะสงการทำางานตอมาท partition /boot ซงในพารตชนนจะเกบ kernel ในลกษณะของไฟลบบอด kernel จะขยายตวมนเอง ตรวจสอบฮารดแวรและตดตงไดรเวอร หลงจากนนจะเมาท root file system แบบ read only แลวจงเขาสขนตอน init

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 33: Cent OS-book

33

กระบวนการ initในกระบวนการบท ขนตอนการ init คอการรนคำาสง /sbin/init นนเอง เรมจากอานขอมลจากไฟล

/etc/inittab แลวไปทำางานตอท /etc/rc.d/rc.sysinit

ไฟล /etc/inittabในไฟล /etc/inittab จะมรายละเอยดบางสวนทจะตองมาทำาความเขาใจกนดงน Red Hat ลนกซจะม runlevel

อย 6 runlevel ใชงานอยจรงๆ 5 runlevel ตามรายละเอยดดานลางน 1234

56789101112131415161717192021

# Default runlevel. The runlevels used by RHS are: #   0 ­ halt (Do NOT set initdefault to this) #   1 ­ Single user mode #   2 ­ Multiuser, without NFS (The same as 3, if you do not 

have 13 networking) #   3 ­ Full multiuser mode #   4 ­ unused #   5 ­ X11 #   6 ­ reboot (Do NOT set initdefault to this) #id:3:initdefault:

# System initialization.si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 ...

เลข 3 ในบรรทดท 10 เปนการบอกวา บทใหเขาส runlevel 3 เปนคาปกต ถาหากเราตองการใหเขา runlevel 5 โดยใหบทเขากราฟกโหมด หรอ X11 กทำาไดโดยการเปลยน เลข 3 เปนเลข 5 เชน id:5:initdefault:หลงจากทอานคา initdefault มาเกบเอาไวแลวกจะไปทำางานตอทสครป /etc/rc.d/rc.sysinit ไฟลนจะมการทำางานตางๆ ดงน เชน เซตคาเคอรเนลพารามเตอร, เซตเวลา, โหลด keymaps, ใชงาน swap พารตชน, เซตชอเครอง, ตรวจเชคระบบไฟล และเมาทพารตชนตางๆ ฯลฯ ซงจะเปนทำางานเกยวของกบระบบทงหมดดงภาพ 3-1 แลวกจะไปทำางานตอท /etc/rc.d/rcX.d/ เมอ X คอคา initdefault ทอานเขามา

ในไดเรกทอร /etc/rc.d/rcX.d/ เหลานจะเปนทเกบลงคไฟล start script (ลงคมาจาก /etc/init.d/) ของ service ตางๆ ซงเปนตวบอกวาในการบทขนมาจะให start service นนๆ หรอไม หลงจากท start service เรยบรอยแลวกจะมาอานไฟล /etc/rc.d/rc.local ซงเปนไฟลทเกบคำาสงทใช start service สำาหรบโปรแกรมทไมม start script ใน /etc/init.d สดทายกเขาสกระบวนการ Login ถาเปน Text mode กรนโปรแกรม getty ถาเปน Graphic mode กรน xdm, gdm, kdm ให Login ขนอยกบวาใช Window Managers ตวไหน

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 34: Cent OS-book

34

การ Loginการ Login แบบ Text Mode (runlevel 3)

รปท 4-2 แสดงการ Login แบบกราฟก

การ Login แบบ กราฟกโหมด (runlevel 5)

รปท 4-3 แสดงการ Login แบบกราฟก

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 35: Cent OS-book

35

Login เขามาแลวจะรบทหรอปดเครองอยางไรบนกราฟกโหมดคงไมตองพดถงนะครบเพราะเหนกนอยแลววาจะรบทหรอจะปดเครอง สำาหรบบน text

mode มาดคำาสงทใชในการรบท และปดเครองกนนะครบshutdown -h now ปดเครองทนทshutdown -r now รบทเครองทนทreboot รบทเครองinit 6 รบทเครองinit 0 ปดเครองpoweroff ปดเครองhalt ปดเครองเลอกใชกนตามสะดวกนะครบอยาปดเครองโดยปดสวทชเลย อนตรายตอขอมลขอใหปดตามขนตอน

ไฟลทเกยวของในบทน/boot/grub/menu.lst /etc/inittab/etc/rc.d/rc.sysinit/etc/rc.d/rc.local

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 36: Cent OS-book

36

บทท 5 การเปดปด Service

service บนลนกซ ม 2 ประเภท ไดแก stand alone service และ xinetd control

stand alone service เปน service ทอยไดดวยตวเองลกษณะสำาคญของ stand alone service ไดแก 1. ทำางานตอนบท 2. Service เปดอยตลอดเวลา3. ไฟล start script เกบอยท /etc/init.dการใชคำาสงสำาหรบการ start service ตางๆ ไมวาจะเปนลนกซ Red Hat หรอ Fedora จะใชคำาสง service

เชน service ชอ service {start|stop|restart|reload|status} เชน service httpd start สำาหรบลนกซทวไปจะใชคำาสง /etc/init.d/ชอ service {start|stop|restart|force-reload} เชน /etc/init.d/httpd start สำาหรบคำาสงน บนลนกซตระกล Red Hat กสามารถ ใชคำาสงนไดเชนกน

xinetd control เปน service ทถกควบคมดวยโปรแกรม xinetd ลกษณะสำาคญของ xinetd control service ไดแก1. service ถกควบคมโดยโปรแกรม xinetd 2. service จะทำางานหรอใหบรการเมอมการรองขอ3. ไฟล start script เกบอยท /etc/xinit.dสำาหรบการ start service บน Red Hat จะใชคำาสง chkconfig ชอ service on เชน chkconfig rsync on

หรอจะแกไขไฟล start script โดยตรงเชน # default: off # description: The rsync server is a good addition to an ftp server, as it \ #allows crc checksumming etc. service rsync { 

disable = yes socket_type     = stream wait            = no user            = root server          = /usr/bin/rsync server_args     = ­­daemon log_on_failure  += USERID 

ถาเราตองการเปด service ของ rsync เราใหแกไขบรรทด disable = yes ใหเปน disable = no service อนๆ กเชนกน

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 37: Cent OS-book

37

เครองมอทชวยในการเปดปด service ตอนบทลนกซตระกล Red Hat จะมเครองมอชวยให service ตางๆทำางานตงแตตอนบท ดงน1. chkconfig

รปท 5-1 แสดงการใชคำาสง chkconfig

chkconfig เปนคำาสงแบบ command line การใชงานงาย chkconfig --list [ชอ service] แสดง service ทงหมดchkconfig --add <ชอ service> เพม service เขาไปในระบบchkconfig --del <ชอ service> ลบ service ออกไปchkconfig ชอ service on | off เปด-ปด serviceเชน

[root@server1 ~]# chkconfig ­­list mysqld 

mysqld 0:off  1:off  2:on  3:on  4:on  5:on  6:off 

[root@server1 ~]# chkconfig mysqld off 

[root@server1 ~]# chkconfig ­­list mysqld 

mysqld 0:off  1:off  2:off  3:off  4:off  5:off  6:off 

[root@server1 ~]# chkconfig ­­level 35 mysqld on 

[root@server1 ~]# chkconfig ­­list mysqld 

mysqld 0:off  1:off  2:off  3:on  4:off  5:on  6:off

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 38: Cent OS-book

38

2. ntsysv

รปท 5-2 แสดงโปรแกรม ntsysvntsysv เปนโปรแกรมแบบ Text User Interface หากตองการให service ทตองการทำางานตงแตตอนบทกให

กด spacebar ใหมเครองหมาย * หากไมตองการให service นนๆ ทำางานตอนบท ก กด spacebar อกครงหนงใหเครองหมาย * หายไป

3. serviceconf / system-config-service

รปท 5-3 แสดงโปรแกรม serviceconf / system-config-service

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 39: Cent OS-book

39

serviceconf / system-config-service เปนโปรแกรมแบบ GUI สามารถรนไดบนกราฟกโหมดเทานนขอเสยของ ntsysv และ serviceconf คอ มนจะมผลตอการเปดปด service ตอนบทเฉพาะรน Level ทเราทำางานอยเทานนเชน เรยกใชงานโปรแกรมใน runlevel 5 แลวบทเครองเขามา runlevel 3 service ทเปดหรอปดเอาไวกจะไมมผลเมอบทเขามาใน runlevel 3

เปดปด service ตามความตองการคำาสงทใชเปดปดเซอรวสของลนกซตระกล Red Hat หรอ CentOS คอคำาสง service มวธการใชงานดงน

service ชอเซอรวส start | stop | reload | restart | status เชน

[root@server1 ~]# service mysqld stop Stopping MySQL:                                   [  OK  ] [root@server1 ~]# service mysqld start Starting MySQL:                                   [  OK  ] [root@server1 ~]# service mysqld status mysqld (pid 5682) is running... 

หรอจะใชคำาสงแบบปอน PATH เตมคำาสงนจะใชไดกบลนกซทกคาย เชน[root@server1 ~]# /etc/init.d/mysqld stop 

Stopping MySQL:                                   [  OK  ] 

[root@server1 ~]# /etc/init.d/mysqld start 

Starting MySQL:                                   [  OK  ] 

[root@server1 ~]# /etc/init.d/mysqld status 

mysqld (pid 5855) is running... 

ไดเรกทอรทเกยวของในบทน/etc/init.d/etc/xinet.d

ไฟลทเกยวของในบทน/etc/init.c/*/etc/xinet.d/*

คำาสงทเกยวของในบทนservicechkconfig

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 40: Cent OS-book

40

บทท 6โครงสรางของไดเรกทอรของลนกซ

ผใชงานวนโดวจะมความคนเคยกบลกษณะโครงสรางไดเรกทอร ทม Driver C:\ , D:\ และโฟลเดอร แตสำาหรบลนกซนน จะไมมไดรฟแตจะม ไดเรกทอรเหนอสดคอ / (รทไดเรกทอร) หลงจากทเราตดตงลนกซเสรจ กจะมไดเรกทอรมากมาย ซงเหมอนกบตอนทเราตดตงวนโดวเสรจเราจะเหนโฟลเดอร Windows, Programs File ฯลฯ

มมมองแบบไดเรกทอร

รปท 6-1 แสดงไดเรกทอรทงหมดของลนกซ

มมมองแบบภาพ หรอ โฟลเดอรแบบวนโดว

รปท 6-2 แสดงไดเรกทอรในมมมองแบบโฟลเดอรในวนโดว

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 41: Cent OS-book

41

มมมองโครงสรางแบบตนไม

รปท 6-3 แสดงโครงสรางไดเรกทอรแบบแผนภมตนไม

การเปลยนไปทำางานยงไดเรกทอรตางๆดวยคำาสง cdทเขยนเรองนมาเพราะจะเจอปญหาความไมเขาใจเกยวกบการเปลยนการทำางานไปยงไดเรกทอรตางๆ มาก

สำาหรบลนกซมอใหม คอไมรวาตอง ม / นำาหนาหรอ ไมม มาดตอครบสงทตองจำาและทำาความเขาใจรทไดเรกทอร คอ / เปนไดเรกทอรเหนอสด เทยบกบวนโดวก Drive C:\โฮมไดเรกทอรของ user root คอ /root บานของคนชอ root เปนคนทมสทธสงสดในระบบอยาหลง

/ (รทไดเรกทอร) กบ /root (บานของคนชอ root)ไดเรกทอรทอยถดจากรทไดเรกทอร คอ /boot, /etc, /initrd, /misc, /opt, /root, /sys, /usr, /bin, /dev, /home,

/lib, /media, /mnt, /proc, /sbin, /tmp, /var การใชคำาสง cd เพอเปลยนไดเรกทอร ถาตองการเปลยนไดเรกทอรไปทำางานทตดกบ / ตองม / นำาหนา เชน

cd /boot, cd /etc , cd /usr, cd /mnt กรณทไดเรกทอร ทอยในลำาดบขนถดไปจากทเราทำางานอย ไมตองใสเครองหมาย / เชน ทำางานอยท /var ตองการเขาไปทำางานท /var/lib/mysql กสามารถใชคำาสง cd lib/mysql ไดเลย ขอควรจำา ถาเปลยน ไดเรกทอรไปทำางานทไดเรกทอรทไมตดกบ / และเปนไดเรกทอรถดไปกไมตองใสเครองหมาย /

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 42: Cent OS-book

42

ตวอยางการใชคำาสง cd เพอเปลยนการทำางานไปยงไดเรกทอรตางๆ ทำางานอยท /root เปลยนไปทำางานท /var/lib/mysql ใชคำาสง cd /var/lib/mysqlทำางานอยท /var/lib/mysql เปลยนไปทำางานท /var/www ใชคำาสง cd /var/wwwทำางานอยท / เปลยนไปทำางานท /var/lib/mysql ใชคำาสง cd var/lib/mysql

` ทำางานอยท / เปลยนไปทำางานท /etc ใชคำาสง cd etcทำางานอยท /root เปลยนไปทำางานท /etc/httpd/ ใชคำาสง cd /etc/httpdไมสนใจวาทำางานอยทไหน ตองการเปลยนไปทำางาน ท /var/www/html ใชคำาสง cd /var/www/html

คำาสง pwdเปนคำาสงทแสดงชอของไดเรกทอรปจจบนทเราทำางานอยตวอยางดงรปท 5-4

รปท 6-4 แสดงการใชคำาสง pwd

คำาสง pwd จะชวยใหเรารวาเราทำางานอยทตำาแหนงไดเรกทอรไหน จะไดไมหลงไดเรกทอร

คำาสงทเกยวของในบทนcdpwd

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 43: Cent OS-book

43

บทท 7การใชงาน Vi

การใชงานลนกซหนไมพนทจะตองใชงาน Text Editor ตวใดตวหนง เพราะ ลนกซมความจำาเปนตองแก คอนฟกไฟล ทเปน Text ไฟล โปรแกรม Text Editor มหลายตว เชน pico, nano, mc, Vi ฯลฯ แตในทนจะพดถง Vi เพราะเปน Text Editor ทมาคกบ Unix มานาน และไดรบความนยมมากตวหนง Vi (ออกเสยงวา "vee-eye") เปนคำาเรยกสนๆ ของ Visual editor

รปท 7-1 แสดงโปรแกรม Vi

เรมใชงาน viเราสามารถเรยกใชงาน Vi โดยพมพคำาสง vi ตามดวยชอไฟล ชอไฟลนเปนไปไดทงไฟลทมอยแลว และชอ

ไฟลใหม เชน# vi /etc/samba/smb.conf# vi newfilename.txt

vi Mode vi ม 2 โหมด● command mode ใชสำาหรบรบคำาสง ของผใช เชน จะเขาส insert mode บนทกไฟล ออกจากโปรแกรม

ฯลฯ● insert mode ใชสำาหรบแกไขไฟล เชน พมพขอมลเพม ลบคำาเมอเราเปดโปรแกรม vi ขนมาโปรแกรมจะเขาส command mode เราจะพมพขอความลงไปไมได จนกวาเรา

จะเขาส insert mode โดยการกดปม i (หรออนๆ) เมอเราทำางานใน insert mode เราสามารถแกไขขอมลในไฟลได ถาเราตองการบนทกไฟล หรอออกจากการใชงาน vi กตองกลบเขาส command mode โดยการกดปม Esc

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 44: Cent OS-book

44

เขาส insert mode เพอแกไขขอความa เพมขอความทอยขางหลงA เพมขอความตอทายบรรทดปจจบนi แทรกขอความทอยหนาเคอรเซอรI แทรกขอความทตนบรรทดปจจบนo เพมบรรทดวางๆ ใหมอกหนงบรรทดถดจากบรรทดทเคอรเซอรอยO เพมบรรทดวางๆ ใหมอกหนงบรรทดเหนอจากบรรทดทเคอรเซอรอย

การบนทกไฟลและออกจากโปรแกรม (command mode)ถาทำางานอยใน insert mode เขาส command mode โดยการกด Esc แลวคอยพมพคำาสงZZ ออกจากโปรแกรมบนทกไฟล:q! ออกจากโปรแกรมไมบนทกไฟล:wq ออกจากโปรแกรมบนทกไฟล

การเลอนเคอรเซอรไปยงตำาแหนงตางๆ ใน 1 จอภาพh เลอนเคอรเซอรไปทางซาย 1 ตวอกษรj เลอนเคอรเซอรไปยงบรรทดลาง 1 บรรทดk เลอนเคอรเซอรไปยงบรรทดบน 1 บรรทดl เลอนเคอรเซอรไปทางขวา 1 ตวอกษร

เลอนเคอรเซอรทละคำา ประโยค ยอหนาw เลอนเคอรเซอรไปยงตวอกษรแรกของคำาทอยถดไปe เลอนเคอรเซอรไปยงตวอกษรสดทายของคำาทอยถดไปb เลอนเคอรเซอรไปยงตำาแหนงแรกของคำาทอยกอนหนา

การเลอนจอภาพ^F เลอนจอภาพเพอดขอมลทอยในหนาถดไป^B เลอนจอภาพเพอดขอมลทอยกอน 1 หนา^D เลอนจอภาพไปอกครงจอภาพ^U เลอนจอภาพยอนกลบไปอกครงจอภาพ^R หรอ ^L ใหแสดงจอภาพปจจบนอกครงหนง

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 45: Cent OS-book

45

การลบdd ลบเฉพาะบรรทดทเคอรเซอรอยdw ลบคำาตงแตตวอกษรทเคอรเซอรอยไปจนถงตวอกษรแรกของคำาตอไปde ลบคำาตงแตตวอกษรทเคอรเซอรอยไปจนถงตวอกษรสดทายของคำาปจจบนdb ลบคำาตงแตตวอกษรทอยหนาเคอรเซอรไปถงอกษรแรกของคำาปจจบนd^ ลบคำาตงแตตวอกษรทอยหนาเคอรเซอรไปจนถงตวอกษรแรกของบรรทดทไมใช spaced$ ลบคำาตงแตตวอกษรทเคอรเซอรอยไปจนถงตวสดทายของบรรทด

การโยกยายและการทำาสำาเนาym นำาขอความทตองการเกบลงใน buffer (m=จำานวนบรรทด)yy นำาขอความทงบรรทด ทเคอรเซอรอยไปเกบใน bufferp นำาขอความใน buffer มาวางหลงเคอรเซอร

การยกเลกคำาสงu undo. redo

การคนหาคำา/Test หาคำาวา Test/This is test หาวล This is test/^Test หาคำาวา Test หาคำาวา Test ทปรากฏทตนบรรทด/Test$ หาคำาวา Test หาคำาวา Test ทปรากฏททายบรรทด/^$ หาบรรทดทเปนบรรทดวางๆ

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 46: Cent OS-book

46

บทท 8การใชคำาสง RPM และ YUM จดการแพกเกจ

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

การใชงาน rpmรปแบบของไฟล RPMname ชอ Packageversion เวอรชน release ปรบปรงครงทarchitecture i386, i586, athlon : Intel x86 Compatible Alpha : Digital Alpha/AXP

ia64 : IA-64 (Itanium) s300: S/390, AMD64noarch architecture-independency code

ตวอยางmysql-server-5.0.45-7.el5.i386.rpmชอ package คอ mysql-serverversion คอ 5.0.45-7release คอ el5architecture คอ i386 setup-2.5.58-1.el5.noarch.rpm noarch คอ ไมขนกบสถาปตยกรรม CPU

ตดตงและลบ package (โปรแกรม)nstall: rpm -i ตดตงUpgrade: rpm -U อพเกรดFreshen: rpm -F อพเกรดถามอย / ถาไมมไมทำาอะไรErase: rpm -e ลบOutput option: -v, -h แสดงเครองหมาย # ขณะทำางาน

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 47: Cent OS-book

47

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

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

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 48: Cent OS-book

48

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

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

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 49: Cent OS-book

49

ไฟล .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 ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 50: Cent OS-book

50

ขอมลทวไปของ YUMYellow dog Updater, Modified (YUM) เปน โปรแกรมโอเพนซอรสคอมมานไลนทใชในการจดการแพก

เกจ (อพเดต / ตดตง / ลบ) สำาหรบลนกซ ทใช RPM โดยมลขสทธเปน GNU General Public License พฒนาโดย Seth Vidal และโปรแกรมเมอรอาสาสมคร yum เปนโปรแกรมคอมมานไลน แตกมโปรแกรมทเขาพฒนาเปนแบบกราฟกเชน Pup, Pirut ,Yumex, Yum Extender และ KYum ปจจบนนาย Seth Vidal ทำางานใหกบ Red Hat ซงเปนโปรแกรมเมอรผพฒนา yum ใหกบ Red Hat นนเอง

Yum พฒนามาจาก Yellowdog Updater (YUP) ซงใชอยใน Yellow Dog Linux โดย Red Hat นำามาพฒนาตอแลวใชชอวา YUM

คณสมบตของ Yum : • คลงของซอรฟแวรจำานวนมาก (multiple repositories) • คอนฟกไดงาย • การคำานวณ depency ทถกตอง • ทำางานเรว • พฤตกรรมทลงรอยกนกบ rpm (rpm-consistent behavior) • สนบสนนกลม comps.xml ทประกอบดวย multiple repository groups • อนเตอรเฟสทงาย

ยตลต yum ใชขอมลการพงพากนของแพกเกจ (package depency data) ในการทำาใหมนใจวาความตองการทงหมดสำาหรบแอพพลเคชนพบไดในระหวางการ ตดตง โดย yum จะตดตงแพกเกจสำาหรบ depency ใด ๆ ทไมปรากฎอยบนระบบโดยอตโนมต เมอมความตองการแอพพลเคชนใหมทชน (conflict) กบซอรฟแวรทมอยแลว yum จะทำาการ abort โดยปราศจากการเปลยนแปลงระบบใด ๆ

สรปงายๆ การตดตงแบบ rpm คอการตดตงแบบ ออฟไลน และ yum คอการตดตงแบบออนไลนนนเอง ออฟไลน คอมไฟล .rpm อยในเครองทเราใชงาน สวนออนไลนไฟลจะอยบนเซรฟเวอรอน ตามทเรากำาหนดใน /etc/yum.repos.d/CentOS-Base.repo

ถาเปรยบเทยบกบลนกซตระกล Debian Ubuntu rpm = dpkgyum = apt-get, aptitude

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 51: Cent OS-book

51

การใชงาน yum

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

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 52: Cent OS-book

52

คนหาแพกเกจ

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 53: Cent OS-book

53

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 54: Cent OS-book

54

ลบแพกเกจ yum remove

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 55: Cent OS-book

55

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

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

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 56: Cent OS-book

56

การใชงาน 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_5.2_Final/4) แกไข enabled=0 เปน enabled=1 เสรจแลวบนทกไฟล

เทานทานกสามารถใช yum โดยทมแหลงขอมลจาก DVD ไดแลวครบ

คำาสงทเกยวของในบทนrpmyum

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 57: Cent OS-book

57

บทท 9การบรหารจดการบญชรายชอผใชระบบ User / Group Accounts

อยางทไดกลาวไปแลววาลนกซมการทำางานแบบผใชงานคราวละหลายคน (multi user) การจดการบญชรายชอมความจำาเปนเพองายและสะดวกในการดแลรกษาเซรฟเวอร ลนกซ Red Hat ถาเราเพม user เขาไปโดยใชคำาสง useradd ตามดวยชอ user โดยไมม option -g ระบบกจะทำาการเพมกลมใหอก 1 กลมตามชอ user นนซงเรยกวา Private Group คำาสงทเกยวของกบการจดการ User ไดแก groupadd, groupdel, useradd, userdel, usermod หากเราไมตองการ Private Group กสามารถเพมกลมเขามาเองโดยใชคำาสง groupadd

คำาสง groupadd เพมกลมใหมgroupadd option ชอ group ทตองการเพม-g gid (group id)ตวอยางgroupadd -g 1000 manager #เพมกลมชอ manager โดยมหมายเลข gid = 1000groupadd web #เพมกลมชอ webgroupadd hr #เพมกลมชอ hrgroupadd sale #เพมกลมชอ sale

คำาสง groupdel ลบกลมออกgroupdel ชอ group ทตองการลบตวอยาง groupdel manager

คำาสง useradd เพมผใชงานใหมuseradd option user-d ระบโฮมไดเรกทอร-g ระบ group-m สรางโฮมไดเรกทอรใหดวย-c ระบชอของ user-u ระบ user id

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 58: Cent OS-book

58

ตวอยางหลงจากทเราเพมกลมเรยบรอยแลวเรากสามารถเพม user ไดเลยuseradd -g manager -c “Mr. Somchai” somchai

#เพมผใชงาน ชอ somchai อยในกลม manager มชอวา Mr. Somchaiuseradd -g web -c “Miss Manee” manee

#เพมผใชงาน ชอ manee อยในกลม web มชอวา Miss Maneeuseradd -g web -c “Mr. Piti” piti

#เพมผใชงาน ชอ piti อยในกลม web มชอวา Mr. Pitiuseradd -g hr -c “Miss Chuchai” chuchai

#เพมผใชงาน ชอ chuchai อยในกลม hr มชอวา Miss Chuchaiuseradd -g sale -c “Mr. Mana” mana

#เพมผใชงาน ชอ mana อยในกลม sale มชอวา Mr. Mana

passwd somchai # Set password ใหกบ user somchaipasswd manee # Set password ใหกบ user maneepasswd piti # Set password ใหกบ user pitipasswd chuchai # Set password ใหกบ user chuchaipasswd mana # Set password ใหกบ user mana

คำาสง userdel ลบผใชงานออกuserdel option user ทตองการลบ-r ลบไฟลของ user ในโฮม และใน /var/spool/mail

การเปลยนแปลงขอมลของผใชงานดวย usermodusermod option user ทตองการเปลยนแปลง-c เปลยน comment หรอชอของ user-d เปลยนโฮมไดเรกทอรของ user-e ตงวนหมดอายใหกบ user-g เปลยนกลมของ user-G group1 [ ,group2,... , [groupN] เพมกลมใหกบ user ให user มกลมหลายกลมได-u uid เปลยน uid ของ user

-L ลอคไมให user เขาใชงาน-U ยกเลกการลอค

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 59: Cent OS-book

59

ตวอยางการจดการบญชรายชอ[root@server1 ~]# useradd ­g manager ­c "Mr. Somchai" somchai[root@server1 ~]# useradd ­g web ­c "Miss Manee" manee[root@server1 ~]# useradd ­g web ­c "Mr. Piti" piti[root@server1 ~]# useradd ­g hr ­c "Miss Chuchai" chuchai[root@server1 ~]# useradd ­g sale ­c "Mr. Mana" mana[root@server1 ~]# id pitiuid=502(piti) gid=501(web) groups=501(web)[root@server1 ~]# finger pitiLogin: piti                             Name: Mr. PitiDirectory: /home/piti                   Shell: /bin/bashNever logged in.No mail.No Plan.[root@server1 ~]# usermod ­g hr ­c “Piti”  piti[root@server1 ~]# id pitiuid=502(piti) gid=502(hr) groups=502(hr)[root@server1 ~]# finger pitiLogin: piti                             Name: PitiDirectory: /home/piti                   Shell: /bin/bashNever logged in.No mail.No Plan.[root@server1 ~]#[root@server1 ~]# passwd somchaiChanging password for user somchai.New UNIX password:Retype new UNIX password:passwd: all authentication tokens updated successfully.[root@server1 ~]# usermod ­g hr ­c “Piti Yindee” piti[root@server1 ~]# usermod ­L piti[root@server1 ~]#

คำาสงทเกยวของในบทนgroupaddgroupmodgroupdeluseraddusermoduserdelpasswdidfinger

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 60: Cent OS-book

60

บทท 10Permission ของไฟล และ ไดเรกทอร

เนองจากลนกซมระบบการทำางานแบบผใชงานคราวละหลายคน เพราะฉะนนจำาเปนตองมการจำากดสทธของการเขาถงไฟล และไดเรกทอร ในระบบไฟลของลนกซจะแบงกลมของการเขาถงไฟลออกเปน 3 กลม คอ

1. คนทเปนเจาของไฟล2. คนทอยในกลมเดยวกน3. คนทไมใชเจาของไฟล และไมไดอยกลมเดยวกน

เมอเราใชคำาสง ls -l กจะเหนรายละเอยดของไฟลและไดเรกทอร

drwxr­xr­x 3 root root    4096 2006­07­03 07:20  Desktopdrwxr­xr­x 8 root root    4096 2006­07­01 08:33  MyDownload­rw­r­­r­­ 1  root root    4529 2006­07­03 17:09  test.php

ในแตละกลมจะมการกำาหนดสทธได 3 แบบ ตวอกษร r มาจาก Read หมายถง อาน

ตวอกษร w มาจาก Write หมายถง เขยนตวอกษร x มาจาก Execute หมายถง ประมวลผล

สทธ เมอใชกบไฟล เมอใชกบไดเรกทอรread ดเนอหา ดรายชอไฟลในไดเรกทอร

writer เปลยนแปลง และแกไขเนอหาในไฟล สรางหรอลบไฟลในไดเรกทอร

execute สง execute (ประมวลผลได) เปลยนไดเรกทอร, คนหา หรอสำาเนาจากไฟล ในไดเรกทอรนน

ตวอยาง --- : ไมมสทธอะไรเลย (เลขทใชคอ 0) --x : ประมวลผลไดอยางเดยว (เลขทใชคอ 1) r-- : อานไดอยางเดยว (เลขทใชคอ 4) rw- : อาน และเขยนได (เลขทใชคอ 6) r-x : อาน และประมวลผลได (เลขทใชคอ 5)

rwx : อาน เขยน และประมวลผลได (เลขทใชคอ 7)

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 61: Cent OS-book

61

รปท 10-1 แสดงคาของการกำาหนดสทธ

ความหมายของ rwxrwxrwx จะเหนวามอกษร 9 ตว (ความจรง 10 ตว) ตวแรก ไมนบเปนตวบอกชนดของไฟล - หมายถงไฟล d หมายถง ไดเรกทอร l หมายถงลงคไฟล (วนไดว เรยกวา shortcut)

3 ตวแรกหมายถง เจาของ3 ตวทสองหมายถง คนในกลมเดยวกน3 ตวทสามหมายถง คนอนทไมใชเจาของและไมใชคนในกลมเดยวกน

ตวอยาง-rwx------ : เจาของเทานนทมสทธทกอยางคนในกลมและคนอนไมมสทธ (เลขทใชคอ 700)-rwxrwx--- : เจาของ และสมาชกกลมเดยวกนมสทธทกอยางคนอนไมมสทธ (เลขทใชคอ 770)-rw-rw-rw- : เจาของ และสมาชกกลมเดยวกนและคนอนอานและเขยนได (เลขทใชคอ 666)-rwxr-xr-x : เจาของทำาไดหมด สวนกลมและคนอนอานและประมวลผลได (เลขทใชคอ 755)-r--r--r-- : ทกคนอานไดอยางเดยว (เลขทใชคอ 444)

คำาสงทใชในการเปลยนสทธของไฟลและไดเรกทอรchmod เปลยนโหมด chown เปลยนเจาของchgrp เปลยนกลม

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 62: Cent OS-book

62

ตวอยาง การใชงานคำาสง chmod

root@server1 ~# touch test.htmlroot@server1 ~# ls ­l test.html­rw­r­­r­­ 1 root root 0 2006­07­12 11:03 test.htmlroot@server1 ~# chmod 755 test.phproot@server1 ~# ls ­l test.html­rwxr­xr­x 1 root root 0 2006­07­12 11:03 test.htmlroot@server1 ~# chmod 666 test.htmlroot@server1 ~# ls ­l test.html­rw­rw­rw­ 1 root root 0 2006­07­12 11:03 test.htmlroot@server1 ~# ls ­l test.html­rw­rw­rw­ 1 root root 0 2006­07­12 11:03 test.htmlroot@server1 ~# chmod 700 test.htmlroot@server1 ~# ls ­l test.html­rwx­­­­­­ 1 root root 0 2006­07­12 11:03 test.htmlroot@server1 ~#

ปญหาทเกดขนทเราทำางานกบสทธทไมถกตองเชน ไบนารไฟล จะไมสามารถ execute ได

root@server1 /usr/local/firefox# chmod 660 firefoxroot@server1 /usr/local/firefox# ./firefoxbash: ./firefox: Permission deniedroot@server1 /usr/local/firefox# chmod 755 firefoxroot@server1 /usr/local/firefox# ./firefox

ไฟล .html ไมสามารถ execute ได เมอเรยกผาน browser จะเกด error ดงภาพ

รปท 10-2 แสดงขอความ error เมอ browser เรยกไฟลทไมสามารถ execute ได

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 63: Cent OS-book

63

ตวอยาง การใชคำาสง chown และ chgrp

root@server1 ~# ls ­l test.sql­rwxr­xr­x 1 root root 0 2006­07­12 11:03 test.sqlroot@server1 ~# chgrp mysql test.sqlroot@server1 ~# ls ­l test.sql­rwxr­xr­x 1 root mysql 0 2006­07­12 11:03 test.sqlroot@server1 ~# chown mysql test.sqlroot@server1 ~# ls ­l test.sql­rwxr­xr­x 1 mysql mysql 0 2006­07­12 11:03 test.sqlroot@server1 ~#

root@server1 ~# ls ­l test.sql­rwxr­xr­x 1 root root 0 2006­07­12 11:03 test.sqlroot@server1 ~# chown mysql test.sqlroot@server1 ~# ls ­l test.sql­rwxr­xr­x 1 mysql root 0 2006­07­12 11:03 test.sqlroot@server1 ~# chown root test.sqlroot@server1 ~# ls ­l test.sql­rwxr­xr­x 1 root root 0 2006­07­12 11:03 test.sqlroot@server1 ~# chown mysql.mysql test.sqlroot@server1 ~# ls ­l test.sql­rwxr­xr­x 1 mysql mysql 0 2006­07­12 11:03 test.sql

คำาสงทเกยวของในบทนchmodchgrpchown

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 64: Cent OS-book

64

บทท 11การใชงาน System Config ตาง ๆ

ลนกซ Red Hat มเครองมอในการชวยปรบแก config ตางๆของระบบ เชน การเปลยน IP การปรบวนท เวลา ฯลฯ เราสามารถทดลองดไดวามโปรแกรมอะไรบาง โดยการพมพ system- แลวกด Tab สองครงกจะเหนดงภาพ [root@server1 ~]# system­con system­config­authentication     system­config­nfs system­config­date               system­config­packages system­config­display            system­config­rootpassword system­config­httpd              system­config­samba system­config­kdump              system­config­securitylevel system­config­keyboard           system­config­securitylevel­tui system­config­language           system­config­services system­config­lvm                system­config­soundcard system­config­network            system­config­time system­config­network­cmd        system­config­users system­config­network­gui        system­control­network system­config­network­tui    

โปรแกรมตางๆ เหลานจะอยในเมนอยแลว โปรแกรมจะชวยเราทำางานใน Graphic Mode เทานน

รปท 11-1 แสดงโปรแกรม System Settings

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 65: Cent OS-book

65

ตดตงโปรแกรม system-config ถาในขนตอนตดตงลนกซไมไดเลอก Package Server Configuration Tools และ Administration Tools กไม

สามารถใชงานโปรแกรม system-config ตางๆได

รปท 11-2 การตดตงโปรแกรม Server Configuration Tools

รปท 11-3 การตดตงโปรแกรม Administration Tools

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 66: Cent OS-book

66

system-config-network / neat ชวยในการเปลยน IP

รปท 11-4 แสดงโปรแกรม system-config-network

system-config-securitylevel ใชในการปรบแตงการรกษาความปลอดภย

รปท 11-5 แสดงโปรแกรม system-config-securitylevel

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 67: Cent OS-book

67

สำาหรบการทำางานใน Text Mode ใหใชคำาสง setup

รปท 11-6 รปแสดงการใชคำาสง setup

รปท 11-7 แสดงการใชคำาสง setup เลอกเมน Network configuration

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 68: Cent OS-book

68

การเปลยนแปลงคา Network TCP/IP โดยการแกไฟลคอนฟกถาหากเราตองการเปลยน IP ของเครองโดยทเราไมใชเครองมอชวยกสามารถแกไฟลไดสะดวกเวลาทเรา

ทำางานบน Text Mode

การเปลยน IP Address ไดเรกทอรทเกยวกบ Network ของ Red Hat อยท /etc/sysconfig/network-scripts/

[root@server1 ~]# cd /etc/sysconfig/network­scripts/ [root@server1 network­scripts]# ls ifcfg­eth0    ifdown­isdn    ifup­aliases  ifup­plip    ifup­wireless ifcfg­lo      ifdown­post    ifup­bnep     ifup­plusb   init.ipv6­global ifdown        ifdown­ppp     ifup­eth      ifup­post    net.hotplug ifdown­bnep   ifdown­routes  ifup­ippp     ifup­ppp     network­functions ifdown­eth    ifdown­sit     ifup­ipsec    ifup­routes  network­functions­ipv6 ifdown­ippp   ifdown­sl      ifup­ipv6     ifup­sit ifdown­ipsec  ifdown­tunnel  ifup­ipx      ifup­sl ifdown­ipv6   ifup           ifup­isdn     ifup­tunnel 

ไฟลทเราตองแกคอ ifcfg-eth0DEVICE=eth0 BOOTPROTO=none BROADCAST=192.168.2.255 HWADDR=08:00:27:5A:99:F4 IPADDR=192.168.2.111 NETMASK=255.255.255.0 NETWORK=192.168.2.0 ONBOOT=yes GATEWAY=192.168.2.254 TYPE=Ethernet 

ถาหากตองการเปลยน IP กสามารถทำาไดโดยการแกไขบรรทด IPADDR หรอบรรทดอนๆ ตามตองการ แกเสรจใหใชคำาสง service network restart หรอ /etc/init.d/network restart แคนกเปลยน IP ไดแลวครบ

การเปลยน Name เซรฟเวอรName เซรฟเวอร สามารถเปลยนไดท /etc/resolv.conf

nameserver 203.155.33.1หมายเลข IP ของเนมเซรฟเวอรสามารถเปลยนไดตาม ISP ททานใชบรการอย

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 69: Cent OS-book

69

คำาสงทเกยวของในบทนneatsetupsystem-config-securitylevel system-config-network system-config-packagessystem-config-*

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 70: Cent OS-book

70

บทท 12การ mount ไฟล system อนๆ

การใชงานบนวนโดวเวลาเราตองการเอาอปกรณบนทกขอมลอนใสเขาไปวนโดวกจะรจก และแสดงไดรฟใหเหนและสามารถใชงานไดเลย บนลนกซเวอรชนใหมๆ กมความสามารถแบบนนแลวเชนกน แตกควรรเอาไวหากลนกซไมทำางานใหอตโนมตจะ mount อยางไร

mount point หรอ ไดเรกทอรทตองการ mount mount point คอ ไดเรกทอรทตองการเอาไฟลบนอปกรณทจะเมาทมาแสดง ไดเรกทอรทนยมสำาหรบการ

เมาท คอ /mnt เชน /mnt/floppy , /mnt/cdrom, แตในปจจบนในลนกซเวอรชนใหมๆ จะนยมเอา mount point ไปไวท /media เชน /media/cdrom, /media/hda1

ชออปกรณทจะ mount/dev/cdrom เปน CD/DVD Drive /dev/fd0 เปน Flopy Disk/dev/hda1 เปน ฮารดดสก Primary Master IDE พารตชนท 1/dev/sda1 เปน ฮารดดสก SCSI พารตชนท 1/dev/sda เปน อปกรณพวก Thumb drive USB ถาฮารดดสก เปน /dev/sda อปกรณพวกน

กจะเปน /dev/hdb จะมหมายเลขพารตชนหรอไมขนกบอปกรณนนๆ ตองลองเชน บางอน mount /dev/sda บางอนก mount /dev/sda1

การใชคำาสง mount mount options device | dir หรอ mount options device dirตวอยางmount -t vfat /dev/hda1 /mnt/hda1mount /dev/fd0 /mnt/fd0mount /dev/cdrom /mnt/cdrommount /dev/sda /mnt/thumbmount /dev/cdrommount /mnt/cdromการ mount แบบยอ mount options device | dir เชน mount /mnt/cdrom การทจะใชคำาสงแบบนได จะตอง

มขอมลของอปกรณ หรอ พารตชนอยในไฟล /etc/fstab กอนกอนทจะ mount directory /mnt/fd0, /mnt/cdrom, /mnt/thumb จะเปนไดเรกทอรเปลาๆ เมอ mount ได

สำาเรจในไดเรกทอรเหลานนกจะมไฟลตางๆ ทอยซงเปนไฟลในอปกรณท mount ขนมานนเอง

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 71: Cent OS-book

71

ยกเลกการเมาทเมอเมาทไดสำาเรจ จะตองยกเลกการเมาท การยกเลกการเมาท ใชคำาสง umount เชน CD-ROM จะเอาแผน

CD ออกไมไดถาไมยกเลกการเมาท หรออาจทำาความเสยหายใหกบอปกรณประเภท USB ไดการใชงาน umount umount option dir | device

ตวอยางการยกเลกการเมาทดวยคำาสง umountumount /mnt/fd0umount /mnt/cdromumount /mnt/thumb

คำาสงทเกยวของในบทนmountumount

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 72: Cent OS-book

72

บทท 13การใชโปรแกรมบบอดไฟลเพอ Backup ขอมล

คำาสง tar (Tape Archiver)คำาสง tar เปนคำาสงทใชสำารองไฟลลง Tape Backup แตยงใชสำาหรบบบอดไฟลหรอไดเรกทอรใหมขนาด

เลกลง ใหรวมเปน .tar ไฟลเดยว เมอระบออปชน -z กจะบบอดดวยโปรแกรม gzip อกครงหนง ซงจะมนามสกล .tar.gz

รปแบบการใชคำาสง tar ออปชน ชอไฟลทบบอด ไฟลหรอไดเรกทอรทตองการบบอดออปชนของ tarc สราง archive ไฟลx กขอมลจาก archive ไฟลv แสดงรายละเอยดของการ tarz บบอดดวย gzip-f file กำาหนดชอของ archive ไฟล ซงจะเปนไฟลธรรมดา หรอไฟลอปกรณกได

ตวอยาง การบบอดไฟลดวย tar และ gzip[root@server1 ~]# tar cvfz mydb_backup.tar.gz /var/lib/mysql/mydb tar: Removing leading `/' from member names /var/lib/mysql/mydb/ /var/lib/mysql/mydb/db.opt [root@server1 ~]# ls ­l ­rw­r­­r­­ 1 root root    208 Mar 23 16:22 mydb.tar.gz

ตวอยางการขยายไฟล[root@server1 ~]# tar xvfz mydb_backup.tar.gz var/lib/mysql/mydb/ var/lib/mysql/mydb/db.opt [root@server1 ~]#

คำาสง zipเปนคำาสงทใชบบอดไฟลไฟลทบบอดบนลนกซ แลวสามารถนำาไปขยายไฟลไดบนวนโดวโดยใช winzip

หรอ winrar คำาสง zip ม ออปชนมากมายแตจะไมพดถงในทนออปชน -r zip รวมเอาไฟลทอยในไดเรกทอรยอยดวย

[root@server1 ~]# zip ­r mydb_backup.zip /var/lib/mysql/mydb/   adding: var/lib/mysql/mydb/ (stored 0%)   adding: var/lib/mysql/mydb/db.opt (deflated 18%) [root@server1 ~]# ls ­l­rw­r­­r­­ 1 root root 178743 Mar 23 16:18 mydb_backup.zip 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 73: Cent OS-book

73

ขยายไฟลดวย unzip[root@server1 ~]# unzip mydb_backup.zip Archive:  mydb_backup.zip    creating: var/lib/mysql/mydb/   inflating: var/lib/mysql/mydb/db.opt  

คำาสงทเกยวของในบทน tarzipunzip

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 74: Cent OS-book

74

บทท 14คำาสงทเกยวของกบการดแลเซรฟเวอร

การใชงานเซรฟเวอรจะเกดปญหาขนมาถาไมเกดจากการถกแฮก กจะเกดจากผดแลระบบเองไมใสใจดแล เชน ฮารดดสกเตม ซงจะสรางปญหาปวดหวใหกบผดแลระบบมอใหมพอสมควร เพราะฉะนนควรจะปองกนเอาไวกอนโดยใชคำาสงเพอตรวจสอบอยบอยๆ

คำาสง dfdf เปนคำาสงทรายงานการใชงานพนทฮารดดสก ซงมออปชนตางๆ แตทใชบอยคอ -h ซงจะแสดงขนาด

พนททเหลอและทใชไปแลว ออกมาเปน K, M, G ซงอานเขาใจงายตวอยาง

[root@server1 ~]# df ­h Filesystem            Size  Used Avail Use% Mounted on /dev/hda2             8.6G  2.8G  5.4G  34% / /dev/hda7              58G  180M   55G   1% /var/lb/mysql /dev/hda6             251M   11M  228M   5% /tmp /dev/hda5             9.5G  151M  8.9G   2% /home /dev/hda1              99M   13M   81M  14% /boot tmpfs                 149M     0  149M   0% /dev/shm 

คำาสง ps ps เปนคำาสงทใชดสถานะการทำางานของแตละโปรแกรมทรนอย (Process) คำาสง ps มออปชนเยอะมาก แต

มทใชอยบอย คอ-e แสดงทกโปรเซส-f แสดงแบบเตมรปแบบตวอยาง

[root@server1 ~]# ps ­ef UID        PID  PPID  C STIME TTY          TIME CMD root         1     0  0 13:38 ?        00:00:00 init [5] root         2     1  0 13:38 ?        00:00:00 [migration/0] root         3     1  0 13:38 ?        00:00:00 [ksoftirqd/0] root         4     1  0 13:38 ?        00:00:00 [watchdog/0] ...

คอลมนซายสดจะเปนเจาของโปรเซส ถดมาเปนหมายเลขโปรเซส คอลมนขวาสดจะเปนคำาสงททำางานอยกรณทตองการดเฉพาะโปรเซสทตองการกสามารถใช | grep รวมดวย

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 75: Cent OS-book

75

[root@server1 ~]# ps ­ef |grep mysql root      4245     1  0 13:39 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe ­­datadir=/var/lib/mysql ­­socket=/var/lib/mysql/mysql.sock ­­log­error=/var/log/mysqld.log ­­pid­file=/var/run/mysqld/mysqld.pid mysql     4305  4245  0 13:39 ?        00:00:00 /usr/libexec/mysqld ­­basedir=/usr ­­datadir=/var/lib/mysql ­­user=mysql ­­pid­file=/var/run/mysqld/mysqld.pid ­­skip­external­locking ­­socket=/var/lib/mysql/mysql.sock root      6380  6301  0 19:02 pts/1    00:00:00 grep mysql [root@server1 ~]# 

คำาสง killใชสำาหรบหยดการทำางานของโปรเซส หรอพดไดวาฆาโปรเซสทง ในการใชคำาสง kill ตามดวยหมายเลข

โปรเซส (PID) เชน

[root@server1 ~]# kill 4245

คำาสง topเปนการดโปรเซสโดยรวมของเครองแบบ real time ซงจะ refresh ตามเวลาทกำาหนด การใชคำาสง top -d 1

ให refresh ทก 1 วนาท

รปท 14-1 แสดงคำาสง top

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 76: Cent OS-book

76

คำาสงทเกยวของในบทน df ps kill

top

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 77: Cent OS-book

77

บทท 15การใชงาน crontab ตงเวลาทำางาน

crontab เปนโปรแกรมตงเวลาทำางานบนลนกซโดยใหลนกซทำางานทกๆ เวลาทกำาหนด เชน ทกนาท, ทกครงชวโมง, ทกชวโมง, ทกเทยงคนของวนอาทตย, ทกวนท 1 มกราคมของทกป การทำางานของ crontab โปรแกรมจะมการเปด service ของ crontab อยแลว เราเพยงเรยกใชงานโปรแกรม แลวระบชวงเวลา และคำาสงทตองการใหทำางาน เมอเราเรยกโปรแกรม crontab มาใชงานโปรแกรมกจะเรยกโปรแกรม Text Editor ขนมาทำางานสวนใหญแลวบนลนกซ ตระกล Red Hat จะเปนโปรแกรม Vi สวน Debian และ Ubuntu จะเปนโปรแกรม nano

การใชงานโปรแกรม crontabcrontab [-u user] filecrontab [-u user] { -e | -l | -r }

-e แกไข หรอเพม crontab ของ user-l แสดง crontab ของ user-r ลบ crontab ของ userการทำางานของ crontab จะผกตดอยกบแตละ user เรา Login เขามาทำางานดวย user ใดถาเรยกคำาสงโดยไม

ระบออปชน -u กจะเปน crontab ของ user ท Login เขามา

รปแบบของคำาสงตงเวลาใหคำาสงตางๆ ทำางาน หลงจากทเรยกโปรแกรม crontab แลวจะเปดโปรแกรม Text Editor เราจะตองระบชวงเวลา และคำาสงโดยมรปแบบดงน

นาท ชวโมง วนท เดอน วนในสปดาห คำาสงทตองการใหทำางาน นาท แทนดวย 0-59 ชวโมง แทนดวย 0-23 โดยท 0=เทยงคน วนท แทนดวย 1-31 เดอน แทนดวย 1-12 วนในสปดาห แทนดวย 0-6 โดยท 0=วนอาทตยตวอยาง * * * * * คำาสง ความหมายทำาคำาสงนนทกๆ นาท */30 * * * * คำาสง ความหมาย ทำาคำาสงนนทกๆ 30 นาท * 20 * * * คำาสง ความหมาย ทำาคำาสงนนทกๆนาทโดยเรมตงแต 20.00-20.59 น. 5 0 * * * คำาสง ความหมาย ทำาคำาสงนนทกๆวนเวลา 00.05 น. 0 0 * * 0 คำาสง ความหมาย ทำาคำาสงนนทกวนอาทตยตอนเทยงคน */10 8-17 * * * คำาสง ความหมาย ทำาคำาสงนนทก 10 นาท เวลา 08.00-17.00 น.

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 78: Cent OS-book

78

ตวอยางการใชงาน0 0 * * * /sbin/shutdow -r now0 0 * * 0 /path/to/your/script/script.sh

คำาสงทเรยกใชงานเปนไดทงคำาสงทมอยบนลนกซ และ shell script ทเราเขยนขนมาเอง เชน จากตวอยางขางตน shutdown -r now เปนคำาสงบนลนกซ script.sh เปนไฟล shell script ทเราเขยนขนเอง

ตวอยางรายงานขอผดพลาดกรณทเราระบชวงเวลาไมถกตอง [root@server1 ~]# crontab -ecrontab: installing new crontab"/tmp/crontab.XXXXgIneQA":1: bad minuteerrors in crontab file, can't install.Do you want to retry the same edit?

ตวอยางตดตง crontab เรยบรอย[root@server1 ~]# crontab -ecrontab: installing new crontab[root@server1 ~]#

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 79: Cent OS-book

79

บทท 16การเพมพารตชนหรอเพมฮารดดสก

กรณทมพนทฮารดดสกเหลอ หรอตองการเพมฮารดดสกบนวนโดวเราสามารถเอาฮารดดสกมาเสยบแลว Format กสามารถใชงานไดเลยซงม Drive เปน Drive ถดไป แตบนลนกซนนไมเปนอยางนนมหลายขนตอน หลายคำาสง เรามาเรยนรกน

การใชงาน fdiskfdisk เปนโปรแกรมทใชสำาหรบจดการพารตชนของฮารดดสก

fdisk [-u] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device fdisk -l [-u] [device ...] fdisk -s partition ... fdisk -v

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

[root@fdisk ~]# fdisk ­l

Disk /dev/hda: 40.0 GB, 40020664320 bytes255 heads, 63 sectors/track, 4865 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System/dev/hda1   *           1          13      104391   83  Linux/dev/hda2              14        1288    10241437+  83  Linux/dev/hda3            1289        1353      522112+  82  Linux swap[root@fdisk ~]#

หลงจากทใชคำาสง fdisk -l จะเหนวาฮารดดสกขนาด 40.0 GB ม 4865 cylinders ตอนนใชไป 1353 cylinders ถาหากเราตองการจดการพารตชนของฮารดดสก /dev/hda เรากสามารถใชคำาสง fdisk /dev/hda หลงจากนนกจะเขาสการใชงานโปรแกรม fdisk ถาเราใชคำาสง m ใหโปรแกรม fdisk แสดงคำาสงทงหมดออกมา

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 80: Cent OS-book

80

[root@fdisk ~]# fdisk /dev/hda

The number of cylinders for this disk is set to 4865.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): mCommand action  a   toggle a bootable flag

b   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partitionl   list known partition typesm   print this menun   add a new partitiono   create a new empty DOS partition tablep   print the partition tableq   quit without saving changess   create a new empty Sun disklabelt   change a partition's system idu   change display/entry unitsv   verify the partition table

  w   write table to disk and exit  x   extra functionality (experts only)

Command (m for help):

ตองการสรางพารตชนใหมCommand (m for help): nCommand action   e   extended   p   primary partition (1­4)eSelected partition 4First cylinder (1354­4865, default 1354):Using default value 1354Last cylinder or +size or +sizeM or +sizeK (1354­4865, default 4865):Using default value 4865

ในการสรางพารตชนใหมใหใชคำาสง n เนองจาก พารตชนเดมทมอย 3 พารตชนนน เปน Primary พารตชน ทงหมด ถาพารตชนทเพมมาใหมเปน Primary อก กไมสามารถทจะเพมพารตชนไดอก เพราะฉะนนเราตองเอาพนททเหลอทงหมดเปน Extended โดยการตอบ e เดมมอยแลว 3 พารตชนกใหพารตชนตอมาเปนพารตชนท 4 First cylinder ให Enter ผาน หรอใส 1354 ตามคา default กได เพราะเราตองการพารตชนตอจากพารตชนเดมอยแลว

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 81: Cent OS-book

81

Last cylinder or +size กให Enter ผานเชนกน เพราะตองการใชพนททเหลอทงหมดเปน Extended ใหใชคำาสง p เพอ print รายละเอยดของการพารตชนออกมาดCommand (m for help): p

Disk /dev/hda: 40.0 GB, 40020664320 bytes255 heads, 63 sectors/track, 4865 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System/dev/hda1   *           1          13      104391   83  Linux/dev/hda2              14        1288    10241437+  83  Linux/dev/hda3            1289        1353      522112+  82  Linux swap/dev/hda4            1354        4865    28210140    5  Extended

Command (m for help):

เราจะเหนไดวาพารตชนท 5 เปน Extended พารตชนเรมท cylinder 1354 จบท 4865 ถอวาไดใชพนทของฮารดดสกหมดแลว ในการเพมพารตชนถดไป กจะเปนการแบงยอย Extended ออกมา

Command (m for help): nFirst cylinder (1354­4865, default 1354):Using default value 1354Last cylinder or +size or +sizeM or +sizeK (1354­4865, default 4865): +10000M

Command (m for help): p

Disk /dev/hda: 40.0 GB, 40020664320 bytes255 heads, 63 sectors/track, 4865 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System/dev/hda1   *           1          13      104391   83  Linux/dev/hda2              14        1288    10241437+  83  Linux/dev/hda3            1289        1353      522112+  82  Linux swap/dev/hda4            1354        4865    28210140    5  Extended/dev/hda5            1354        1476      987966   83  Linux

Command (m for help): wThe partition table has been altered!

Calling ioctl() to re­read partition table.

WARNING: Re­reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table.The new table will be used at the next reboot.Syncing disks.

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 82: Cent OS-book

82

การเพมพารตชนใหมใหใชคำาสง n แลว เมอถาม First cylinder ให Enter ผานเพอใชคา default Last cylinder or +size or +sizeM or +sizeK ใหตอบขนาดพารตชนทตองการ เชน +10000M เพอใหพารตชนนมขนาด 10 GB ใหใชคำาสง p เพอใหแสดงรายละเอยดของพารตชน หลงจากนนใหใชคำาสง w (write) สงทไดกระทำาไปลงฮารดดสก หลงจากใชคำาสง w แลวจะออกจากการใชงานโปรแกรม fdisk ใหทดลองใชคำาสง fdisk -l[root@fdisk ~]# fdisk ­l

Disk /dev/hda: 40.0 GB, 40020664320 bytes255 heads, 63 sectors/track, 4865 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System/dev/hda1   *           1          13      104391   83  Linux/dev/hda2              14        1288    10241437+  83  Linux/dev/hda3            1289        1353      522112+  82  Linux swap/dev/hda4            1354        4865    28210140    5  Extended/dev/hda5            1354        2570     9775521   83  Linux

จะเหนวาพารตชนทสรางมาใหมม ID 83 ม ไฟล System เปน Linux เปนคาปกตหากตองการ File system เปนอยางอนได โดยใชคำาสง l (แอล) เพอดรหสของ File system แลวใชคำาสง t เพอเปลยน File system

Command (m for help): l

 0  Empty           1c  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid 1  FAT12           1e  Hidden W95 FAT1 75  PC/IX           be  Solaris boot 2  XENIX root      24  NEC DOS         80  Old Minix       c1  DRDOS/sec (FAT­ 3  XENIX usr       39  Plan 9          81  Minix / old Lin c4  DRDOS/sec (FAT­ 4  FAT16 <32M      3c  PartitionMagic  82  Linux swap      c6  DRDOS/sec (FAT­ 5  Extended        40  Venix 80286     83  Linux           c7  Syrinx 6  FAT16           41  PPC PReP Boot   84  OS/2 hidden C:  da  Non­FS data 7  HPFS/NTFS       42  SFS             85  Linux extended  db  CP/M / CTOS / . 8  AIX             4d  QNX4.x          86  NTFS volume set de  Dell Utility 9  AIX bootable    4e  QNX4.x 2nd part 87  NTFS volume set df  BootIt a  OS/2 Boot Manag 4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access b  W95 FAT32       50  OnTrack DM      93  Amoeba          e3  DOS R/O c  W95 FAT32 (LBA) 51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor e  W95 FAT16 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs f  W95 Ext'd (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  EFI GPT10  OPUS            54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT­12/16/11  Hidden FAT12    55  EZ­Drive        a6  OpenBSD         f0  Linux/PA­RISC b12  Compaq diagnost 56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor14  Hidden FAT16 <3 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor16  Hidden FAT16    61  SpeedStor       a9  NetBSD          f2  DOS secondary17  Hidden HPFS/NTF 63  GNU HURD or Sys ab  Darwin boot     fd  Linux raid auto18  AST SmartSleep  64  Novell Netware  b7  BSDI fs         fe  LANstep1b  Hidden W95 FAT3 65  Novell Netware  b8  BSDI swap       ff  BBT

หลงจากทแบงพารตชนเสรจแลวถงแมวาจะม ID เปน 83 ม File system เปน Linux กตาม แตไมสามารถใชงานพารตชนนไดเพราะยงไมไดสราง filesystem ในการสรางไฟล system จำาเปนตองรบทเครองใหม ดงคำาเตอน

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 83: Cent OS-book

83

WARNING: Re­reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table.The new table will be used at the next reboot.Syncing disks.

เมอรบทเครองมาใหมแลว กใหคำาสง mke2fs เพอสราง File systemการใชงาน mke2fs[root@server1 ~]# mke2fs ­­help mke2fs: invalid option ­­ ­ Usage: mke2fs [­c|­t|­l filename] [­b block­size] [­f fragment­size] 

[­i bytes­per­inode] [­j] [­J journal­options] [­N number­of­inodes] [­m reserved­blocks­percentage] [­o creator­os] [­g blocks­per­group] [­L volume­label] [­M last­mounted­directory] [­O feature[,...]] [­r fs­revision] [­R options] [­qvSV] device [blocks­count] 

[root@server1 ~]# 

ตวอยางroot@fdisk ~]# mke2fs ­j /dev/hda5mke2fs 1.35 (28­Feb­2004)max_blocks 2502533120, rsv_groups = 76372, rsv_gdb = 596Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)1224000 inodes, 2443880 blocks122194 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=250399948875 block groups32768 blocks per group, 32768 fragments per group16320 inodes per groupSuperblock backups stored on blocks:        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: doneinode.i_blocks = 42920, i_size = 4243456Creating journal (8192 blocks): doneWriting superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or180 days, whichever comes first.  Use tune2fs ­c or ­i to override.[root@fdisk ~]#

เปนอนวาเสรจครบพารตชนนพรอมใชงานแลว ถาทดลอง mount กสามารถ mount ไดแลวดงตวอยาง

[root@fdisk ~]# mkdir /backup[root@fdisk ~]# mount /dev/hda5 /backup[root@fdisk ~]# df ­hFilesystem            Size  Used Avail Use% Mounted on/dev/hda2             9.7G  1.7G  7.5G  18% //dev/hda1              99M  8.3M   86M   9% /bootnone                  125M     0  125M   0% /dev/shm/dev/hda5             9.2G   54M  8.7G   1% /backup[root@fdisk ~]#

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 84: Cent OS-book

84

การสรางตงชอ(Label) ใหกบ partitionการใชงาน e2label device [ new-label ]

ตวอยางการใชงานคำาสง label[root@fdisk ~]# e2label /dev/hda5

[root@fdisk ~]# e2label /dev/hda5 /backup[root@fdisk ~]# e2label /dev/hda5/backup[root@fdisk ~]#

ตอนนพารตชน /dev/hda5 มชอวา /backup ชอนสามารถเอาไปใชงานรวมกบไฟล /etc/fstab

การเมาทพารตชนแบบถาวรการเมาทพารตชนโดยใชคำาสง mount นน เมอรบทเครองใหมกตอง mount ใหม ถาหากตองการให

พารตชน น mount อยตลอดเวลา กตองแกไฟล /etc/fstab ไฟล /etc/fstab จะเรยกใชดวยโปรแกรม mount และ fsck ไฟล /etc/fstab ประกอบดวย 6 คอลมน ตอ 1 บรรทด#<device>     <mount point>     <filesystem type>     <options>     <dump freq>     <fsck_order>LABEL=/backup /backup ext3    defaults 0 0

คอลมนท 1 deviceพารตชนหรออปกรณทตองการ mount เชน /dev/hda5, /dev/hdb1 ถาพารตชนทมการตงชอแลว

กสามารถใชชอไดเชน LABEL=/backup

คอลมนท 2 mount pointmount point ชอไดเรกทอรทตองการเมาทเพอเอาไฟลทอยในอปกรณหรอพารตชนมาแสดง เชน

/mnt/cdrom, /mnt/usb, /mnt/

คอลมนท 3 filesystem type คอลมนท 3 เปนการระบ filesystem ของอปกรณหรอ partition ซงม หลาย filesystem ท support

ext2 และ ext3 เปนไฟลซสเตมมาตรฐานของลนกซ แตปจจบนลนกซทออกมาใหมใชไฟลซสเตม ext3 และReiserFS เปนไฟลซสเตมมาตรฐานสำาหรบลนกซ ext3 เปนไฟลซสเตมชนดใหม แตกตางกบ ext2 ท ext3 ม journal เชน ext2 ถาเราปดคอมพวเตอรโดยการกดสวตชทนท ขอมลจะเกดการเสยหาย และ จะมการ check filesystem เวลาบทขนมาใหม ถาเปน ext3 กจะไมเกดการเสยหายเพราะม journal reiserfs เปน journaling ไฟลซสเตมคลาย ext3 แตมความสามารถมากกวา ext3

swap เปน filesystem ของ swap partition

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 85: Cent OS-book

85

vfat และ ntfs เปนไฟลซสเตมของวนโดว วนโดว 95, 98, ME ใชไฟลซสเตม vfat หรอทเรารจกกน FAT32สวนวนโดว NT, 2000, XP ใชไฟลซสเตม NTFS ลนกซ kernel ของลนกซบางตวยงไมรจกไฟลซสเตม NTFS คอไมสามารถเมาทได

auto อนนไมใชไฟลซสเตม option auto หมายความวาใหตรวจสอบ filesystem นอตโนมต เชน CD-ROM Floppy Disk ทเปนแบบนเพราะ เชน Floppy อาจถก format สำาหรบวนโดว หรออาจ format เปน ext2 สำาหรบลนกซ ดวยเหตนจงไมสามารถระบชนดของไฟลซสเตมลงไปไดจงตองใช auto CD-ROM กเชนเดยวกนกบ Floppy

คอลมนท 4 Mount options

คอลมนท 4 ในไฟล /etc/fstab เปน mount options ของอปกรณและพารตชนทตองการเมาท ซงจะมออปชนมาก ถาใชงานหลายออปชนใหคนดวย , (comma) ออปชนมมากมายสามารถดไดจาก man page ของคำาสง mount ออปชนตอไปนเปนออปชนทเราพบบอย

auto and noauto ถาใชออปชน auto อปกรณจะ mount อตโนมตตงแตตอนบท auto เปน default ออปชน ถาหากคณไมตองการใหเมาทอตโนมต กใหใชออปชน noauto

user และ nouser ออปชนนมประโยชน ออปชน user เปนการอนญาตใหผใชงานทวไปสามารถ mount อปกรณหรอพารตชนนนๆ ได ออปชน nouser อนญาตใหเฉพาะ root เทานนทจะ mount อปกรณหรอพารตชนนนๆ ได nouser เปนคาปกต คอถาไมใสออปชนนคากจะเปน nouser

exec และ noexec ออปชนนทำาใหเราสามารถ execute binary ไฟล ทอยบนพารตชนนนได ออปชน noexec มประโยชนสำาหรบพารตชนทมไบนารไฟล แตไมตองการ execute หรอ พารตชนนนไมมความสามารถทจะ execute ไดบนลนกซ เชน วนโดวพารตชน ออปชน exec เปนคาปกตของออปชนน

ro เมาทไฟลซสเตมแบบอานไดอยางเดยว

rw เมาทไฟลซสเตมแบบอานและเขยนได

sync and async ออปชน sync เปนเรองของ input และ output ไปยงไฟลซสเตม เปนการใหเขยนลงไฟลซสเตมกอน กอนทจะรายงานวาเขยนเสรจแลว เชนเวลา copy ไฟล ไปยง floppy กจะเขยนไฟลลง floppy ใหเสรจเรยบรอยกอน แลวจะรายงาน

อยางไรกตามถาใช sync ออปชนใน /etc/fstab input และ output จะเสรจพรอมกน อยางทยกตวอยางการ copy ไฟลลง Floppy สมมตวาการเขยนลงแผนใชเวลานานหลงจากทสงคำาสง copy ไป เปนเหตใหคณเอาแผน floppy ออกโดยทไมได unmount กอน ผลกคอจะไมมไฟลอะไรเขยนลงบน Floppy Disk เลย async เปนคาปกต อยางไรกตามควรจะใชออปชน sync กบ floppy

defaults ออปชนน จะมความหมาย rw, suid, dev, exec, auto, nouser, and async

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 86: Cent OS-book

86

คอลมนท 5 dump optiondump เปนโปรแกรมสำาหรบการสำารองขอมล คอลมนท 5 ในไฟล /etc/fstab คอ dump option ถาเราใชคำา

สง dump โปรแกรมจะเชคคาของเลขทเปนออปชนของโปรแกรม dump ถาเชคเจอ option = 0 กจะไม ลำาดบการ dump 1= ทกวน, 2=every other day, 0= ไม dump

คอลมนท 6 fsck option fsck เปนโปรแกรม ยทลตเชคไฟลซสเตม fsck order ลำาดบการเชคของไฟล ของ fsck 0=ไมสนใจ,

1=อนดบแรก, 2-9 ตามลำาดบ

ตวอยางเมาทพารตชนแบบถาวรโดยแกไฟล /etc/fstabLABEL=/backup /backup ext3 defaults 0 2

หรอ/dev/hda5 /backup ext3 defaults 0 2

หลงจากทรบทเครองใหมพารตชนท 5 กจะถกเมาทอตโนมตเหมอนพารตชนอนๆ คราวนเรากพรอมใชงานแลว

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 87: Cent OS-book

87

บทท 17 การทำา Disk Quota

ลนกซเปนระบบปฏบตการแบบผใชงานหลายคน (multi user) เมอมผใชงานหลายคนการใชงานพนทบน ฮารดดสกกเพมขนดวย และเมอเวลาผานไปกคงไมพอสำาหรบการใชงาน จำาเปนจะตองจำากดพนทการใชงาน ของผใชงานแตละคนโดยการใชโควตา ลนกซสามารถใชโควตาไดเลยเพราะมมากบ kernel ของลนกซอยแลว ระบบโควตา นนสามารถทำาได 2 แบบคอแบบสำาหรบ user quota และ group quota การทำางานของโควตานนเปนการทำางานตอพารตชน (ถาจะใชงาน quota กควรแบงพารตชนออกมาตงแตตอนตดตง) และจำากดการใชงานพนทดวย block (ขนาดพนท) และ inode (จำานวนไฟล)

ขนตอนการตดตงโควตา1. แกไขไฟล /etc/fatab ในคอลมนท 4 mount options เพม usrquota หรอ grpquota

LABEL=/home /home ext3 defaults 1 2แกเปนLABEL=/home /home ext3 defaults,usrquota,grpquota 1 2

2. เมาทพารตชน /home ใหมดวยคำาสงmount -o remount /home

3. สรางหรออพเดทฐานขอมลฐานขอมลของโควตาฐานขอมลจะเปนไบนารไฟลเกบอยทไดเรกทอรเหนอสดมชอวา aquota.user และ aquota.group โดยใชคำาสงquotacheck -cm /homeหรอtouch /home/aquota.usertouch /home/aquota.groupchmod 600 /home/aquota.userchmod 600 /home/aquota.group

4. เรมหรอหยดการทำางานโควตา ดวย quotaon / quotaoff คำาสงนจะทำางานเฉพาะพารตชนถาทำาโควตาไวหลายพารตชนจะใหทำางานครงเดยวกใหใชออปชน -aในทนเราตองการทำาโควตาทพารตชน /home ใชคำาสงquotaon /home

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 88: Cent OS-book

88

5. กำาหนดสทธการใชงานพนทใหกบผใชงานโดยใชสง edquota# edquota sothornDisk quotas for user sothorn (uid 501): Filesystem blocks soft hard inodes soft hard /dev/hda3 32 4096 5120 9 0 0

blocks พนททใชงานไปอนนไมตองแกมนจะเชคจากพนททใชงานจรงinode การจำากดการใชงานดวยจำานวนไฟลsoft คอพนท หรอจำานวนไฟล ทใชไดแตจะมขอความเตอนเมอใชพนทถง soft limit แตยงไมถง

hard limithard คนพนท หรอจำานวนไฟล ทจะใชงานไดเกนกวานไมไดอกแลวถาหากตองการใช groupquota กใหใชคำาสง edquota -g ตามดวยชอ group เชน edquota -g users

ทดสอบโควตาแบบ block[sothorn@server1 ~]$ dd if=/dev/zero of=newfile bs=1M count=33+0 records in3+0 records out[sothorn@server1 ~]$ dd if=/dev/zero of=newfile bs=1M count=4hda3: warning, user block quota exceeded.4+0 records in4+0 records out[sothorn@server1 ~]$ dd if=/dev/zero of=newfile bs=1M count=5hda3: warning, user block quota exceeded.hda3: write failed, user block limit reached.dd: writing `newfile': Disk quota exceeded5+0 records in4+0 records out[sothorn@server1 ~]$ 

ทดสอบแบบโควตาแบบ inode Disk quotas for user sothorn (uid 501):  Filesystem blocks soft hard inodes soft hard /dev/hda3 32 0 0  9 40 50

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 89: Cent OS-book

89

[sothorn@server1 ~]$ for i in $(seq 1 50); do  echo ­n "file${i}"; touch file${i} 2>&1;done|less

cannot touch `file42': Disk quota exceededfile43touch: cannot touch `file43': Disk quota exceededfile44touch: cannot touch `file44': Disk quota exceededfile45touch: cannot touch `file45': Disk quota exceededfile46touch: cannot touch `file46': Disk quota exceededfile47touch: cannot touch `file47': Disk quota exceededfile48touch: cannot touch `file48': Disk quota exceededfile49touch: cannot touch `file49': Disk quota exceededfile50touch: cannot touch `file50': Disk quota exceeded

ทดลองสรางไฟล จำานวน 50 ไฟล[sothorn@server1 ~]$ lsfile1   file12  file15  file18  file20  file23  file26  file29  file31 file34  file37  file4   file5  file8file10  file13  file16  file19  file21  file24  file27  file3   file32 file35  file38  file40  file6  file9file11  file14  file17  file2   file22  file25  file28  file30  file33 file36  file39  file41  file7

[sothorn@server1 ~]$ quotaDisk quotas for user sothorn (uid 501):     Filesystem  blocks   quota   limit   grace   files   quota   limit grace      /dev/hda3      36       0       0              50*     40      50[sothorn@server ~]$

จะเหนวาเราสามารถสรางไดแค 41 ไฟล รวมกบของเดมทมอยแลว (ไฟลซอน 9 ไฟล) เปน 50 ไฟล

ถาเราม user จำานวนมากแลวตองมานง set โควตาใหกบทกคนคงยงยากพอสมควร เราสามารถกอปป โควตาจาก user หนงไปยงอก user หนง ไดถาการจำากดจำานวนโควตาทเทากน โดยใชคำาสง # edquota -p user1 user2 user3 ความหมายคอ กอปปโควตา ของ user1 ไปให user2 ไปให user3

Grace Period คอ เวลาทเราใชพนท มาถง soft limit แตไมถง hard limit มาเปนเวลาครบตามกำาหนดโดยท soft limit กจะกลายเปน hard limit จนกวาเราจะลบไฟลออก คาของ grace period ถาเราไมกำาหนดคา grace period จะมคา 7 วน คาของ grace period มคาเปน months, weeks, days, hours, minutes และ seconds คำาสงทใชเปลยนแปลงคา grace period คอ edquota -t

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 90: Cent OS-book

90

บทท 18DNS (Domain Name System)

ระบบชอโดเมน การกำาหนดชอโดเมนใหเครองคอมพวเตอรแทนการใชหมายเลข IP (IP Address) ใหจำางายในการอางองถงคอมพวเตอรทเชอมตอกบเครอขายอนเทอรเนต เชน หมายเลข IP 61.19.246.165 แทนดวยโดเมนชอ sothorn.org ซงจะม DNS Server เปนตวใหบรการชอโดเมนซงจดเกบฐานขอมลชอโดเมน และหมายเลขไอพ โดยท DNS Server มโปรแกรม ทมหนาทแปลงชอโดเมนเปนหมายเลข IP และแปลงหมายเลข IP เปนโดเมน เพอตอบคำาถามใหกบเครองลกขายทถามเขามา ตว DNS Server แตละตวไมไดมขอมลครบทงหมด หากลกขายถามมาแลวไมเจอโดเมนนนๆ ตว DNS Server กจะถาม DNS Server ในระดบสงขนไป

โดเมน กลมของคอมพวเตอรบนเครอขายอนเทอรเนตแบงเปนระดบโดยมเครองหมาย . เปนตวคน เชน univercity.ac.th โดยท .th เปนโดเมนสงสด

ในการจดชอโดเมนสามารถทำาไดโดยเขาไปทเวบโฮสตงตางๆ ทรบจดชอและเชาพนท เชน www.keepdomain.com เมอเรากรอกขอมลในขนตอนกรอก DNS Server เราตองทราบกอนวาเราจะใชพนททไหนทำาเวบททใหเราเชาพนททำาเวบซงกจะม DNS Server ใหอยแลว เชน ของ KSC ns.ksc.co.th. 203.155.33.1 ns2.ksc.co.th. 202.44.144.33 หรอจะเชาพนทกบ Hosting ทรบจดโดเมนเนมเลยกได หรอจดชอแลวจะจดการเรอง DNS เองกลองไปลงทะเบยนท www.zonedit.com

ทกลาวมาเปนเรองของอนเทอรเนตถาเปนอนทราเนต เราแคตดตง DNS Server ในองคกรเรากสามารถตงชอโดเมนอะไรก ได เพราะ DNS Server เปนของเราเอง บนลนกซโปรแกรมทใชทำา DNS Server คอโปรแกรม BIND ปจจบนพฒนามาถงเวอรชน 9

ประวตความเปนมาของ BINDBIND (Berkeley Internet Name Domain) โปรแกรม BIND ไดพฒนาขนท University of California at

Berkeley เปนโปเจคของนกศกษาปรญญาตร ภายใตการสนบสนนโดย US Defense Advanced Research Projects Administration (DARPA) โปรแกรม BIND ตงแตเรมพฒนาจนถงเวอรชน 4.8.3 ไดรบการดแลจาก Computer Systems Research Group (CSRG) ท UC Berkeley ทมพฒนาไดแก Douglas Terry, Mark Painter, David Riggle และ Songnian Zhou

หลงจากนนกไดมการรบชวงการพฒนามาหลายคนหลายองคกร จนปจจบน BIND เวอรชน 9 ซงออกมาเมอเดอนกนยายน ป 2000 ไดรบการสนบสนนการพฒนาจากหนวยงานเหลาน

● Sun Microsystems, Inc.● Hewlett Packard● Compaq Computer Corporation● IBM● Process Software Corporation● Silicon Graphics, Inc.

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 91: Cent OS-book

91

● 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 chrootBind chroot เปนการปองกนการเขาถงของผประสงคราย ทจะเขามาทางจดออนของ BIND

การตดตง และคอนฟก BIND บน CentOSตดตงดวยคำาสง yum install bind-chrootขนตอนการคอนฟกอางองจาก howtoforge.com

1. chmod 755 /var/named/ 2. chmod 775 /var/named/chroot/ 3. chmod 775 /var/named/chroot/var/ 4. chmod 775 /var/named/chroot/var/named/ 5. chmod 775 /var/named/chroot/var/run/ 6. chmod 777 /var/named/chroot/var/run/named/ 7. cd /var/named/chroot/var/named/ 8. ln -s ../../ chroot 9. cp /usr/share/doc/bind-9.3.4/sample/var/named/named.local /var/named/chroot/var/named/named.local 10. cp /usr/share/doc/bind-9.3.4/sample/var/named/named.root /var/named/chroot/var/named/named.root 11. touch /var/named/chroot/etc/named.conf 12. chkconfig --levels 235 named on 13. /etc/init.d/named start

ไฟลและไดเรกทอรทเกยวของ/var/named/chroot/etc/named.conf เปนไฟลคอนฟกหลกทจะไปเรยกใชไฟลอน/var/named/chroot/var/named เปนไดเรกทอรทเกบไฟลทเรยกใชจาก /etc/named.conf

เปนททเราสรางไฟลทเกยวกบโดเมนไปเกบไว

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 92: Cent OS-book

92

ขนตอนการคอนฟก1. ตงชอโดเมน2. แกไขไฟล /etc/name.conf3. สรางไฟลทจะเปลยนชอเปน IP Address ใน /var/named/chroot/var/named4. สรางไฟลเปลยน IP Address เปนชอ /var/named/chroot/var/named5. start หรอ restart service named6. แกไฟล /etc/resolv.conf และรสตารท network7. ใช เครองมอในการทดสอบ

ความตองการทำาความเขาใจกนกอนนะครบวาเราจะตดตง Server กนภายในหนวยงานของเรา เพราะฉะนนเราจะตงชอ

อะไรกได ในทนตงชอโดเมนวา example.intranet โดยท Name Server ม IP 192.168.2.111 มความตองการดงน

เวบไซต http://www.example.intranet

เวบเมล http://webmail.example.intranet

phpMyAdmin http://phpmyadmin.example.com

IP 192.168.2.101 client01.example.com

IP 192.168.2.102 client02.example.com

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

เนอหาในไฟลzone "example.intranet" {     type master;     file "/var/named/chroot/var/named/example.intranet.zone"; }; 

zone "2.168.192.in­addr.arpa" {     type master;     file "/var/named/chroot/var/named/192.168.2.zone"; }; 

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

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

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 93: Cent OS-book

93

[root@server1 ~]# named­checkconf /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.conf:11: 'mastor' unexpected 

ถาไมมขอผดพลาด[root@server1 ~]# named­checkconf /var/named/chroot/etc/named.conf [root@server1 ~]#

สรางไฟลทจะเปลยนชอเปน IP Address ในทนคอไฟล example.intranet.zone ซงจะมหนาทในการเปลยนชอเปน IP Address โดยการสรางไฟล

ใหมแลวไปเกบท /var/named/chroot/var/named โดยมเนอหาภายในไฟล

$TTL 86400 @       IN      SOA     exaple.intranet. root.example.intranet.  (                              1997022700 ; Serial                              28800      ; Refresh                              14400      ; Retry                              3600000    ; Expire                              86400 )    ; Minimum 

@ IN      NS      ns1 IN      MX      10 mail IN      A       192.168.2.111 

ns1 IN      A       192.168.2.111 webmail IN      A       192.168.2.111 www IN      A       192.168.2.111 phpmyadmin IN      A       192.168.2.111 client01 IN      A 192.168.2.101 client02 IN      A       192.168.2.102 

สรางไฟลทจะเปลยน IP Address เปนชอ (192.168.2.zone)ในทนคอไฟล 192.168.2.zone มหนาทในการเปลยน IP Address เปนชอ โดยการสรางไฟลใหมแลวไป

เกบท /var/named/chroot/var/named เชนเดยวกนโดยมเนอหาภายในไฟล$TTL 86400 @       IN      SOA     exaple.intranet. root.example.intranet.  ( 

1997022700 ; Serial 28800      ; Refresh 14400      ; Retry 3600000    ; Expire 86400 )    ; Minimum 

                NS      ns1.example.intranet. 

111 PTR ns1.example.intranet. 111 PTR www.example.intranet. 111 PTR webmail.example.intranet. 111 PTR phpmyadmin.example.intranet. 101 PTR client01.example.intranet. 102 PTR client02.example.intranet. 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 94: Cent OS-book

94

รสตารท namedรสตารท named ดวยคำาสง /etc/init.d/named restart หรอ service named restart

DNS ClientDNS Client ในทนเปนเครองเซรฟเวอรทเรากำาลงคอนฟกอยกได หรอเปนเครองอน บนลนกซการทจะเปน

DNS Client ได ตองแกไขไฟล /etc/resolv.conf โดยเพมบรรทด nameserver 192.168.2.111 แลวรสตารทเนตเวรกดวยคำาสง [root@server1 ~]# /etc/init.d/network restart หลงจากนนจงจะตรวจสอบการทำางานของเซรฟเวอรได วาทำางานถกตองตามทเราตองการหรอเปลา

เครองมอในการตรวจสอบเครองมอในการตรวจสอบวาสงทเราไดทำาไปถกตอง ไดตามทตองการหรอไม โดยการใชคำาสง dig,

nslookup และ host [root@server1 ~]# dig example.intranet 

; <<>> DiG 9.3.4­P1 <<>> example.intranet ;; global options:  printcmd ;; Got answer: ;; ­>>HEADER<<­ opcode: QUERY, status: NOERROR, id: 61465 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 

;; QUESTION SECTION: ;example.intranet. IN A 

;; ANSWER SECTION: example.intranet. 86400 IN A 192.168.2.111 

;; AUTHORITY SECTION: example.intranet. 86400 IN NS ns1.example.intranet. 

;; ADDITIONAL SECTION: ns1.example.intranet. 86400 IN A 192.168.2.111 

;; Query time: 4 msec ;; SERVER: 192.168.2.111#53(192.168.2.111) ;; WHEN: Wed Mar 25 03:59:27 2009 ;; MSG SIZE  rcvd: 84 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 95: Cent OS-book

95

[root@server1 ~]# dig webmail.example.intranet 

; <<>> DiG 9.3.4­P1 <<>> webmail.example.intranet ;; global options:  printcmd ;; Got answer: ;; ­>>HEADER<<­ opcode: QUERY, status: NOERROR, id: 47455 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 

;; QUESTION SECTION: ;webmail.example.intranet. IN A 

;; ANSWER SECTION: webmail.example.intranet. 86400 IN A 192.168.2.111 

;; AUTHORITY SECTION: example.intranet. 86400 IN NS ns1.example.intranet. 

;; ADDITIONAL SECTION: ns1.example.intranet. 86400 IN A 192.168.2.111 

;; Query time: 4 msec ;; SERVER: 192.168.2.111#53(192.168.2.111) ;; WHEN: Wed Mar 25 04:00:44 2009 ;; MSG SIZE  rcvd: 92 

ทดสอบดวยคำาสง host[root@server1 named]# host client01.example.intranet client01.example.intranet has address 192.168.2.101 [root@server1 named]# host client02.example.intranet client02.example.intranet has address 192.168.2.102 [root@server1 named]# host client03.example.intranet Host client03.example.intranet not found: 3(NXDOMAIN) 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 96: Cent OS-book

96

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

TTL เปนระยะเวลาการมชวต(Time to Live) ของขอมล@ เปนชอของโดเมน เชน example.intranet ทลนกซใชอางองจากไฟล /etc/named.confIN คอ อนเทอรเนตSerial เปนหมายเลขทใชแสดงการอพเดทขอมลระหวาง Primary Master และ Secondary Master

ถาเมอใดทคานของ Primary Master มคามากกวา Secondary Master กจะทำาการอพเดทขอมล DNS ของ Primary ไปส Secondary เพอใหขอมลทงสองเหมอนกนเสมอ

Refresh ระยะเวลาทใชในการรเฟรชขอมลRetry ระยะเวลาทใชในการตรวจสอบขอมลกบ PrimaryExpire ระยะเวลาการหมดอายของขอมล กรณทไมสามารถตดตอเพอขอขอมล (refresh) กบ Primary ไดSOA Start of authority NS เปน Name Server ของโดเมน โดยจะกำาหนดไวหลง record SOAA เปน Address record คอจะแมบชอโฮสเปน IP AddressCNAME เปน Canonical name ใชกำาหนดชอเสมอน (Alias name) ใหเปนชอโฮสจรงMX เปนชอเครอง Mail server exchange ททำาหนาทรบสงเมลในระบบPTR เปน Pointer Record ใชในการแมบ IP Address เปนชอโฮส

อางองคำาอธบายคมภร Linux RedHat เลม 1 อ.บณฑต จามรภต หนา 262-263

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 97: Cent OS-book

97

บทท 19Apache เวบเซรฟเวอร และ Virtual Host

ตามเนอหาในบทท 17 จะเหนไดวาเราไดทำา Virtual Host ไวแลว นนคอ webmail.example.intranet และ phpmyadmin.example.intranet ในการทจะทำาใหระบบทตองการสมบรณกตองแกไฟลคอนฟกของ Apache ดวยไฟลคอนฟกของ Apache อยท /etc/httpd/conf/httpd.conf การทำา Virtual Host สามารถทำาได 2 แบบ คอ แบบชอ (หลายชอบน IP เดยว) และแบบ IP (1 เครอง มหลาย IP 1 IP ตอ 1 เวบไซต)

การทำา Virtual Host แบบชอ (หลายชอบน IP เดยว)มวธการทำาดงน1) แกไขไฟล /etc/httpd/conf/httpd.conf โดยการเพมดงน

NameVirtualHost 192.168.2.111:80 <VirtualHost 192.168.2.111:80>     ServerAdmin webmaster@[email protected]     DocumentRoot /var/www/html/     ServerName example.intranet     ErrorLog logs/www.example.intranet­error_log     CustomLog logs/www.example.intranet­access_log common </VirtualHost> 

<VirtualHost 192.168.2.111:80>     ServerAdmin [email protected]     DocumentRoot /var/www/html/phpMyAdmin     ServerName phpMyadmin.example.intranet     ErrorLog logs/phpmyadmin.example.intranet­error_log     CustomLog logs/dummy­host.example.intranet­access_log common </VirtualHost> 

<VirtualHost 192.168.2.111:80>     ServerAdmin [email protected]     DocumentRoot /var/www/html/webmail     ServerName webmail.example.intranet     ErrorLog logs/webmail.example.intranet­error_log     CustomLog logs/webmail.example.intranet­access_log common </VirtualHost> 

2) สรางไดเรกทอรตามทกำาหนดใน httpd.conf และสรางไฟล index.html[root@server1 ~]# cd /var/www/html/ [root@server1 html]# mkdir webmail [root@server1 html]# mkdir phpMyAdmin [root@server1 webmail]# echo "Welcome to my webmail." >index.html[root@server1 webmail]# cd ../phpMyAdmin[root@server1 webmail]# cd ../phpMyAdmin/ [root@server1 phpMyAdmin]# echo "This is my phpMyAdmin." >index.html [root@server1 phpMyAdmin]# 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 98: Cent OS-book

98

3) เมอแกเสรจกใหใชคำาสง รสตารท service [root@server1 ~]# /etc/init.d/httpd restart     หรอ[root@server1 ~]# service httpd restart[root@server1 ~]# /etc/init.d/httpd restart Stopping httpd:                                            [  OK  ] Starting httpd:                                            [  OK  ] [root@server1 ~]# 

4) ทดลองโดยการเปด Browser แลวเรยก URL ไปท http://www.example.intranet

รปท 19-1 แสดงเวบเพจ http://www.example.intranethttp://webmail.example.intranet

รปท 19-2 แสดงเวบเพจ http://webmail.example.intranet

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 99: Cent OS-book

99

http://phpmyadmin.example.intranet

รปท 19-3 แสดงเวบเพจ http://phpmyadmin.example.intranet

การทำา Virtual Host แบบ IP (1 เครอง มหลาย IP 1 IP ตอ 1 เวบไซต)มวธการทำาดงน1) เพม IP Address โดยการแกไขไฟล เขาไปทำางาน ท /etc/sysconfig/network-scripts / แลวกอปป ไฟล

ifcfg-eth0 ไปเปน ifcfg-eth0 :1 แลวแก IP เปน 192.168.2.112 เขาไปอก 1 IPTYPE=Ethernet DEVICE=eth0:1 BOOTPROTO=none NETMASK=255.255.25520 IPADDR=192.168.2.112 USERCTL=no IPV6INIT=no PEERDNS=yes 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 100: Cent OS-book

100

หรอจะใช system-config-network เพม Ethernet กได

รปท 19-4 แสดง การเพม Ethernet

2) รสตารทเซอรวสเนตเวรก โดยใชคำาสง /etc/init.d/network restart หรอ service network restart แลวทดสอบ ดวยคำาสง ifconfig [root@server1 ~]# ifconfig eth0      Link encap:Ethernet  HWaddr 08:00:27:5A:99:F4            inet addr:192.168.2.111  Bcast:192.168.2.255  Mask:255.255.255.0           inet6 addr: fe80::a00:27ff:fe5a:99f4/64 Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:7568 errors:0 dropped:0 overruns:0 frame:0           TX packets:7506 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000           RX bytes:3250897 (3.1 MiB)  TX bytes:885729 (864.9 KiB)           Interrupt:11 Base address:0xc020 

eth0:1    Link encap:Ethernet  HWaddr 08:00:27:5A:99:F4            inet addr:192.168.2.112  Bcast:192.168.2.255  Mask:255.255.255.0           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           Interrupt:11 Base address:0xc020 

เครองของเรากจะม 2 IP คอ 192.168.2.111 และ 192.168.2.112 ซงเครอง 192.168.2.112 เราจะตงชอวา server2.example.intranet

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 101: Cent OS-book

101

3) แกไข DNS ในไฟล /var/named/chroot/var/named/example.intranet.zone เพม server2  IN      A       192.168.2.112

ไฟล /var/named/chroot/var/named/192.168.2.zone เพม112             PTR     server2.example.intranet.

4) รสตารทเซอรวสของ /etc/init.d/named restart หรอ service named restart5) แกไขไฟล /etc/httpd/conf/httpd.conf เพม

<VirtualHost server2.example.intranet:80>     ServerAdmin webmaster@[email protected]     DocumentRoot /var/www/html/server2     ServerName server2.example.intranet     ErrorLog logs/server2.example.intranet­error_log     CustomLog logs/server2.example.intranet­access_log common </VirtualHost> 

6) สรางไดเรกทอร server2 และไฟล index.html[root@server1 ~]# cd /var/www/html/ [root@server1 html]# mkdir server2 [root@server1 html]# cd server2 [root@server1 server2]# echo "Welcome to server2" > index.html 

7) รสตารทเซอรวส ของ httpd ดวยคำาสง /etc/init.d/httpd restart     หรอservice httpd restart

8) เปด Browser ทดลองเรยก URL http://server2.example.intranet

รปท 19-5 แสดงเวบเพจ http://server2.example.intranet

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 102: Cent OS-book

102

บทท 20ตดตง อพเกรด และใชงาน 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 มาใหอยแลว สามารถตดตงไดโดยใช system-config-packages

รปท 20-1 แสดงการตดตง MySQL ดวย system-config-packages

หรอ จะใชคำาสง yum install mysql-server กไดเชนเดยวกน

เรมใชงาน MySQLหลงจากทตดตงเสรจแลวใชคำาสงให MySQL ทำางานตอนบท ดวยคำาสง chkconfig และให service

ของ MySQL ทำางานดวยคำาสง service ชอ service ของ MySQL คอ mysqld

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 103: Cent OS-book

103

[root@server1 ~]# chkconfig mysqld on[root@server1 ~]# service mysqld startInitializing MySQL database: [  OK  ]Starting MySQL: [  OK  ]

จะเหนวาถาเราสงให MySQL ทำางานเปนครงแรกกจะมการสรางฐานขอมลตงตนของ MySQL โดยดไดจากขอความ Initializing MySQL database: จะมขอความนครงแรกครงเดยว และ MySQL เรมทำางาน MySQL ทำางานแลวกสามารถใชงาน MySQL ได

ตงรหสผานใหกบ user root ทจะเขาใชงานฐานขอมลเพอการรกษาความปลอดภยของการเขาถงฐานขอมล มความจำาเปนจะตองตงรหสผานใหกบ user root ซง

เปน user ทจะตดตอฐานขอมล โดยการใชคำาสง mysqladmin -u root password mypassword โดยท mypassword คอ ผาน ตอไปนการตดตอฐานขอมลจะใช user root และรหสผาน คอ mypassword [root@server1 ~]# mysqladmin ­u root password mypassword [root@server1 ~]# mysql ­u root ­p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.0.45 Source distribution 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 

mysql> 

ออกจากการใชงาน MySQLmysql> \q Bye [root@server1 ~]# 

หรอmysql> exit Bye [root@server1 ~]# 

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

[root@server1 ~]# mysqladmin ­u root password mypassword [root@server1 ~]# mysql ­u root ­p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.0.45 Source distribution 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 

mysql> 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 104: Cent OS-book

104

แบบท 2 ใสรหสผานตอจากออปชน -p [root@server1 ~]# mysql ­u root ­pmypassword Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.0.45 Source distribution 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 

mysql> 

ถาใสรหสผานผดกจะมขอความเตอน[root@server1 ~]# mysql ­u root ­p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) [root@server1 ~]# 

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

[root@server1 ~]# mysqladmin creat newdb ­u root ­p Enter password: [root@server1 ~]# 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

[root@server1 ~]# mysql newdb < /root/file.sql ­u root ­pEnter password:

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 105: Cent OS-book

105

Backup ฐานขอมลดวยคำาสง dump[root@server1 ~]#  mysqldump dbname > /root/file_backup.sql ­u root ­pEnter password:

การเปลยน password ของ user root ทใชงานฐานขอมล MySQLการเปลยนรหสผาน user root ของ MySQL แบบน ทานตองจำารหสผานเดมได

โดยการใชคำาสงเหลาน[root@server1 ~]# 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> 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 sothorn@'%'; Query OK, 0 rows affected (0.00 sec) 

mysql> update user set Password=password('password') where User='sothorn'; Query OK, 1 row affected (0.00 sec) Rows matched: 1  Changed: 1  Warnings: 0 

mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 106: Cent OS-book

106

จากคำาสงสามารถอธบายไดวา อนญาตให user sothorn สามารถตดตอฐานขอมลทอยบนเครองน ไดจากทกเครอง (%) โดยสามารถใชงาน ไดทกฐานขอมลทกตาราง (*.*) ถาอนญาตบางฐานขอมลกใช ชอ db.* เชน mydb.*

ทดสอบตดตอฐานขอมลจากเครองอนroot@amdx2:~# mysql ­h 192.168.2.111 ­u sothorn ­p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 

Server version: 5.0.45 Source distribution 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 

mysql> 

วธแกปญหาเมอลมรหสผานของ root ใน MySQLมความเปนไปไดมากกบการลมรหสผานของ user root ของ MySQL ไมตองตกใจครบมวธการแกปญหา

ดงคำาสงดงตอไปน[root@server1 ~]# /etc/init.d/mysqld stop[root@server1 ~]# /usr/bin/mysqld_safe ­­user=root ­­skip­grant­tables &[root@server1 ~]# 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[root@server1 ~]# mysqladmin shutdown[root@server1 ~]# /etc/init.d/mysqld start

จะเหนวาเราตองหยดการทำางานของ MySQL กอน แลวจงสงให MySQL ทำางานอกครงหนงโดยใช ออปชน ­­skip­grant­tables หลงจากนนกสามารถเขาใชงาน MySQL ไดโดยไมตองใสรหสผาน เมอเขามาไดแลวกทำาการเปลยนรหสผานโดยใชคำาสง update

การอพเกรด MySQL เปนเวอรชนลาสดCentOS 5.2 มาพรอมกบ MySQL เวอรชน 5.0.45 ถาตองการเวอรชนทใหมกวานสามารถดาวนโหลดไดท

http://dev.mysql.com/downloads/mysql/5.1.html หวขอ • Linux x86 generic RPM (dynamically linked) downloads หรอ • Linux AMD64 / Intel EM64T generic RPM downloads

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 107: Cent OS-book

107

ขนอย CPU ททานใชอย โดยดาวนโหลดทกไฟลในหวขอทตรงกบ CPU ททานใชงานอย ดาวนโหลดมาเรยบรอยแลวใหดำาเนนการดงน

1) ถามฐานขอมลอยใหสำารองขอมลดวยคำาสง mysqldump เพอความปลอดภย2) หยดการทำางานของ MySQL ดวยคำาสง /etc/init.d/mysqld stop3) ลบ MySQL เวอรชนทตดมากบ CentOS5.2 โดยใชคำาสง yum remove mysql-server4) ไฟลทดาวนโหลดมามดงน

[root@server1 mysql_install]# ls MySQL-client-5.1.32-0.glibc23.i386.rpm MySQL-server-5.1.32-0.glibc23.i386.rpm MySQL-debuginfo-5.1.32-0.glibc23.i386.rpm MySQL-shared-5.1.32-0.glibc23.i386.rpm MySQL-devel-5.1.32-0.glibc23.i386.rpm MySQL-shared-compat-5.1.32-0.glibc23.i386.rpm MySQL-embedded-5.1.32-0.glibc23.i386.rpm MySQL-test-5.1.32-0.glibc23.i386.rpm

5) ตดตงโดยใชคำาสง rpm -Uvh --force MySQL-*.rpm [root@server1 mysql_install]# rpm ­Uvh ­­force  MySQL­*.rpm Preparing...                ########################################### [100%]    1:MySQL­shared­compat    ########################################### [ 13%]    2:MySQL­devel            ########################################### [ 25%]    3:MySQL­client           ########################################### [ 38%]    4:MySQL­debuginfo        ########################################### [ 50%]    5:MySQL­embedded         ########################################### [ 63%]    6:MySQL­server           ########################################### [ 75%]   7:MySQL­shared           ########################################### [ 88%]    8:MySQL­test             ########################################### [100%]

ตดตงเสรจระบบจะสตารท MySQL ใหเองทนท เรากสามารถเขาใชงานฐานขอมลไดเลยโดยใช ผใช และ รหสผานเดม[root@server1 mysql_install]# mysql ­u root ­p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.32 MySQL Community Server (Copyright 2000­2008 MySQL AB, 2008 Sun Microsystems, Inc.  All rights reserved.  Use is subject 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 

mysql> 

ขอควรระวง ไฟล start script ทอยใน /etc/init.d/ ใน MySQL เวอรชนนจะชอ mysql ไมใช mysqld เหมอนเวอรชนเกา

เพราะฉะนนเวลาสงสตารท mysql เวอรชนน ตองใชคำาสง /etc/init.d/mysql start หรอ service mysql startถาหากไมคนเคยกสามารถเปลยนชอไฟลจาก /etc/init.d/mysql เปน /etc/init.d/mysqld ไดเชนกน

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 108: Cent OS-book

108

บทท 21 การตดตง Apache+PHP และ phpMyAdmin

ปจจบนเวบเซรฟเวอรเขามามบทบาทในองคกรมากขน หลายองคกรมเวบเซรฟเวอร เพอใชในการสอสาร ภายใน แลกเปลยนความคดเหนผานเวบบอรด ฯลฯ ปจจบนการทำาเวบเซรฟเวอรเพอใหบรการเฉพาะไฟล html ไมเพยงพอสำาหรบการใชงาน เวบเซรฟเวอรจะตองทำางานรวมกบภาษา PHP และตดตอฐานขอมลเชน MySQL, PostgreSQL ฯลฯ จงจะถอวาเปนเวบเซรฟเวอรทพรอมใชงานในองคกร

CentOS จะมโปรแกรมทจะใชงานเปนเวบเซรฟเวอรมาใหเรยบรอยแลว นนกคอโปรแกรม Apache2 แตชอแพกเกจ ชอวา httpd ถาหากยงไมตดตง ตงแตขนตอนตดตงเรากสามารตดตงภายหลง

การตดตง Web Server+PHPสามารถตดตง Apache และ PHP ดวย system-config-packageเลอก Web Server

รปท 21-1 แสดงการตดตงเวบเซรฟเวอรดวย system-config-package

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 109: Cent OS-book

109

กด Optional เพอเลอกแพกเกจเพมเตมตามตองการ

รปท 21-2 แสดงการเลอกแพกเกจเพมเตม

เราจะใชงาน PHP ดวยเพราะฉะนนอะไรทเกยวของกเลอกไปเถอะครบเกนดกวาขาด มนไมไดกนพนทมากดวย เลอกเสรจกดปม Close แลว Apply หลงจากตดตงเสรจใหใชคำาสง[root@server1~]# chkconfig httpd on

เพอให httpd ทำางานทกครงทเปดเครองให httpd ทำางาน[root@server1~]# service httpd start

หรอ[root@server1~]# /etc/init.d/httpd start

สงทตองทราบ/var/www/html คอ ไดเรกทอรทเราเอาไฟล .html หรอ .php ไปเกบไว หรอเรยกวา Document root/etc/httpd/conf/httpd.conf ไฟล config ของ Web Server

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 110: Cent OS-book

110

ทดสอบการทำางานของ Web Server และ PHP ทดสอบการทำางานของเวบเซรฟเวอรวาทำางานหรอไม ใหเปดโปรแกรม Browser ขนมาแลวเรยก URL

http://www.example.intranet หรอ http://localhost ถาเปดหนา Default Page ขนมาได กแสดงวา Web Server ทำางานแลว

รปท 21-3 แสดงหนา Default ของ http://www.example.intranet

ทดสอบการทำางานของ PHPสรางไฟล phpinfo.php โดยมเนอความขางในไฟล

<?phpphpinfo();?>

แลวนำาไฟล phpinfo.php ไปไวท /var/www/html แลวใช Browser เรยก URL http://www.example.intranet/phpinfo.php

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 111: Cent OS-book

111

รปท 21-4 แสดง รายละเอยดของ PHP

ทดสอบการทำางานกบ 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.exaple.intranet/connect.php

รปท 21-5 แสดงการตดตอฐานขอมล MySQL ดวย PHP

แสดงวาสามารถตดตอฐานขอมล MySQL ได

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 112: Cent OS-book

112

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

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

รปท 21-6 แสดงเวบ www.phpmyadmin.net

ปจจบน phpMyAdmin เวอรชน 3.1.x ไมสามารถตดตงบน CentOS 5.2 ได เพราะ CentOS 5 .2 ใช PHP เวอรชน 5.1 ซงไมสามารถใชงานไดกบ phpMyadmin เวอรชน 3.1.x ตองดาวนโหลด phpMyAdmin เวอรชน 2.11.x มาใชแทนไฟลทดาวนโหลดมา จะมชอ phpMyAdmin-2.11.9.5-all-languages.tar.gz เมอขยายไฟลแลวใหเอาไปไวท /var/www/html [root@server1 ~]# tar xvfz phpMyAdmin­2.11.9.5­all­languages.tar.gz |more phpMyAdmin­2.11.9.5­all­languages/ phpMyAdmin­2.11.9.5­all­languages/scripts/ phpMyAdmin­2.11.9.5­all­languages/scripts/find_unused_messages.sh phpMyAdmin­2.11.9.5­all­languages/scripts/remove_control_m.sh phpMyAdmin­2.11.9.5­all­languages/scripts/lang­cleanup.sh …[root@server1 ~]# mv phpMyAdmin­2.11.9.5­all­languages /var/www/html/phpMyAdmin

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 113: Cent OS-book

113

ทดลองทดสอบการทำางานจาก Browserเปด Browser เรยก URL http://phpmyadmin.example.intranet/

รปท 21-7 แสดงไมสามารถเขาใชงาน phpMyAdmin

จากรป 20-7 จะเหนวายงไมสามารถตดตอฐานขอมลได ใหเขาไปทำางานทไดเรกทอร /var/www/html/phpMyAdmin เพอแกไขไฟล config.inc.php แกไฟลดวย vi หรอ text editor ททานถนด[root@server1 ~]# cd /var/www/html/phpMyAdmin/ [root@server1 ~]# cp config.sample.inc.php  config.inc.php [root@server1 ~]# vi config.inc.php

แกไขไฟล config.inc.php โดยใหคาตวแปร $cfg['blowfish_secret'] เปนอะไรกได$cfg['blowfish_secret'] = 'fsdfsdf'; 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 114: Cent OS-book

114

แลวเปด Browser เรยก URL http://phpmyadmin.example.intranet/ อกครง กสามารถ Login ได

รปท 21-8 แสดงหนา Login ของ phpMyAdmin

ถา username และ password ทตดตอฐานขอมล MySQL ถกตองกจะเขาใชงานไดเลย

รปท 21-9 แสดง phpMyAdmin

เทาน ทานกสามารถตดตงโปรแกรมตางๆ ไดไมวาจะเปน phpNuke, Joomla, Drupal, eGroupware ฯลฯ ศกษาและทดลองตดตงเองนะครบจะไมกลาวถงในทน

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 115: Cent OS-book

115

บทท 22Postfix Mail Server

กอนทจะลงมอตดตง Postfix มาทำาความเขาใจคำาศพทตางๆ ทเกยวของกบเรอง mail กอนนะครบSMTP(Simple Mail Transfer Protocol) เปนโปรโตคอล ของ TCP/IP ใชในการสงและรบ

E-mail ในเครอขายอนเทอรเนต ไปยงเครองบรการอน ๆ ซงสามารถสงเมลไปยงผใชไดทวโลก และมโปรโตคอลทใชรบสงชดเจน

MTA (Mail Transport Agent) คอโปรแกรมคอมพวเตอรททำาหนาทรบสง mailPOP3 (Post Office Protocol version 3) และ IMAP(Internet Message Access Protocol ) เปน

โปรโตคอลททำาใหสามารถใชในการรบ หรออาน mail ผานโปรแกรม e-mail Client เชน Thunderbird Outlook ไดIMAP ไดรบการพฒนาขนมาหลงจากทมการใช POP มากอน ดงนน ความสามารถพนฐานท POP ทำาได

IMAP กจะทำาไดเชนกน แตจะม ความสามารถเพมเตมขนมา เชน คณสามารถทจะอาน E-mail ของคณบน server ไดเลย โดยทไมจำาเปนตองดาวนโหลดมาทเครองของคณ ซงถาเปน POP คณจะตองดาวนโหลด email มาทเครองคณกอนคณถงจะอานได

Port ทใหบรการ SMTP 25, POP3 110 และ IMAP 143

การตดตง Postfix โดยปกต CentOS จะมโปรแกรมทเปน MTA มาใหอยแลวนนกคอ sendmail ถงแมวา sendmail จะเปน

โปรแกรมทไดรบความนยมมาก แตในความเปนจรง ประสทธภาพ และความสะดวกในการใชงาน postfix มมากกวา เพราะฉะนนในบทนจะพดถงการตดตงและใชงาน postfix ในการนำาเสนอในบทนเปนเพยงพนฐานของ postfix เทานน เพยงแคใหใชงานเปนอนทราเนตเทานน ในการใชงานจรงบนโลกอนเทอรเนตจะตองศกษาอกมากมาย

1) ลบ sendmail ออก โดยใชคำาสง yum remove sendmail2) ตดตง Postfix โดยใชคำาสง yum install posfix3) ใชคำาสง chkconfig ให postfix ทำางานทกครงทบท chkconfig postfix on 4) แกไฟล config /etc/postfix/main.cfกอนทจะให postfix ทำางาน มาแกไฟลคอนฟกของ postfix กนกอนครบ ไฟลคอนฟกของ postfix ทงหมด

อยท /etc/postfix ไฟลทเราจะแกคอ main.cf แกโดยการเอาเครองหมาย # ออกและเอาชอโดเมนเราใสเขาไปmyhostname = example.intranetสวนinet_interfaces = localhostหมายความวาใหรบสง mail กนเฉพาะภายในเครองนเทานน ถาตองการให mail นตดตอกบ mail server ตว

อน ใหเปลยนเปน inet_interfaces = all

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 116: Cent OS-book

116

สวนคาอนๆ ปลอยใหเปนคาปกต ถาใครจะทำาเปน mail server ทใชงานจรงบนอนเทอรเนตตองศกษาใหมากยงกวานครบ

5) เมอแกคอนฟกเสรจแลว service postfix start6) เพม user เพอทดลองสง mail ในทนจะเพม user1 และ user2

[root@server1 ~ ]# useradd user1 [root@server1 ~ ]# useradd user2 [root@server1 postfix]# passwd user1 Changing password for user user1. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@server1 postfix]# passwd user2 Changing password for user user2. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. 

7) ทดลองสง mail สงจาก root ไปยง user1[root@server1 ~]# mail [email protected] Subject: Test Mail Test Cc: 

8) ดผลการทำางานจาก Log ดวยคำาสง tail -f /var/log/maillog[root@server1 ~]# tail ­f /var/log/maillog Mar 26 21:14:11 server1 postfix/pickup[8916]: 4387B1C3920: uid=0 from=<root> Mar 26 21:14:11 server1 postfix/cleanup[8995]: 4387B1C3920: message­id=<[email protected]> Mar 26 21:14:11 server1 postfix/qmgr[8917]: 4387B1C3920: from=<[email protected]>, size=308, nrcpt=1 (queue active) Mar 26 21:14:11 server1 postfix/local[8997]: 4387B1C3920: to=<[email protected]>, relay=local, delay=0.15, delays=0.11/0.02/0/0.02, dsn=2.0.0, status=sent (delivered to mailbox) Mar 26 21:14:11 server1 postfix/qmgr[8917]: 4387B1C3920: removed 

9) user1 เชค mail[root@server1 ~]# su ­ user1 [user1@server1 ~]$ mail Mail version 8.1 6/6/93.  Type ? for help. "/var/spool/mail/user1": 1 message 1 new >N  1 [email protected]  Thu Mar 26 21:14  14/465   "Test Mail" & 1 Message 1: From [email protected]  Thu Mar 26 21:14:11 2009 X­Original­To: [email protected] Delivered­To: [email protected] To: [email protected] Subject: Test Mail Date: Thu, 26 Mar 2009 21:14:11 +0700 (ICT) From: [email protected] (root) 

Test 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 117: Cent OS-book

117

10) ทดลองสง mail จาก user1 ไปยง user2[root@server1 ~]# su ­ user1 [user1@server1 ~]$ mail [email protected] Subject: Test From User1 Test Cc: [user1@server1 ~]$ 

11) ดผลการทำางานจาก LogMar 26 21:20:52 server1 postfix/pickup[8916]: 72FA61C3920: uid=500 from=<user1> Mar 26 21:20:52 server1 postfix/cleanup[9147]: 72FA61C3920: message­id=<[email protected]> Mar 26 21:20:52 server1 postfix/qmgr[8917]: 72FA61C3920: from=<[email protected]>, size=310, nrcpt=1 (queue active) Mar 26 21:20:52 server1 postfix/local[9149]: 72FA61C3920: to=<[email protected]>, relay=local, delay=0.13, delays=0.09/0.02/0/0.03, dsn=2.0.0, status=sent (delivered to mailbox) Mar 26 21:20:52 server1 postfix/qmgr[8917]: 72FA61C3920: removed 

12) user2 เชค mail[root@server1 ~]# su ­ user2 [user2@server1 ~]$ mail Mail version 8.1 6/6/93.  Type ? for help. "/var/spool/mail/user2": 1 message 1 new >N  1 [email protected]  Thu Mar 26 21:20  14/469   "Test From User1" & 1 Message 1: From [email protected]  Thu Mar 26 21:20:52 2009 X­Original­To: [email protected] Delivered­To: [email protected] To: [email protected] Subject: Test From User1 Date: Thu, 26 Mar 2009 21:20:52 +0700 (ICT) From: [email protected]  Test 

การตดตง SquirrelMailSquirrelMail เปนโปรแกรมเวบเมลทเขยนดวย PHP ทตดตงงายมากตวหนง ดาวนโหลดไดท

http://www.squirrelmail.org/ แตกอนทจะตดตง Squirrelmail เราตองทำาใหเครองเราม IMAP ใหบรการกอน เพราะ squirrelmail ใช

โปรโตคอล IMAP ในการเขาถง mail โปรแกรมทใชคอ dovecot 1) ตดตงและใชงาน dovecot

[root@server1 ~]# yum install dovecot[root@server1 ~]# chkconfig dovecot on[root@server1 ~]# service dovecot start    หรอ [root@server1 ~]# /etc/init.d/dovecot start

สวนนไมตองแกคอนฟกของ dovecot กใชงานไดเลย

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 118: Cent OS-book

118

2) ตดตง Squirrelmail [root@server1 ~]# tar xvfz squirrelmail­1.4.17.tar.gz [root@server1 ~]# cd squirrelmail­1.4.17 [root@server1 squirrelmail­1.4.17]# cp ­R * /var/www/html/webmail/ [root@server1 squirrelmail­1.4.17]# cd /var/www/html/webmail/config[root@server1 config]# cp config_default.php config.php [root@server1 config]# cd /var/local/ [root@server1 local]# mkdir ­p squirrelmail/data [root@server1 local]# chmod 777 squirrelmail/data 

3) เมอไดทำาตามขนตอนเรยบรอยแลว กเปด Browser เรยก URL http://webmail.example.intranet แลวลอง Login

รปท 22-1 แสดงหนา Login ของ SquirrelMail

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 119: Cent OS-book

119

หนาตาของโปรแกรม SquirrelMail

รปท 22-2 แสดงโปรแกรม SquirrelMail

เปนอนวาเสรจการตดตงโปรแกรม SquirrelMail อนนเปนเพยงตวอยางคราวๆ หากใครจะนำาไปใชงานจรงจะตองตดตงสวนประกอบอนๆ เพมเตมไมวาจะเปนเรองของภาษาไทย และ Plugins ยงมโปรแกรมอนอกมากมายทเปนโปรแกรม webmail เชน OpenWebmail, NOCC Webmail, IlohaMail ฯลฯ ทงนทานสามารถเลอกใชงานไดตามความตองการ

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 120: Cent OS-book

120

บทท 23การควบคมเซรฟเวอรลนกซจากระยะไกลดวย SSH และสงไฟล ดวย SFTP

การใชงานเซรฟเวอรโดยปกตแลวเราอาจจะไมไดนงอยหนาจอของเซรฟเวอรตลอดเวลา เราสามารถรโมทเขามาทำางานได เมอกอนเราสามารถรโมทเขามาทำางานดวยโปรแกรม telnet แต telnet มขอดอยในการรกษาความปลอดภยในการสงขอมลระหวางไคลเอนตกบเซรฟเวอร เพราะไมมการเขารหส ขอมลระหวางการสงขอมล ในปจจบนไดเปลยนมาใช Secure Shell (SSH) Secure Shell (SSH)

โปรโตคอลในการสรางการตดตอเพอเขาใชงานระบบอยางปลอดภย โดยทโปรโตคอลดงกลาวจะทำาการเขารหสขอมลทกอยางไมวาจะเปน ชอผใช รหสผาน หรอขอมลอนๆ กอนทจะทำาการสงไปยงเครองเซรฟเวอร โดยปกตนยมนำา SSH มาใชงานแทน telnet เพราะมความปลอดภยมากกวา

Secure File Transfer Protocol (SFTP) เปนโปรโตคอลทนำามาใชแทน FTP โดยจะเปนสวนหนงของ SSH ซงจะม sftp-server เปนโปรแกรมทรน

อยทฝงเซรฟเวอร รอรบการตดตอจากไคลเอนตผานทางคำาสง sftp บนระบบปฏบตการ linux และในระบบปฏบตการ Windows กมโปรแกรมทจะใชสำาหรบตดตอและโอนถายขอมลกบเซรฟเวอรผาน SSH ดวย เชน winscp และ SSH Secure File Transfer Client เปนตน

การใชงาน ssh และ sftp บนลนกซตระกล Red Hat หลงจากตดตงเสรจสามารถใชงานไดเลยถาไมไดตดตง Firewall การใชงาน ssh บนลนกซ usage: ssh [-1246AaCfgKkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-i identity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-w local_tun[:remote_tun]] [user@]hostname [command] ตวอยางการใชงาน ssh[root@client1 ~]# ssh ­l root 192.168.2.111 [email protected]'s password: Last login: Fri Mar 27 18:23:35 2009 from 192.168.2.111 [root@client1 ~]# ตามดวยคำงส[root@client1 ~]# ssh ­l root 192.168.2.111 shutdown ­h [email protected]'s password: Last login: Fri Mar 27 18:23:35 2009 from 192.168.2.111 

การใชงาน ssh จากโปรแกรมบนวนโดว การทำางานอยบนวนโดวกสามารถรโมทเขามาทำางานทลนกซได แตตองตดตงโปรแกรม SSH Client กอน เชน Putty SSH Secure Shell Client

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 121: Cent OS-book

121

ตวอยาง โปรแกรม Putty

รปท 23-1 แสดงโปรแกรม Putty

ตวอยางโปรแกรม SSH Secure Shell Client

รปท 23-2 แสดงโปรแกรม SSH Secure Shell Client

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 122: Cent OS-book

122

การใชงาน sftp sftp [-1Cv] [-B buffer_size] [-b batchfile] [-F ssh_config] [-o ssh_option] [-P sftp_server_path] [-R num_requests] [-S program] [-s subsystem | sftp_server] host ftp [[user@]host[:file [file]]] sftp [[user@]host[:dir[/]]] sftp -b batchfile [user@]host

ตวอยางการใชงาน sftp แบบคำาสงบนลนกซเอาไฟลจาก Server มาไวทเครองทำางาน (Download)root@amdx2:~# sftp [email protected] Connecting to 192.168.2.111... [email protected]'s password: sftp> ls mydb_backup.tar.gzsftp> get mydb_backup.tar.gz get mydb_backup.tar.gz Fetching /root/mydb_backup.tar.gz to mydb_backup.tar.gz /root/mydb_backup.tar.gz                      100%  208     0.2KB/s 00:00    sftp>          

เอาไฟลจากเครองทำางานไปไวท Server (Upload)root@amdx2:~# lsVirtualBox­2.1.2­41885­Linux_amd64.runsftp> bye root@amdx2:~# sftp [email protected] Connecting to 192.168.2.111... [email protected]'s password: sftp> lls VirtualBox­2.1.2­41885­Linux_amd64.runsftp> put  VirtualBox­2.1.2­41885­Linux_amd64.run Uploading VirtualBox­2.1.2­41885­Linux_amd64.run to /root/VirtualBox­2.1.2­41885­Linux_amd64.run VirtualBox­2.1.2­41885­Linux_amd64.run        100%   37MB   3.1MB/s 00:12    sftp> 

การใชงาน sftp จากวนโดว บนวนโดวเราสามารถสงไฟลขนไปบนลนกซ หรอนำาไฟลจากลนกซลงมาทวนโดว โดยการตดตง sftp client ซงมอยหลายโปรแกรม เชน WinSCP, SSH Secure File transfer Client

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 123: Cent OS-book

123

ตวอยางโปรแกรม WinSCP

รปท 23-3 แสดงโปรแกรม winscp

โปรแกรม SSH Secure File transfer Client

รปท 23-4 แสดงโปรแกรม SSH Secure File transfer Client

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 124: Cent OS-book

124

SFTP แบบกราฟกบนลนกซ บนลนกซกมโปรแกรมสำาหรบ sftp ไดแกโปรแกรม gFTP

รปท 23-5 แสดงโปรแกรม gFTP

ทกลาวมาทงหมดในบทนคงชวยใหทานสามารถทำางานกบลนกซไดสะดวกยงขน

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 125: Cent OS-book

125

บทท 24NFS Server

Network File System (NFS) พฒนาโดย Sun Microsystems ในป 1984 เปนโปรโตคอลทอนญาตใหคอมพวเตอรเขาถงไฟล และไดเรกทอรของเครองอนผานเนตเวรก โดยทใชงานงายเหมอนใชอยบนฮารดดสกของตวเอง

การตดตง NFS Serverลนกซ Red Hat หลงจากทเราตดตงตามปกตกสามารถใชงาน NFS ไดเลยเพราะ NFS มาพรอมกบเคอรเนล

อยแลว การทจะใชงาน NFS จำาเปนตองเปดเซอรวส portmap ดวยเพราะตองใชงาน[root@server1~]# chkconfig portmap on[root@server1~]# service portmap startStarting portmap:                                          [  OK  ][root@server1~]# chkconfig nfs on[root@server1~]# service nfs startStarting NFS services:                                     [  OK  ]Starting NFS quotas:                                       [  OK  ]Starting NFS daemon:                                       [  OK  ]Starting NFS mountd:                                       [  OK  ][root@server1~]#                                          [  OK  ]

ถาไดอยางนแลว NFS Server พรอมใชงานแลว แตเรายงไมไดแชรไดเรกทอรใหเครองลกขายเขามาใชงาน ไฟลทจะแชรไดเรกทอรคอ /etc/exports โดยมการแชรไฟล เชน/var/ftp/pub 192.168.1.0/255.255.255.0(ro,sync,no_root_squash)

/var/ftp/pub ไดเรกทอรทตองการแชร192.168.1.0/255.255.255.0 เครองลกขาย ชอเครอง หรอ IP Address ทอนญาตใหเขาใชงาน

options อนๆ rw ใหสามารถอานเขยนไฟลไดro อานไดอยางเดยว เขยนไมไดasync รายงานผลกอนแลวคอยเขยนลงดสก เสยงตอขอมลหายsync ใหเขยนไฟลลงดสกสำาเรจกอนแลวคอยรายงานผลall_squash กำาหนดใหทกคนทเขามาขอใชไฟล มสทธเปน anonymousroot_squash กำาหนดใหถา root เขามาขอใชไฟลมสทธเปน anonymousno_root_squash กำาหนดใหถา root เขามาใชไฟลกมสทธเปน root anonuid=uid กำาหนดใหใครกตามทเขามาใชไฟล จะมสทธเทากบ uid ทกำาหนดanongid=gid กำาหนดใหใครกตามทเขามาใชไฟล จะมสทธเทากบ gid ทกำาหนดno_wdelay เขยนลงดสกทนทรายละเอยดเพมเตม http://www.troubleshooters.com/linux/nfs.htm

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 126: Cent OS-book

126

หลงจากทเราแกไฟล /etc/exports เรยบรอยแลวเรากตอง restart service ของ NFS กอน[root@server1~]# service nfs restartShutting down NFS mountd:                                  [  OK  ]Shutting down NFS daemon:                                  [  OK  ]Shutting down NFS quotas:                                  [  OK  ]Shutting down NFS services:                                [  OK  ]Starting NFS services:                                     [  OK  ]Starting NFS quotas:                                       [  OK  ]Starting NFS daemon:                                       [  OK  ]Starting NFS mountd:                                       [  OK  ][root@server1~]#                                           [  OK  ]

หลงจากนนกทดสอบดวา ไดเรกทอรทเราแชรเอาไวใชงานไดหรอเปลา ถาไดขอความดงดานลางนกแสดงวา NFS Server ของเราพรอมใชงาน ใหลกขายตดตอเขามาไดแลว[root@server1~]# exportfs/var/ftp/pub    192.168.1.0/255.255.255.0[root@server1~]#[root@server1~]# showmount ­e 192.168.1.1Export list for localhost:/var/ftp/pub 192.168.1.0/255.255.255.0

NFS Clientคราวนมาถงเครองลกขายทจะขอไปใชงานไฟลและไดเรกทอรบนเครอง server กนบางครบวาจะตองทำา

อยางไรโปรแกรมทเกยวกบ NFS Client กมมาแลวเชนกนสงทเราจะใชกใชคำาสง mount เชนเดยวกบการ mount อปกรณซงไดกลาวไปแลวในบทท 15

ตวอยางการ mount [root@server1~]# mkdir /mnt/nfs[root@server1~]# mount 192.168.1.1:/var/ftp/pub /mnt/nfs

การ mount nfs แบบถาวรการเมาทแบบถาวรคอ การทเปดเครองขนมาไดเรกทอรทแชรอยกจะถก mount โดยอตโนมต โดยทเราไม

ตองใชคำาสง mount ไฟลทเกยวของกบเรองนคอ /etc/fstab รายละเอยดของ /etc/fstab กไดพดถงในบทท 15 แลวซงจะไมพดอก แตจะยกตวอยางการเมาท

192.168.1.1:/var/ftp/pub /mnt/nfsnfs defaults 0 0

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 127: Cent OS-book

127

บทท 25รกษาความปลอดภย Server ดวย Arno's Script

การรกษาความปลอดภยของลนกซ โดยการใช Firewall นน ลนกซจะใชโปรแกรมทชอ iptables ซงมมากบ kernel อยแลว ในการใชงาน iptables ตองเขยนคำาสง หรอเขยนกฏขนมาเพอรกษาความปลอดภย ถาจะใหศกษากฏเหลานน และใหสามารถใชงานเปน Firewall ไดไมใชเรองงาย ลนกซมอใหม หรอมอเกาอาจทอใจเอางายๆ เพราะมนยาก เอาเวลาไปทำาอยางอนกอนดกวา หรอจะใชเครองมอทลนกซมมาใหเชน system-config-security-level กไมสามารถตอบสนอง ความตองการ และไมยดหยนพอ แตในเมอมเครองมอทอำานวยความสะดวกใหกบเรา ใชงานงาย และชวยรกษา Server ของเราใหปลอดภย กควรหยบฉวยมาใชงานกอน มเวลาแลวคอยมาศกษา iptables ทหลงกได Arno's Script เปนงานอดเรกของนาย Arno van Amersfoort ซงจบการศกษาทางดาน Electronics/Computer Engineering สามารถดาวนโหลดและดรายละเอยดของนาย arno ไดท http://rocky.eld.leidenuniv.nl/

รปท 24-1 แสดงเวบไซตของ Arno's Script

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 128: Cent OS-book

128

การตดตง Arno's scriptดาวนโหลด http://rocky.eld.leidenuniv.nl/iptables-firewall/arno-iptables-fir ewall_1.8.6c.tar.gz ไฟลทได

มาชอ arno-iptables-firewall_1.8.6c.tar.gz จะตองขยายไฟลออกมากอน

[root@server1 ~]# tar xvfz arno­iptables­firewall_1.9.0b.tar.gz arno­iptables­firewall_1.9.0b/ arno­iptables­firewall_1.9.0b/bin/ arno­iptables­firewall_1.9.0b/bin/arno­fwfilter arno­iptables­firewall_1.9.0b/bin/arno­iptables­firewall arno­iptables­firewall_1.9.0b/etc/ …[root@server1 ~]# cd arno­iptables­firewall_1.9.0b[root@server1 arno­iptables­firewall_1.9.0b]# ls bin        contrib  gpl_license.txt  README  uninstall.sh CHANGELOG  etc      install.sh       share [root@server1 arno­iptables­firewall_1.9.0b]# ./install.shWhat is your external interface (aka. internet interface) (multiple interfaces should be comma separated)? eth0 Does your external interface get its IP through DHCP? (Y/N) N Do you want to be pingable from the internet? (Y/N) Y Which TCP ports do you want to allow from the internet? (ie. 22=SSH, 80=HTTP, etc.) (comma separate multiple ports)? 22 80 Which UDP ports do you want to allow from the internet? (ie. 53=DNS, etc.)  (comma separate multiple ports)? 53 Do you have an internal(aka LAN) interface that you want to setup? (Y/N) N Do you want the init script to be verbose (print out what it's doing)? (Y/N) Y

คำาสงให Arno's Script ทำางาน ให Arno's Script ทำางานดวยคำาสงเหลาน

[root@server1 arno­iptables­firewall_1.9.0b]# chkconfig iptables off[root@server1 arno­iptables­firewall_1.9.0b]# chkconfig arno­iptables­firewall  on[root@server1 arno­iptables­firewall_1.9.0b]# /etc/init.d/arno­iptables­firewall start 

ตอนนกสามารถใชงานไดแลวสามารถดการทำางานของ IPTABLES ได โดยใชคำาสง iptables -Lหากตองการเปด port เพม หรอปรบแกคอนฟกเพมเตมกสามารถแกไขไดทไฟล /etc/arno-iptables-firewall/firewall.conf ในการแกไฟล /etc/arno-iptables-firewall/firewall.conf นอกจากนำาไปใชประโยชนในการรกษาความปลอดภยเครองเซรฟเวอรแลว ยงสามารถทำาเปน Proxy Firewall ลกษณะเดยวกบ Endian หรอ IPCop เพยงแคปรบแกคอนฟกใน ไฟล /etc/arno-iptables-firewall/firewall.conf โดยทเราไมตองเขยนคำาสงของ IPTABLES เลย แตจะไมพดถงวธการทำา หากใครสนใจลองศกษาคำาอธบายในไฟล /etc/arno-iptables-firewall.conf กพอทจะเขาใจได

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 129: Cent OS-book

129

ตวแปรในไฟล /etc/arno-iptables-firewall/firewall.conf ทใชบอยการปรบแคไฟลคอนฟก เราแคเปลยนคาตวแปร เชน

EXT_IF="eth0"EXT_IF กคอการดแลนวงนอก กรณทเราใชปองกนเซรฟเวอร เราจะถอวาการดแลนทเราใชอยเปนวงนอก

กใชเปน ถาหากทานใชการดแลนอนอนกเปลยนคาตวแปรจาก eth0 เปน eth1 หรอ eth2 ตามททานใชงานอย

OPEN_ICMP="1"OPEN_ICMP เปนตวแปรทกำาหนดคาวาใหสามารถ ping จากเครองอนไดหรอไม OPEN_ICMP="1"

หมายความวาสามารถ ping จากเครองอนได OPEN_ICMP="0" หมายความวาไมสามารถ ping จากเครองอนได

OPEN_TCP="22 80" OPEN_TCP ใชเพอระบวาเราจะเปด Port TCP ใหบรการอะไรบางหากตองการเพม port กแคเวนวรรค

OPEN_UDP="53" OPEN_UDP ใชเพอระบวาเราจะเปด Port UDP เชนเดยวกนกบ OPEN_TCP

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 130: Cent OS-book

130

บทท 26 แชรไฟลระหวางลนกซและวนโดวดวย SAMBA

Samba เปนซอฟตแวรทชวยใหสามารถแชรไฟลและเครองพมพบนลนกซใหกบระบบปฏบตการวนโดว รวมทง smbclient อน เชน linux, unix อนๆ ได จะยกตวอยางการตดตง และใชงานโปรแกรมกอนนะครบแลวคอยอธบายภายหลง

การตดตงถาหากยงไมไดตดตง Samba ตงแตขนตอนตดตงกสามารถตดตงภายหลงดวยคำาสง system-config-packages

รปท 26-1 แสดงการตดตง Samba ดวย system-config-pakages

หรอจะตดตงดวยคำาสง yum install samba ให Samba ทำางานตอนบท ดวยคำาสง chkconfig samba on สงให Samba ทำางานดวยคำาสง service smb start หรอ /etc/init.d/smb start

ตวอยางการใชงาน Samba อยางงายมาดการใชงาน Samba อยางงายโดยทไมปรบแกไฟลคอนฟก กนกอนโดยมขนตอนดงน1) เพมผใชงานเขาในระบบ ดวยคำาสง useradd2) ตงรหสผานใหกบผใชงาน ดวยคำาสง passwd3) เพมผใชงานเขาไปในระบบของ Samba ดวยคำาสง smbpasswd -a

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 131: Cent OS-book

131

[root@server1 ~]# useradd piti[root@server1 ~]# passwd pitiChanging password for user piti.New UNIX password: BAD PASSWORD: it is based on a dictionary wordRetype new UNIX password: passwd: all authentication tokens updated successfully.[root@server1~]# smbpasswd ­a pitiNew SMB password:Retype new SMB password:startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created.Added user piti.[root@server1 ~]# service smb startStarting SMB services:                                     [  OK  ]Starting NMB services:                                     [  OK  ][root@server1 ~]# 

ทดลองการแชรไฟลกลบมาทวนโดว มาทดลองดวาสงทเราทำาไปบน server ใชไดหรอเปลา \\192.169.1.111 กจะขน Username password

รปท 26-2 แสดงการ Login เขา Samba

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 132: Cent OS-book

132

ถา Login สำาเรจกจะเหนโฟลเดอรทมชอตรงกบผใช

รปท 26-3 แสดงการ Login เขา Samba ไดสำาเรจ

การแชรไดเรกทอรโดยการแกไฟลคอนฟกของ Samba

กลบมาท Server มาทดลองแชรไดเรกทอรโดยการแกไฟลคอนฟกของ Samba ดงน[root@server1 ~]# mkdir /share[root@server1 ~]# chown piti.piti /share[root@server1 ~]# vi /etc/samba/smb.conf

เพมเนอหาในไฟล /etc/samba/smb.conf[ourshare]   comment =  Share Folder   path = /share   valid users = piti   public = no   writable = yes

รสตารท Samba[root@server1 ~]# service smb restartShutting down SMB services:                                [  OK  ]Shutting down NMB services:                                [  OK  ]Starting SMB services:                                     [  OK  ]Starting NMB services:                                     [  OK  ][root@server1 ~]# 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 133: Cent OS-book

133

Login เขามาใหม หรอ Refresh หนาจอกจะเหนโฟลเดอร ourshare ดงรป

รปท 26-4 แสดงผลการแชรไดเรกทอร /share โดยแสดงชอเปน ourshare

กรณตวอยางนำามาใชงาน บรษทแหงหนง ม 4 แผนกดงน1. ฝายประชาสมพนธ (pr) มพนกงาน 1 คน คอ somsri2. ฝายเวบไซต (web) มพนกงาน 2 คน คอ somchai, suchart3. ฝายขาย (sale) มพนกงาน 1 คน คอ somwang4. ฝายซพพอรต (support) มพนกงาน 1 คน saisamorn

ตองการใช Samba ทำาไฟล Server โดยมไดเรกทอรทแชร ตามชอแผนกคอ pr, web, sale และ support โดยทม ผจดการ (manager) สามารถเขาไปใชงานไดทกไดเรกทอร และไฟลทผจดการสรางขนในทกๆ ไดเรกทอรลกนองทกฝายสามารถนำาไปใชงานได

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 134: Cent OS-book

134

การจดการ User[root@server1~]# groupaad manager[root@server1~]# groupaad pr[root@server1~]# groupaad web[root@server1~]# groupadd sale[root@server1~]# groupadd support[root@server1~]# useradd ­g manager manager[root@server1~]# useradd ­g pr somsri[root@server1~]# useradd ­g web somchai[root@server1~]# useradd ­g web suchart[root@server1~]# useradd ­g sale somwang[root@server1~]# useradd ­g support saisamorn[root@server1~]# usermod ­G pr,web,sale,support manager[root@server1~]# passwd manager[root@server1~]# passwd somsri[root@server1~]# passwd somchai[root@server1~]# passwd suchart[root@server1~]# passwd somwang[root@server1~]# passwd saisamorn[root@server1~]# smbpasswd ­a manager[root@server1~]# smbpasswd ­a somsri[root@server1~]# smbpasswd ­a somchai[root@server1~]# smbpasswd ­a suchart[root@server1~]# smbpasswd ­a somwang[root@server1~]# smbpasswd ­a saisamorn 

การจดการไดเรกทอร[root@server1~]# mkdir /depts[root@server1~]# mkdir ­p /depts/{pr,web,sale,support}[root@server1~]# groupadd pr[root@server1~]# groupadd web[root@server1~]# groupadd sale[root@server1~]# groupadd support[root@server1~]# chgrp pr /depts/pr[root@server1~]# chgrp web /depts/web[root@server1~]# chgrp sale /depts/sale[root@server1~]# chgrp support /depts/support[root@server1~]# chmod 770 /depts/pr[root@server1~]# chmod 770 /depts/web[root@server1~]# chmod 770 /depts/sale[root@server1~]# chmod 770 /depts/support[root@server1~]# chmod  g+s  /depts/*

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 135: Cent OS-book

135

ใหแกไฟล /etc/samba/smb.conf เพมบรรทดเหลานเขาไป[pr]   comment =  Share for PR    path = /depts/pr   valid users = manager somsri   public = no   writable = yes

[web]   comment =  Share for  Web    path = /depts/web   valid users = manager somchai suchat   public = no   writable = yes

[sale]   comment =  Share for Sale    path = /depts/sale   valid users = manager somwang   public = no   writable = yes

[support]   comment =  Share for Support    path = /depts/support   valid users =  manager saisamorn   public = no   writable = yes

ไมให user ใชงานโฮมไดเรกทอร comment บรรทดเหลาน #[homes]  ; comment = Home Directories  ; browseable = no  ; writable = yes

รสตารทการทำางานของ Samba[root@server1~]# /etc/init.d/smb restartShutting down SMB services:                                [  OK  ]Shutting down NMB services:                                [  OK  ]Starting SMB services:                                     [  OK  ]Starting NMB services:                                     [  OK  ][root@server1~]# 

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 136: Cent OS-book

136

คำาอธบายเกยวกบไฟลคอนฟกของ Samba

ไฟลคอนฟกของ Samba ม 2 สวนหลก คอ สวน Global กบ สวนทแชร สวน Global เปนคอนฟกรวมของระบบทงหมด ขนตนดวยบรรทด [global] เมอจบสวน global กจะเปนสวนแชร คอการแชรไดเรกทอร ซงจะมคาปกตมาคอ [home] และ [printers] ถาเราตองการแชรไดเรกทอรอนเพมเขาไปได กเรมตนดวย [xxx] โดยท xxx คอชอทตองการใหแสดง

คอมเมนทบรรทดทขนตนดวย ; (semi-colon) และ # (hash) ถอวาเปนคอมเมนท คอจะไมมการอานคาคอนฟก ใน

บรรทดนนๆ # ใชสำาหรบคอมเมนททวไปทเปนคำาอธบาย ชวยจำา; ใชสำาหรบคอมเมนท บรรทดทเปนการแชร

เชน# A private directory, usable only by fred. Note that fred requires write# access to the directory.;[fredsdir]; comment = Fred's Service; path = /usr/somewhere/private; valid users = fred; public = no; writable = yes; printable = no แตในความเปนจรงจะใชอนไหนกมผลเหมอนกน

การอนญาตใหเครองลกขายเขามาใชงานการอนญาตใหเครองลกขายเขามาใชงานไฟลและเครองพมพบน Samba นนม 4 แบบ สามารถทำาไดโดย

การทำาผานออปชน security security = share การเขาใชงานผใชงานสามารถเขาใชงานโดยไมตองร user มแครหสผานกเขาใชงานไดsecurity = user การเขาใชงานผใชงานตองใช username และ password ซงคาปกตของ samba จะเปนคาน security = server ทำางานเหมอน security = user แตในการเขาใชงานจะไปเชค username และ password

จาก Samba server เครองอน เปนการรกษาความปลอดภยเพมขนไปอกsecurity = domain Samba สามารถเปนสมาชกของ Windows Domain ได ดงนนเมอผใชทำาการยนยนตว

ตนกบ primary domain controller (PDC) แลว กจะสามารถเขาใชงานแชรทอยบน Samba server ได ถาหากมการระบออปชน Public = yes หรอ Guest ok = yes ใน /etc/samba/smbd.conf แลว และไมวาจะ

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 137: Cent OS-book

137

ระบ security เปนออปชนใด Samba กจะไมทำาการตรวจสอบรหสผานทสงมาจากไคลเอนต (client) แตอยางใด

รหสผานการทผใชจะสามารถเขาใชงานไดเรกทอรหรอเครองพมพทแชรไวไดนน ผใชจะตองม user อยลนกซกอน

และตองเปน user ทได set password แลว ออปชนทเกยวกบ password คอ

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

ถา encrypt passwords = yes เวลา user login เขามาจะมการตรวจสอบรหสผานจาก /etc/samba/smbpasswd

ในการเพม user เขาไปใน /etc/samba/smbpasswd โดยใชคำาสง

smbpasswd -a user เชน smbpasswd somchai

ถาตองการเปลยน password ใหกบ user ใชคำาสง smbpasswd user เชน smbpasswd somchai ถาหากตองการดวธการใชงานของ smbpasswd smbpasswd –help สวน encrypt passwords = no เปนการเชค password จาก /etc/pasword ซงจะไมพดถงในรายละเอยดและไมควรใช ออปชนนครบ

Networking Optionsออปชนทเกยวกบ Network เปนการอนญาตใหลกขาย IP Address ตางๆ เขามาใชงานhosts allow = 192.168.1. hosts deny = 192.168.1.226/255.255.255.255hosts deny = ALL EXCEPT 192.168.1. 192.168.1. (หนงเกาสองจดหนงหกแปดจดหนงจด) เปนลกษณะ การเขยนของ Samba ซงมความ

หมายเดยวกบ 192.168.1. 0/255.255.255.0 หรอ 192.168.1.0/24 ซงมความหมายวาอนญาตให IP 192.168.1.1-192.168.1.254 อนญาตใหเขาใชงานได

อยางไรกตาม Samba มกฎในการนำาคา configuration ของ host allow, hosts deny ไปใชงานดงน

1. ถาไมมการระบ hosts allow หรอ hosts deny ตว Samba จะถอวาเปนการอนญาตใหใชงานไดอยางอสระ (เสมอน hosts allow = ALL)

2. ถามการระบ hosts allow, hosts deny ใน [global] คาดงกลาวจะมผลกบทกๆ แชร แมวาจะมการระบ hosts allow, deny ในแตละแชร ซงการระบในแตละแชรดงกลาวจะถอวาไมมผลแตอยางใด

3. ถามการระบ hosts allow แตไมไดระบ hosts deny จะถอวา คาทนอกเหนอจากทระบใน hosts allow จะมสถานะเปน deny โดยอตโนมต

4. ในทำานองเดยวกน ถามการระบ hosts deny แตไมไดระบ hosts allow จะถอวา คาทนอกเหนอจากทระบใน hosts deny จะมสถานะเปน allow โดยอตโนมต

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 138: Cent OS-book

138

5. ถามคา เชน ip address หรอ subnet ถกระบในทง hosts allow และใน hosts deny จะถอวาคาดงกลาวมสถานะเปน deny

File Permissions and Attributes

• ออปชน create mask ใชกำาหนดคา default permission สงสด สำาหรบไฟลทสรางขนมาใหม เชน create mask = 0640

• ออปชน directory mask ใชกำาหนดคา default permission สงสด สำาหรบไดเรกทอรทสรางขนมาใหม เชน directory mask = 750

การเขาถงไฟลและไดเรกทอรทแชรการเขาถงไฟลและไดเรกทอรทแชร นนนอกจากออปชนบน Samba แลว ยงขนกบ permission ของไฟล

และไดเรกทอรดวย บางครงถงแมวา option บน Samba บอกวาอนญาตใหเขยนได แต permission ของไฟลไมอนญาตใหเขยนกเขยนไมได ผดแลระบบควรจำากดการเขาถงแชรใดๆ ใหใชงานไดเฉพาะผทสมควรไดรบสทธเทานน โดยมออปชนทเกยวของดงน

valid users = somchai suchart @webระบใหเฉพาะผใชทมชอในรายการนเทานน จงจะสามารถเขาถงดสกทแชรไวได (ใช @ สำาหรบทง group)** หากรายชอผใชทกำาหนดไวใน valid users ไปปรากฏซำากบรายชอใน invalid users กจะถอวาผใชรายนนถกจดในกลม invalid users

invalid users = lertsak @guestแสดงรายชอผใชทไมมสทธเขาใชงานแชร

writable = yeswriteable = yeswrite ok = yesread only = noออปชนทงสแบบดานบนนใหผลลพธเหมอนกน คออนญาตใหผใชสามารถสรางไฟลหรอไดเรกทอรขนมาใหมได

read list = choawalit kitisakแสดงรายชอผใชทมสทธใชงานแชรแบบอานเทานน ไมสามารถทำาการแกไขใดๆ ได หากวาผใชใน read list มชอใน list อน เชน write list, read only, writeable กจะถอวาผใชนนมสทธเปน read only เทานน

write list = lersak, phuwadon, siriwanการตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 139: Cent OS-book

139

เปนการใหสทธ write แกผใชทมชอในรายการน แมวาจะมการระบวา read only = yes กตาม

public = noguest ok = noออปชน public และ guest ok สามารถใชแทนกนได ซงหากกำาหนดคาเปน yes กจะทำาใหสามารถเขาใชงานดสกทแชรไวโดยไมตองลอกอน

hosts equiv = เปนออปชนทเปนอนตรายอยางยง ผดแลระบบควรตรวจสอบใหแนใจวาไมมการระบออปชนนในไฟล /etc/samba/smb.conf เปนอนขาด เพราะในออปชน hosts equiv ดงกลาวจะกำาหนดรายชอผใชและโฮสตทสามารถเขาใชงานดสกทแชรไวโด ยไมตองใชรหสผาน (คลายกบไฟล hosts.equiv ของ Unix)

อางอง http://www.thaicert.org/paper/unix_linux/samba.php

การใชงาน smbclient

smbclient เปนโปรแกรม client แบบคำาสงทใชงานบนลนกซ

รปแบบการใชงาน smbclient //ชอเครอง หรอ IP Address/ชอทแชร -U username%passwordroot@sothorn:~# smbclient //192.168.1.111/pr ­U manager%passwordDomain=[OURINTRANET] OS=[Unix] Server=[Samba 3.0.10­1.4E]smb: \> ls  .                                   D        0  Sat Mar 28 13:53:30 2009  ..                                  D        0  Thu Mar 26 15:43:34 2009 new_file_in_pr.txt                    A        0  Sat Mar 28 13:52:55 2009                63002 blocks of size 131072. 39053 blocks availablesmb: \> ??              altname        archive        blocksize      cancel         case_sensitive cd             chmod          chown          del            dir            du             exit           get            getfacl        hardlink       help           history        lcd            link           lowercase      ls             mask           md             mget           mkdir          more           mput           newer          open           print          prompt         put            pwd            q              queue          quit           rd             recurse        reget          rename         reput          rm             rmdir          setmode        stat           symlink        tar            tarmode        translate      volume         vuid           logon          listconnect    showconnect    !              smb: \>

ทานกสามารถแชรไฟลระหวางลนกซกบวนโดวได คงเพมความสะดวกใหกบการทำางานของทาน และนำา Samba ไปใชใหเกดประโยชนกบองคกรของทานนะครบ

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 140: Cent OS-book

140

บทท 27การใชงาน linux rescue

linux rescue เปนออปชนหนงทมากบการตดตง CentOS ดวย CD หรอ DVD ใชสำาหรบบทเขาใชงานในโหมด rescue อนเนองมาจากลนกซไมสามารถบทไดอาจเนองมาจากปญหาในระบบลนกซ หรอถกแฮกโดยทแฮกเกอรเขามาแกไฟลคอนฟกจนทำาใหไมสามารถบทได การบทดวยแผน CD หรอ DVD ดวยโหมด rescue จะทำาใหเราสามารถเขาถงไฟลคอนฟกตางๆ ของลนกซได

การใชงาน linux rescue

บทดวยแผน CD แผนแรก หรอ DVD ตดตง CentOS

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 141: Cent OS-book

141

ถาตองการด Option เพมเตม ใหกด F2 พมพ linux rescue ท boot prompt เพอเขาทำางานในโหมด rescue

เลอกชนดคยบอรด

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 142: Cent OS-book

142

เลอกภาษา

จะใช Network หรอไมถาใชตอบ Yes ไมใชตอบ No

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 143: Cent OS-book

143

ระบบจะแจงเราวาลนกซททานไดตดตงจะถก mount ไวภายใต /mnt/sysimage ถาคณตองการกตอบ Continue โดยทสามารถ mount ไฟลแบบอานและเขยนได หากตองการแบบอานไดอยางเดยวกเลอก Read-Only ถาเลอก Skip จะไปยงหนาคำาสงเชลล

แจงเตอนอกครงวาลนกซจะอยภายใต /mnt/sysimage ตอบ OK

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 144: Cent OS-book

144

หลงจากตอบ OK กจะเขาสหนาเชลลพรอมท ตอนน / จะเปนของระบบไฟลใน CD ทเราใชบทเขามา

หลงจากทใชคำาสง chroot /mnt/sysimage กจะเปนระบบไฟลของลนกซเรา กสามารถแกไขเกยวกบระบบลนกซของเราไดทงหมด

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 145: Cent OS-book

145

กรณทไฟล /etc/fstab ถกทำาลาย ระบบกไมสามารถหาลนกซทเราตดตงไวได กไมสามารถ mount ระบบไฟลลนกซของเราได

เราตอง mount ระบบไฟลเอาเอง ดงตวอยางตามรป

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 146: Cent OS-book

146

จากทไดนำาเสนอมา จะเหนไดวา linux rescue เปนแคเครองมอททำาใหทานเขาถงระบบไฟลของลนกซ สวนการแกปญหาตางๆ ตองอาศยความรความเขาใจในระบบลนกซของทานเอง

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 147: Cent OS-book

147

การตดตงและใชงาน CentOS ลนกซเซรฟเวอร

โดย โสทร รอดคงท

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 148: Cent OS-book

148

สารบาญเรอง หนา

บทท 1 โครงสราง ฮารดดสกและการเรยกชอฮารดดสก 1บทท 2 หลกการตดตงลนกซ 3บทท 3 ตวอยางการตดตง CentOS 5บทท 4 กระบวนการบทของลนกซ 31บทท 5 การเปดปด Service 36บทท 6 โครงสรางของไดเรกทอรของลนกซ 40บทท 7 การใชงาน Vi 43บทท 8 การใชคำาสง RPM และ Yum จดการแพกเกจ 46บทท 9 การบรหารจดการบญชรายชอผใชระบบ User / Group Accounts 57บทท 10 Permission ของไฟล และ Directory 60บทท 11 การใชงาน System Config ตาง ๆ 64บทท 12 การ mount ไฟล system อนๆ 70บทท 13 การใชโปรแกรมบบอดไฟลเพอ Backup ขอมล 72บทท 14 คำาสงทเกยวของกบการดแลเซรฟเวอร 74บทท 15 การใชงาน crontab ตงเวลาทำางาน 77บทท 16 การเพมพารตชนหรอเพมฮารดดสก 79บทท 17 การทำา Disk Quota 87บทท 18 DNS (Domain Name System) 90บทท 19 Apache เวบเซรฟเวอร และ Virtual Host 97บทท 20 ตดตง อพเกรด และใชงาน MySQL 102บทท 21 การตดตง Apache+PHP 108บทท 22 Postfix Mail Server 115บทท 23 การควบคมเซรฟเวอรลนกซจากระยะไกลดวย SSH และสงไฟล ดวย SFTP 120บทท 24 NFS Server 125บทท 25 รกษาความปลอดภย Server ดวย Arno's Script 127บทท 26 แชรไฟลระหวางลนกซและวนโดวดวย SAMBA 130บทท 27 การใชงาน linux rescue 140

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 149: Cent OS-book

149

ผเขยนชอ-สกล โสทร รอดคงทบานเกด อ.นาโยง จ.ตรงการศกษา

• ปรญญาตร ศกษาศาสตรบณฑต(เทคโนโลยการศกษา) เกยรตนยมอนดบ 2 สาขาเทคโนโลยการศกษา มหาวทยาลยสงขลานครนทร วทยาเขตปตตาน รหส 3615621

ประวตการทำางาน

• 1 เม.ย. 2540 - 30 ม.ย. 2541หมวดคอมพวเตอรชวยสอน คณะแพทยศาสตร มหาวทยาลยสงขลานครนทรวทยาเขตหาดใหญ

• 1 ก.ค. 2541 - 31 ม.ค. 2543ศนยสารสนเทศทางการแพทยเพอประชาชน คณะแพทยศาสตร จฬาลงกรณมหาวทยาลย

• 1 เม.ย. 2543 - 26 ม.ค. 2550 โครงการวจย Hospital OS

ประสบการณดานคอมพวเตอรและลนกซ• ใชงานลนกซตงแตป พ.ศ. 2542 (http://www.linuxsiam.com)• 26 กนยายน 2546 สอบได Red Hat Certified Engineer (RHCE)• 12 กมภาพนธ 2549 รางวลท 3 การแขงขนระบบปฏบตการลนกซ แหงประเทศไทย ครงท 6

ประเภท คอมพวเตอรควบคมและบรการเครอขาย ระดบประชาชนทวไป • ป 2550 คณะทำางานตดสนการแขงขนระบบปฏบตการลนกซแหงประเทศไทย ครงท 7• ป 2552 คณะทำางานตดสนการแขงขนระบบปฏบตการลนกซแหงประเทศไทย ครงท 9

เวบไซตสวนตว• http://linux.sothorn.org• http://www.bansuanporpeang.com

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org

Page 150: Cent OS-book

150

การอางองหลงสอเลมนสวนใหญเขยนจากการทดลองทำาจรง เนอหาบางสวนคดลอกมาจากหนงสอ และ

เวบไซตตางๆ เนอหาบางสวนไดทำาไวนานจนจำาไมไดวาเอามาจากหนงสอเลมใด ผมไมมเจตนาจะคดลอกโดยไมใหเกรดตเจาของ ถาเนอหาบางสวนทผมนำามาเขยนตรงกบของนกเขยนทานใดผมตองขออภยดวย จกเปนพระคณยงถาผอานไดแจงใหผมทราบจะไดดำาเนนการอางอง ใหถกตองตอไป

ขอรบบรจาคหนงสอเลมนผเขยน เขยนเพอใชเปนคมอในการอบรม และเหนวานาจะเปนประโยชนสำาหรบผ

ทกำาลงศกษาลนกซ จงนำามาแจกจายเพอเปนวทยาทาน ผมยงยนยนวาหนงสอเลมนสามารถแจกจายไดฟร

แต ... หากผใดมความประสงคจะชวยเหลอหรอสนบสนน การจดทำาเวบไซต http://linux.sothorn.org และการจดทำาหนงสอลนกซเลมน กถอวาเปนนำาใจ และกำาลงใจ ทจะชวยในการพฒนาเวบไซต และสรางสรรคผลงานคมอลนกซออกมา

สำาหรบผตองการสนบสนนกรณาโอนเงนเขาบญช นายโสทร รอดคงท บญชออมทรพย ธนาคารกรงไทย สาขานาโยง เลขทบญช 937-0-05817-6

ถาหากทานไมมกำาลงสนบสนน กแนะนำาตชม หรอแจงคำาผดไดท [email protected] จกเปนพระคณยง

การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org