View
7.719
Download
1
Category
Preview:
DESCRIPTION
CentOS Thai Book - from http://linux.sothorn.org/node/558
Citation preview
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
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
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
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
5
บทท 3ตวอยางการตดตง CentOS 5.2
การตดตง CentOS สามารถตดตงไดหลายวธไมวาจะเปน การตดตงผาน NFS FTP WWW หรอตดตงผานฮารดดสก แตวธทนยมกนกตดตงดวย CD หรอ DVD ตวอยางการตดตงตอไปนเปนการตดตงดวย DVD ในสวนของวธการพารตชนนนเปนแคตวอยาง หลกการพารตชนใหดในคมอบทท 1
การตดตง CentOS
บทจากแผนตดตง CentOS CD แผนแรก หรอ DVD
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
6
ถากด F2 กจะม Options ตางๆ แสดงขนมา ถาไมใช Options ใดๆ กสามารถกด Enter ไดเลย
ระบบตดตงจะทดสอบ CD หรอ DVD ทใชตดตง ถาตอบ OK จะใชเวลานานมาก ใหตอบ Skip
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
7
กด Next
เลอกภาษาทใชระหวางตดตงเลอกภาษาองกฤษไมมภาษาไทย
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
8
เลอกคยบอรดภาษาองกฤษ ไมมภาษาไทยเชนกน
มคำาเตอนวาไมสามารถอานพารตชนของฮารดดสกได เพราะเปนฮารดดสกทยงไมไดพารตชน ตอบ Yes
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
9
ในการพารตชนฮารดดสก แนะนำาใหใช Create custom layout เพอกำาหนดพารตชนเอง
กดปม New เพอสรางพารตชนใหม
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
10
เลอก Mount Point เปน /boot File System Type เปน ext3 Size 100 MB ตอบ OK
กจะไดพารตชนใหมมาหนงพารตชน
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
11
กดปม New เพอสรางพารตชน / Mount Point เปน / File System Type เปน ext3 ขนาด 9 GB
จะไดพารตชน /
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
12
กดปม New เพอเพมพารตชน swap เลอก File System Type เปน swap ขนาด 2000 MB ถาตองการให swap พารตชน เปน Primary กใหเลอก Force to be a primary partition
จะไดพารตชน swap
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
14
ขนาด 256 MB
จะไดพารตชน /tmp
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
16
การตดตง GRUB ใชคาปกตทมมา กด Next
ตงคาเนตเวรก กดปม edit ถาไมรบ IP จาก DHCP เซรฟเวอร
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
17
ระบ IP และ Netmask ตามตองการ
ระบชอเครองใหครบทงโฮสและโดเมน เชน server1.example.com, mysqlserver.hospitalname.com
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
18
ถาไมตองการใหเซรฟเวอรใชงานอนเทอรเนตกไมตองระบคา Gateway และ DNS จะมขอความเตอนกดปม Continue
กดปม Continue
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
19
เลอกประเทศในแผนท เพอระบ Time Zone
ระบรหสผานสำาหรบ root
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
20
เลอกแพกเกจทจะตดตง เพอใหการเลอกแพกเกจตรงความตองการของเรามากทสดใหเลอก Customize now แลวจงกดปม Next
เลอกแพกเกจตามตองการ
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
21
ตวอยางการเลอกแพกเกจ
ตวอยางการเลอกแพกเกจ
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
22
ตวอยางการเลอกแพกเกจ
ตวอยางการเลอกแพกเกจ
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
23
ตวอยางการเลอกแพกเกจ
ตวอยางการเลอกแพกเกจ
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
24
ตวอยางการเลอกแพกเกจ
เมอเลอกแพกเกจไดตามตองการแลวใหกดปม Next
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
25
ระบบการตดตงจะเรม format พารตชนตางๆ
แลวการตดตงกจะเรมขน แลวกรอจนกวาจะตดตงเสรจ
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
26
เรมตดตงระบบ และแพกเกจทไดเลอกไป
เมอตดตงเสรจระบบตดตงตองการรบท กด Reboot
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
27
เมอบทขนมาใหมกจะพบกบ First Boot กดปม Forward
ให Disable Firewall ไปกอนคอยมาจดการทหลง
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
28
หาก Disable Firewall จะมขอความเตอน ตอบ Yes
Disable SELinux
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
29
มขอความเตอนเชนกน ตอบ Yes
ระบบจะใหเราสรางผใชงานคนใหม ถาไมสรางกได กด Forward
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
30
ไมสรางผใชใหมกจะมขอความเตอน กด Continue
Additional CDs ถาไมม CD นกกด Finish เสรจสนการตดตง CentOS 5.2
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
31
บทท 4กระบวนการบทของลนกซ
รปท 4-1 รปแสดงกระบวนการบทของลนกซ
หลงจากทเราตดตงลนกซเสรจ บทเครองใหม หรอเปดสวทช หลงจากทเครองคอมพวเตอรตรวจสอบตวเองแลวคนหาอปกรณทใชบท ถาตรวจเจออปกรณทใชบทเปนฮารดดสกกจะไปทำางานตอท MBR ซง GRUB ฝงตวอยในสวน IPL ของ MBR มาทำาความเขาใจเกยวกบโปรแกรม Boot Loader ทชอ GRUB กนกอนครบ
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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.1892.el5) root (hd0,0) kernel /vmlinuz2.6.1892.el5 ro root=LABEL=/ rhgb quiet initrd /initrd2.6.1892.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
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
34
การ Loginการ Login แบบ Text Mode (runlevel 3)
รปท 4-2 แสดงการ Login แบบกราฟก
การ Login แบบ กราฟกโหมด (runlevel 5)
รปท 4-3 แสดงการ Login แบบกราฟก
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
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
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
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
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
40
บทท 6โครงสรางของไดเรกทอรของลนกซ
ผใชงานวนโดวจะมความคนเคยกบลกษณะโครงสรางไดเรกทอร ทม Driver C:\ , D:\ และโฟลเดอร แตสำาหรบลนกซนน จะไมมไดรฟแตจะม ไดเรกทอรเหนอสดคอ / (รทไดเรกทอร) หลงจากทเราตดตงลนกซเสรจ กจะมไดเรกทอรมากมาย ซงเหมอนกบตอนทเราตดตงวนโดวเสรจเราจะเหนโฟลเดอร Windows, Programs File ฯลฯ
มมมองแบบไดเรกทอร
รปท 6-1 แสดงไดเรกทอรทงหมดของลนกซ
มมมองแบบภาพ หรอ โฟลเดอรแบบวนโดว
รปท 6-2 แสดงไดเรกทอรในมมมองแบบโฟลเดอรในวนโดว
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
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
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
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
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
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
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
48
ดขอมลของ Package (rpm -qi mysql-server)
ดวามไฟลอะไรอยบางใน Package mysql-server (rpm -ql mysql-server)
ไฟลนอยใน Package อะไร (rpm -qf /usr/bin/mysql)
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
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
51
การใชงาน yum
แสดงแพกเกจทงหมดทงทตดตงไปแลว และยงไมตดตง
ดรายละเอยดของแพกเกจ yum info
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
52
คนหาแพกเกจ
ดแพกเกจทขนตอกน yum deplist
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
53
ตดตงแพกเกจ yum install
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
54
ลบแพกเกจ yum remove
ตรวจสอบเวอรชนใหม yum check update
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
55
อพเดททกแพกเกจทมการอพเดท yum update
โปรแกรมจะตรวจเชคแพกเกจทงหมดทมการอพเดท และรายงานใหเราทราบจำานวน และขนาดไฟลทตองดาวนโหลดหากตองการอพเดททงหมดกตอบ y
หากตองการอพเดทเฉพาะแพกเกจทตองการกสามารถใชคำาสง yum update ตามดวยชอแพกเกจทตองการ เชน # yum update xterm
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
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
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
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
60
บทท 10Permission ของไฟล และ ไดเรกทอร
เนองจากลนกซมระบบการทำางานแบบผใชงานคราวละหลายคน เพราะฉะนนจำาเปนตองมการจำากดสทธของการเขาถงไฟล และไดเรกทอร ในระบบไฟลของลนกซจะแบงกลมของการเขาถงไฟลออกเปน 3 กลม คอ
1. คนทเปนเจาของไฟล2. คนทอยในกลมเดยวกน3. คนทไมใชเจาของไฟล และไมไดอยกลมเดยวกน
เมอเราใชคำาสง ls -l กจะเหนรายละเอยดของไฟลและไดเรกทอร
drwxrxrx 3 root root 4096 20060703 07:20 Desktopdrwxrxrx 8 root root 4096 20060701 08:33 MyDownloadrwrr 1 root root 4529 20060703 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
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
62
ตวอยาง การใชงานคำาสง chmod
root@server1 ~# touch test.htmlroot@server1 ~# ls l test.htmlrwrr 1 root root 0 20060712 11:03 test.htmlroot@server1 ~# chmod 755 test.phproot@server1 ~# ls l test.htmlrwxrxrx 1 root root 0 20060712 11:03 test.htmlroot@server1 ~# chmod 666 test.htmlroot@server1 ~# ls l test.htmlrwrwrw 1 root root 0 20060712 11:03 test.htmlroot@server1 ~# ls l test.htmlrwrwrw 1 root root 0 20060712 11:03 test.htmlroot@server1 ~# chmod 700 test.htmlroot@server1 ~# ls l test.htmlrwx 1 root root 0 20060712 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
63
ตวอยาง การใชคำาสง chown และ chgrp
root@server1 ~# ls l test.sqlrwxrxrx 1 root root 0 20060712 11:03 test.sqlroot@server1 ~# chgrp mysql test.sqlroot@server1 ~# ls l test.sqlrwxrxrx 1 root mysql 0 20060712 11:03 test.sqlroot@server1 ~# chown mysql test.sqlroot@server1 ~# ls l test.sqlrwxrxrx 1 mysql mysql 0 20060712 11:03 test.sqlroot@server1 ~#
root@server1 ~# ls l test.sqlrwxrxrx 1 root root 0 20060712 11:03 test.sqlroot@server1 ~# chown mysql test.sqlroot@server1 ~# ls l test.sqlrwxrxrx 1 mysql root 0 20060712 11:03 test.sqlroot@server1 ~# chown root test.sqlroot@server1 ~# ls l test.sqlrwxrxrx 1 root root 0 20060712 11:03 test.sqlroot@server1 ~# chown mysql.mysql test.sqlroot@server1 ~# ls l test.sqlrwxrxrx 1 mysql mysql 0 20060712 11:03 test.sql
คำาสงทเกยวของในบทนchmodchgrpchown
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
64
บทท 11การใชงาน System Config ตาง ๆ
ลนกซ Red Hat มเครองมอในการชวยปรบแก config ตางๆของระบบ เชน การเปลยน IP การปรบวนท เวลา ฯลฯ เราสามารถทดลองดไดวามโปรแกรมอะไรบาง โดยการพมพ system- แลวกด Tab สองครงกจะเหนดงภาพ [root@server1 ~]# systemcon systemconfigauthentication systemconfignfs systemconfigdate systemconfigpackages systemconfigdisplay systemconfigrootpassword systemconfighttpd systemconfigsamba systemconfigkdump systemconfigsecuritylevel systemconfigkeyboard systemconfigsecurityleveltui systemconfiglanguage systemconfigservices systemconfiglvm systemconfigsoundcard systemconfignetwork systemconfigtime systemconfignetworkcmd systemconfigusers systemconfignetworkgui systemcontrolnetwork systemconfignetworktui
โปรแกรมตางๆ เหลานจะอยในเมนอยแลว โปรแกรมจะชวยเราทำางานใน Graphic Mode เทานน
รปท 11-1 แสดงโปรแกรม System Settings
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
66
system-config-network / neat ชวยในการเปลยน IP
รปท 11-4 แสดงโปรแกรม system-config-network
system-config-securitylevel ใชในการปรบแตงการรกษาความปลอดภย
รปท 11-5 แสดงโปรแกรม system-config-securitylevel
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
67
สำาหรบการทำางานใน Text Mode ใหใชคำาสง setup
รปท 11-6 รปแสดงการใชคำาสง setup
รปท 11-7 แสดงการใชคำาสง setup เลอกเมน Network configuration
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
68
การเปลยนแปลงคา Network TCP/IP โดยการแกไฟลคอนฟกถาหากเราตองการเปลยน IP ของเครองโดยทเราไมใชเครองมอชวยกสามารถแกไฟลไดสะดวกเวลาทเรา
ทำางานบน Text Mode
การเปลยน IP Address ไดเรกทอรทเกยวกบ Network ของ Red Hat อยท /etc/sysconfig/network-scripts/
[root@server1 ~]# cd /etc/sysconfig/networkscripts/ [root@server1 networkscripts]# ls ifcfgeth0 ifdownisdn ifupaliases ifupplip ifupwireless ifcfglo ifdownpost ifupbnep ifupplusb init.ipv6global ifdown ifdownppp ifupeth ifuppost net.hotplug ifdownbnep ifdownroutes ifupippp ifupppp networkfunctions ifdowneth ifdownsit ifupipsec ifuproutes networkfunctionsipv6 ifdownippp ifdownsl ifupipv6 ifupsit ifdownipsec ifdowntunnel ifupipx ifupsl ifdownipv6 ifup ifupisdn ifuptunnel
ไฟลทเราตองแกคอ 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
69
คำาสงทเกยวของในบทนneatsetupsystem-config-securitylevel system-config-network system-config-packagessystem-config-*
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
71
ยกเลกการเมาทเมอเมาทไดสำาเรจ จะตองยกเลกการเมาท การยกเลกการเมาท ใชคำาสง umount เชน CD-ROM จะเอาแผน
CD ออกไมไดถาไมยกเลกการเมาท หรออาจทำาความเสยหายใหกบอปกรณประเภท USB ไดการใชงาน umount umount option dir | device
ตวอยางการยกเลกการเมาทดวยคำาสง umountumount /mnt/fd0umount /mnt/cdromumount /mnt/thumb
คำาสงทเกยวของในบทนmountumount
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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 rwrr 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 lrwrr 1 root root 178743 Mar 23 16:18 mydb_backup.zip
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
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
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 logerror=/var/log/mysqld.log pidfile=/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 pidfile=/var/run/mysqld/mysqld.pid skipexternallocking 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
76
คำาสงทเกยวของในบทน df ps kill
top
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
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
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
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 (14)eSelected partition 4First cylinder (13544865, default 1354):Using default value 1354Last cylinder or +size or +sizeM or +sizeK (13544865, default 4865):Using default value 4865
ในการสรางพารตชนใหมใหใชคำาสง n เนองจาก พารตชนเดมทมอย 3 พารตชนนน เปน Primary พารตชน ทงหมด ถาพารตชนทเพมมาใหมเปน Primary อก กไมสามารถทจะเพมพารตชนไดอก เพราะฉะนนเราตองเอาพนททเหลอทงหมดเปน Extended โดยการตอบ e เดมมอยแลว 3 พารตชนกใหพารตชนตอมาเปนพารตชนท 4 First cylinder ให Enter ผาน หรอใส 1354 ตามคา default กได เพราะเราตองการพารตชนตอจากพารตชนเดมอยแลว
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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 (13544865, default 1354):Using default value 1354Last cylinder or +size or +sizeM or +sizeK (13544865, 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 reread partition table.
WARNING: Rereading 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
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 NonFS 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 (FAT12/16/11 Hidden FAT12 55 EZDrive a6 OpenBSD f0 Linux/PARISC 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
83
WARNING: Rereading 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 blocksize] [f fragmentsize]
[i bytesperinode] [j] [J journaloptions] [N numberofinodes] [m reservedblockspercentage] [o creatoros] [g blockspergroup] [L volumelabel] [M lastmounteddirectory] [O feature[,...]] [r fsrevision] [R options] [qvSV] device [blockscount]
[root@server1 ~]#
ตวอยางroot@fdisk ~]# mke2fs j /dev/hda5mke2fs 1.35 (28Feb2004)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
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
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
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
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
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
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
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
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
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.inaddr.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
93
[root@server1 ~]# namedcheckconf /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.conf:11: 'mastor' unexpected
ถาไมมขอผดพลาด[root@server1 ~]# namedcheckconf /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
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.4P1 <<>> 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
95
[root@server1 ~]# dig webmail.example.intranet
; <<>> DiG 9.3.4P1 <<>> 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
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
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@example@example.intranet DocumentRoot /var/www/html/ ServerName example.intranet ErrorLog logs/www.example.intraneterror_log CustomLog logs/www.example.intranetaccess_log common </VirtualHost>
<VirtualHost 192.168.2.111:80> ServerAdmin webmaster@example.intranet DocumentRoot /var/www/html/phpMyAdmin ServerName phpMyadmin.example.intranet ErrorLog logs/phpmyadmin.example.intraneterror_log CustomLog logs/dummyhost.example.intranetaccess_log common </VirtualHost>
<VirtualHost 192.168.2.111:80> ServerAdmin webmaster@example.intranet DocumentRoot /var/www/html/webmail ServerName webmail.example.intranet ErrorLog logs/webmail.example.intraneterror_log CustomLog logs/webmail.example.intranetaccess_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
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
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
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
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@example@example.intranet DocumentRoot /var/www/html/server2 ServerName server2.example.intranet ErrorLog logs/server2.example.intraneterror_log CustomLog logs/server2.example.intranetaccess_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
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
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
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
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
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 skipgranttables &[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 ทำางานอกครงหนงโดยใช ออปชน skipgranttables หลงจากนนกสามารถเขาใชงาน 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
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:MySQLsharedcompat ########################################### [ 13%] 2:MySQLdevel ########################################### [ 25%] 3:MySQLclient ########################################### [ 38%] 4:MySQLdebuginfo ########################################### [ 50%] 5:MySQLembedded ########################################### [ 63%] 6:MySQLserver ########################################### [ 75%] 7:MySQLshared ########################################### [ 88%] 8:MySQLtest ########################################### [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 20002008 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
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
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
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
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
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 phpMyAdmin2.11.9.5alllanguages.tar.gz |more phpMyAdmin2.11.9.5alllanguages/ phpMyAdmin2.11.9.5alllanguages/scripts/ phpMyAdmin2.11.9.5alllanguages/scripts/find_unused_messages.sh phpMyAdmin2.11.9.5alllanguages/scripts/remove_control_m.sh phpMyAdmin2.11.9.5alllanguages/scripts/langcleanup.sh …[root@server1 ~]# mv phpMyAdmin2.11.9.5alllanguages /var/www/html/phpMyAdmin
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
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
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
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 user1@example.intranet 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: messageid=<20090326141411.4387B1C3920@example.intranet> Mar 26 21:14:11 server1 postfix/qmgr[8917]: 4387B1C3920: from=<root@example.intranet>, size=308, nrcpt=1 (queue active) Mar 26 21:14:11 server1 postfix/local[8997]: 4387B1C3920: to=<user1@example.intranet>, 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 root@example.intrane Thu Mar 26 21:14 14/465 "Test Mail" & 1 Message 1: From root@example.intranet Thu Mar 26 21:14:11 2009 XOriginalTo: user1@example.intranet DeliveredTo: user1@example.intranet To: user1@example.intranet Subject: Test Mail Date: Thu, 26 Mar 2009 21:14:11 +0700 (ICT) From: root@example.intranet (root)
Test
&
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
117
10) ทดลองสง mail จาก user1 ไปยง user2[root@server1 ~]# su user1 [user1@server1 ~]$ mail user2@example.intranet 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: messageid=<20090326142052.72FA61C3920@example.intranet> Mar 26 21:20:52 server1 postfix/qmgr[8917]: 72FA61C3920: from=<user1@example.intranet>, size=310, nrcpt=1 (queue active) Mar 26 21:20:52 server1 postfix/local[9149]: 72FA61C3920: to=<user2@example.intranet>, 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 user1@example.intran Thu Mar 26 21:20 14/469 "Test From User1" & 1 Message 1: From user1@example.intranet Thu Mar 26 21:20:52 2009 XOriginalTo: user2@example.intranet DeliveredTo: user2@example.intranet To: user2@example.intranet Subject: Test From User1 Date: Thu, 26 Mar 2009 21:20:52 +0700 (ICT) From: user1@example.intranet 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
118
2) ตดตง Squirrelmail [root@server1 ~]# tar xvfz squirrelmail1.4.17.tar.gz [root@server1 ~]# cd squirrelmail1.4.17 [root@server1 squirrelmail1.4.17]# cp R * /var/www/html/webmail/ [root@server1 squirrelmail1.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
119
หนาตาของโปรแกรม SquirrelMail
รปท 22-2 แสดงโปรแกรม SquirrelMail
เปนอนวาเสรจการตดตงโปรแกรม SquirrelMail อนนเปนเพยงตวอยางคราวๆ หากใครจะนำาไปใชงานจรงจะตองตดตงสวนประกอบอนๆ เพมเตมไมวาจะเปนเรองของภาษาไทย และ Plugins ยงมโปรแกรมอนอกมากมายทเปนโปรแกรม webmail เชน OpenWebmail, NOCC Webmail, IlohaMail ฯลฯ ทงนทานสามารถเลอกใชงานไดตามความตองการ
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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 root@192.168.2.111'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 nowroot@192.168.2.111'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
121
ตวอยาง โปรแกรม Putty
รปท 23-1 แสดงโปรแกรม Putty
ตวอยางโปรแกรม SSH Secure Shell Client
รปท 23-2 แสดงโปรแกรม SSH Secure Shell Client
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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 root@192.168.2.111 Connecting to 192.168.2.111... root@192.168.2.111'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:~# lsVirtualBox2.1.241885Linux_amd64.runsftp> bye root@amdx2:~# sftp root@192.168.2.111 Connecting to 192.168.2.111... root@192.168.2.111's password: sftp> lls VirtualBox2.1.241885Linux_amd64.runsftp> put VirtualBox2.1.241885Linux_amd64.run Uploading VirtualBox2.1.241885Linux_amd64.run to /root/VirtualBox2.1.241885Linux_amd64.run VirtualBox2.1.241885Linux_amd64.run 100% 37MB 3.1MB/s 00:12 sftp>
การใชงาน sftp จากวนโดว บนวนโดวเราสามารถสงไฟลขนไปบนลนกซ หรอนำาไฟลจากลนกซลงมาทวนโดว โดยการตดตง sftp client ซงมอยหลายโปรแกรม เชน WinSCP, SSH Secure File transfer Client
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
123
ตวอยางโปรแกรม WinSCP
รปท 23-3 แสดงโปรแกรม winscp
โปรแกรม SSH Secure File transfer Client
รปท 23-4 แสดงโปรแกรม SSH Secure File transfer Client
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
124
SFTP แบบกราฟกบนลนกซ บนลนกซกมโปรแกรมสำาหรบ sftp ไดแกโปรแกรม gFTP
รปท 23-5 แสดงโปรแกรม gFTP
ทกลาวมาทงหมดในบทนคงชวยใหทานสามารถทำางานกบลนกซไดสะดวกยงขน
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
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
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
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 arnoiptablesfirewall_1.9.0b.tar.gz arnoiptablesfirewall_1.9.0b/ arnoiptablesfirewall_1.9.0b/bin/ arnoiptablesfirewall_1.9.0b/bin/arnofwfilter arnoiptablesfirewall_1.9.0b/bin/arnoiptablesfirewall arnoiptablesfirewall_1.9.0b/etc/ …[root@server1 ~]# cd arnoiptablesfirewall_1.9.0b[root@server1 arnoiptablesfirewall_1.9.0b]# ls bin contrib gpl_license.txt README uninstall.sh CHANGELOG etc install.sh share [root@server1 arnoiptablesfirewall_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 arnoiptablesfirewall_1.9.0b]# chkconfig iptables off[root@server1 arnoiptablesfirewall_1.9.0b]# chkconfig arnoiptablesfirewall on[root@server1 arnoiptablesfirewall_1.9.0b]# /etc/init.d/arnoiptablesfirewall 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
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
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
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
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
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
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
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
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
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
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
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.101.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
140
บทท 27การใชงาน linux rescue
linux rescue เปนออปชนหนงทมากบการตดตง CentOS ดวย CD หรอ DVD ใชสำาหรบบทเขาใชงานในโหมด rescue อนเนองมาจากลนกซไมสามารถบทไดอาจเนองมาจากปญหาในระบบลนกซ หรอถกแฮกโดยทแฮกเกอรเขามาแกไฟลคอนฟกจนทำาใหไมสามารถบทได การบทดวยแผน CD หรอ DVD ดวยโหมด rescue จะทำาใหเราสามารถเขาถงไฟลคอนฟกตางๆ ของลนกซได
การใชงาน linux rescue
บทดวยแผน CD แผนแรก หรอ DVD ตดตง CentOS
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
141
ถาตองการด Option เพมเตม ใหกด F2 พมพ linux rescue ท boot prompt เพอเขาทำางานในโหมด rescue
เลอกชนดคยบอรด
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
142
เลอกภาษา
จะใช Network หรอไมถาใชตอบ Yes ไมใชตอบ No
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
143
ระบบจะแจงเราวาลนกซททานไดตดตงจะถก mount ไวภายใต /mnt/sysimage ถาคณตองการกตอบ Continue โดยทสามารถ mount ไฟลแบบอานและเขยนได หากตองการแบบอานไดอยางเดยวกเลอก Read-Only ถาเลอก Skip จะไปยงหนาคำาสงเชลล
แจงเตอนอกครงวาลนกซจะอยภายใต /mnt/sysimage ตอบ OK
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
144
หลงจากตอบ OK กจะเขาสหนาเชลลพรอมท ตอนน / จะเปนของระบบไฟลใน CD ทเราใชบทเขามา
หลงจากทใชคำาสง chroot /mnt/sysimage กจะเปนระบบไฟลของลนกซเรา กสามารถแกไขเกยวกบระบบลนกซของเราไดทงหมด
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
145
กรณทไฟล /etc/fstab ถกทำาลาย ระบบกไมสามารถหาลนกซทเราตดตงไวได กไมสามารถ mount ระบบไฟลลนกซของเราได
เราตอง mount ระบบไฟลเอาเอง ดงตวอยางตามรป
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
146
จากทไดนำาเสนอมา จะเหนไดวา linux rescue เปนแคเครองมอททำาใหทานเขาถงระบบไฟลของลนกซ สวนการแกปญหาตางๆ ตองอาศยความรความเขาใจในระบบลนกซของทานเอง
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
147
การตดตงและใชงาน CentOS ลนกซเซรฟเวอร
โดย โสทร รอดคงท
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
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
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
150
การอางองหลงสอเลมนสวนใหญเขยนจากการทดลองทำาจรง เนอหาบางสวนคดลอกมาจากหนงสอ และ
เวบไซตตางๆ เนอหาบางสวนไดทำาไวนานจนจำาไมไดวาเอามาจากหนงสอเลมใด ผมไมมเจตนาจะคดลอกโดยไมใหเกรดตเจาของ ถาเนอหาบางสวนทผมนำามาเขยนตรงกบของนกเขยนทานใดผมตองขออภยดวย จกเปนพระคณยงถาผอานไดแจงใหผมทราบจะไดดำาเนนการอางอง ใหถกตองตอไป
ขอรบบรจาคหนงสอเลมนผเขยน เขยนเพอใชเปนคมอในการอบรม และเหนวานาจะเปนประโยชนสำาหรบผ
ทกำาลงศกษาลนกซ จงนำามาแจกจายเพอเปนวทยาทาน ผมยงยนยนวาหนงสอเลมนสามารถแจกจายไดฟร
แต ... หากผใดมความประสงคจะชวยเหลอหรอสนบสนน การจดทำาเวบไซต http://linux.sothorn.org และการจดทำาหนงสอลนกซเลมน กถอวาเปนนำาใจ และกำาลงใจ ทจะชวยในการพฒนาเวบไซต และสรางสรรคผลงานคมอลนกซออกมา
สำาหรบผตองการสนบสนนกรณาโอนเงนเขาบญช นายโสทร รอดคงท บญชออมทรพย ธนาคารกรงไทย สาขานาโยง เลขทบญช 937-0-05817-6
ถาหากทานไมมกำาลงสนบสนน กแนะนำาตชม หรอแจงคำาผดไดท sothorn@gmail.com จกเปนพระคณยง
การตดตง และใชงาน CentOS ลนกซเซรฟเวอร โดย โสทร รอดคงท http://linux.sothorn.org
Recommended