Apache (CentOS เรียกว่า httpd) มีชื่อเต็มๆว่า Apache HTTP Server เป็นโปรแกรมเว็บเซอร์เวอร์ที่มีชื่อเสียงและนิยมใช้กันมากเป็นอันดับแรกๆของ โลกเลยนะครับ เพราะว่ามันคอนฟิกง่าย เสถียร รองรับการใช้งานได้มาก (หรือเรียกว่าทราฟิก) มีความปลอดภัยสูง รองรับการใช้งานผ่าน SSL (Secure Socket Layer) ซึ่งมีการเข้ารหัสข้อมูลที่รับส่งระหว่าง Apache และเว็บเบราเซอร์ รองรับการทำ Virtual Host (มีเว็บเซอร์เวอร์เครื่องเดียว ไอพีเดียว แต่มีได้เป็นร้อยๆพันๆเว็บ) นอกจากนั้นยังปรับแต่งให้ทำงานตามที่ต้องการได้ได้หลายแบ
บน CentOS เราติดตั้ง Apache ได้ 2 แบบนะครับ คือ ใช้คำสั่ง yum และอีกวิธีคือใช้การคอมไพล์ แต่ผมจะแนะนำวิธีการติดตั้งด้วยคำสั่ง yum นะครับ ดังต่อไปนี้
ก่อนติดตั้ง httpd ผมแนะนำให้ติดตั้ง php ก่อนนะครับ
1. ติดตั้ง httpd
- โค้ด: เลือกทั้งหมด
yum -y install httpd mod_ssl
มีไฟล์คอนฟิกคือ /etc/httpd/conf/httpd.conf
และมีโฟลเดอร์ถูกสร้างขึ้นมา ได้แก่
/etc/httpd/conf เก็บไฟล์คอนฟิกหลัก
/etc/httpd/conf.d ไฟล์ในโฟลเดอร์นี้เป็นไฟล์ย่อยของไฟล์คอนฟิก httpd.conf ซึ่งทุกไฟล์ในโฟลเดอร์นี้จะถูกอ่านและทำตามเมื่อสตาร์ท httpd
/etc/httpd/logs --> /var/log/httpd เก็บล๊อกต่างๆที่เกิดขึ้นกับ httpd
/etc/httpd/modules --> /usr/lib/httpd/modules เก็บโมดูลที่จะเสริมการทำงานของ httpd
/etc/httpd/run --> /var/run เก็บโพรเซสขณะที่ httpd กำลังทำงาน
ที่โฟลเดอร์ /etc/rc.d/init.d จะมีไฟล์ชื่อ httpd ไฟล์นี้จะทำให้เพิ่ม httpd เป็นเซอร์วิสหนึ่งของ CentOS และใช้สั่ง start/stop/restart เซอร์วิส httpd ได้
2 ทำให้ httpd เป็นเซอร์วิสหนึ่งของ CentOS
- โค้ด: เลือกทั้งหมด
chkconfig --level 35 httpd on
3 แก้ไขคอนฟิกในไฟล์ httpd.conf เบื้องต้น
- โค้ด: เลือกทั้งหมด
vi /etc/httpd/conf/httpd.conf
ลบคำว่า Indexes ออกจากบรรทัด Options ภายใต้ <Directory "/var/www/html">ดังนี้
เดิม
<Directory "/var/www/html">
- Options FollowSymLinks Indexes
- AllowOverride None
- Order allow,deny
- Allow from all
ใหม่
<Directory "/var/www/html">
- Options FollowSymLinks
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
แก้บรรทัด ServerSignature ให้เป็น Off
เดิม
ServerSignature On
ใหม่
ServerSignature Off
4 สตาร์ท httpd
- โค้ด: เลือกทั้งหมด
service httpd start
ถ้าสตาร์ทไม่ได้ ให้ดูข้อความเออเร่อร์ได้ที่ไฟล์ /var/log/httpd/error_log ครับก็จะรู้สาเหตุ
ถ้าสตาร์ทได้ไม่มีปัญหาอะไร ลองเปิด Web Browser แล้วเข้าเว็บดูครับ พิมพ์ http://x.x.x.x จะเห็นหน้าจอ CentOS ดังรูป
แสดงว่าเวอร์คแน่นอนแล้ว
ถ้าสตาร์ท httpd แล้วมีข้อความลักษณะนี้
Starting httpd: httpd: apr_sockaddr_info_get() failed for server1.voip4share.com
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[ OK ]
สาเหตุเกิดจาก httpd มันเช็คชื่อเครื่องพบว่าชื่อ server1.voip4share.com แต่มันไม่รู้ว่า IP Address เป็นไอพีอะไร
จะปล่อยไปก็ไม่เป็นไรนะครับ ยังทำงานได้ตามปกติ แต่ถ้าอยากจะไม่ให้มันฟ้อง Error แบบนี้ให้เช็คที่ไฟล์ /etc/hosts
vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 server1.voip4share.com server1 localhost.localdomain localhost
ซึ่งชื่อ server1.voip4share.com ควรจะมีอยู่ในไฟล์ /etc/hosts ครับ
0 comments:
Post a Comment