จากที่ได้ ติดตั้งเว็บเซิร์ฟเวอร์ Apache และ ติดตั้งโปรแกรมภาษาเว็บ PHP บน Apache เรียบร้อยแล้ว
ขั้นตอนต่อไปก็เป็นรัน Apache Web Server ขึ้นมาเพื่อให้ใช้งานได้
ในบทความนี้จะอธิบายการรันหรือสตาร์ต Apache Web Server บน CentOS 6.2 โดยจะใช้คำสั่ง service เพื่อสะดวกในการจัดการ กล่าวถึงวิธีการแก้ไขคอนฟิกเบื้องต้น และเมื่อทดสอบเรียบร้อยแล้ว ก็จะใช้คำสั่ง chkconfig เพื่อเวลาตอนบู๊ตเครื่องจะได้รันเซอร์วิสเว็บเซิร์ฟเวอร์ขึ้นมาโดยอัตโนมัติ
บน CentOS จะตั้งชื่อเซอร์วิสเรียก Apache ว่า httpd เพราะฉะนั้นเวลาใช้คำสั่ง service หรือ chkconfig ต้องใช้ชื่อเป็น httpd
รันเซอร์วิส httpd
ใช้คำสั่ง service เพื่อสตาร์ตเซอร์วิส httpd
[root@cent6 ~]# service httpd start Starting httpd: [ OK ]
ต้องขึ้นผลลัพธ์ว่า OK แสดงว่าสตาร์ตเซอร์วิสสำเร็จ
หลังจากสตาร์ตเสร็จเรียบร้อย ลองใช้คำสั่ง ps เพื่อดูโปรเซสของ httpd
[root@cent6 ~]# ps -ef | egrep "(UID|httpd)" UID PID PPID C STIME TTY TIME CMD root 1623 1 0 15:23 ? 00:00:00 /usr/sbin/httpd apache 1625 1623 0 15:23 ? 00:00:00 /usr/sbin/httpd apache 1626 1623 0 15:23 ? 00:00:00 /usr/sbin/httpd apache 1627 1623 0 15:23 ? 00:00:00 /usr/sbin/httpd apache 1628 1623 0 15:23 ? 00:00:00 /usr/sbin/httpd apache 1629 1623 0 15:23 ? 00:00:00 /usr/sbin/httpd apache 1630 1623 0 15:23 ? 00:00:00 /usr/sbin/httpd apache 1631 1623 0 15:23 ? 00:00:00 /usr/sbin/httpd apache 1632 1623 0 15:23 ? 00:00:00 /usr/sbin/httpd
ในที่นี้ใช้คำสั่ง egrep เพื่อค้นหาบรรทัดที่มีคำว่า UID หรือ httpd เพื่อให้แสดงชื่อฟิลด์ต่างๆ ด้วย
ทดสอบจาก Web Client (Browser)
หลังจากสตาร์ตเซอร์วิสเรียบร้อยแล้ว ลองใช้ browser จากเครื่อง client อื่นทดสอบดู
หน้าจอของ browser แสดง error ว่าเข้าเว็บไม่ได้
เหตุผลก็เป็นเพราะว่า โดยดีฟอลต์จากการติดตั้ง CentOS คอนฟิกของ firewall จะอนุญาตให้เข้าได้เฉพาะ ssh ได้เท่านั้น
ใช้คำสั่ง system-config-firewall-tui เพื่อเพิ่มคอนฟิก firewall อนุญาตให้เครื่องอื่นสามารถเข้ามาใช้เซอร์วิส WWW(HTTP) ได้
[root@cent6 ~]# system-config-firewall-tui
ลองใช้ browser จากเครื่อง client ทดสอบดูอีกครั้ง ก็จะใช้งานได้ ขึ้นหน้า Apache 2 Test Page
หมายเหตุ หน้า Apache 2 Test Page นี้ จะถูกแสดงขึ้นมา ในกรณีที่ไดเร็คทอรีเว็บที่เราเรียก ไม่มีไฟล์ index โดยจะไปเรียกไฟล์ /var/www/error/noindex.html มาแสดงแทน
ทดสอบเขียนไฟล์เว็บ html
ดีฟอลต์คอนฟิก apache ที่ติดตั้งจาก rpm ไดเร็คทอรีหลัก (DocumentRoot) ที่เก็บไฟล์เว็บหน้าแรกจะอยู่ใน /var/www/html/
ทดสอบเขียนไฟล์เว็บ ชื่อ test.html ไว้ในไดเร็คทอรี /var/www/html/
[root@cent6 ~]# cat /var/www/html/test.html <html> <body> ทดสอบเขียนเว็บ </body> </html>
ลองเปิดด้วย browser ดู
ทดลองเขียนไฟล์เว็บโปรแกรม php
หากได้ ติดตั้งโปรแกรมภาษาเว็บ PHP บน Apache ด้วย ลองเขียนไฟล์ php เพื่อทดสอบรันบนเว็บเซิร์ฟเวอร์ดู
[root@cent6 ~]# cat /var/www/html/test.php
<?php
print 'เขียนโปรแกรม PHP<br>';
for ($i=1; $i<=9; $i++) { print "$i"; }
?>
ลองเปิดด้วย browser ดู
คอนฟิกให้ สตาร์ต Apache ตอนบู๊ตเครื่อง
เมื่อทดสอบเรียบร้อยแล้ว หากต้องการให้สตาร์ต apache ตอนบู๊ตเครื่องโดยอัตโนมัติ สามารถทำได้โดยใช้คำสั่ง chkconfig
[root@cent6 ~]# chkconfig httpd on
[root@cent6 ~]# chkconfig --list | grep http httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ปิดเซอร์วิส Apache
ในกรณีที่ต้องการปิดเซอร์วิส Apache สามารถทำได้โดยใช้คำสั่ง service
[root@cent6 ~]# service httpd stop Stopping httpd: [ OK ]
ข้อมูลอ้างอิง
- ติดตั้งเว็บเซิร์ฟเวอร์ Apache
- ติดตั้งโปรแกรมภาษาเว็บ PHP บน Apache
- วิธีการเปิด ปิด เซอร์วิส
- การเปิดเซอร์วิสตอนบู๊ตเครื่อง
- แก้ไขคอนฟิก firewall ด้วย system-config-firewall
ใช้พื้นที่ Web Server ของ Cent os จนเต็ม จะสามารถเพิ่มพื้นที่ฮาร์ดดิสได้ยังไงบ้างครับ