GotoKnow
  • เข้าระบบ
  • สมัครสมาชิก
  • แผงจัดการ
  • ออกจากระบบ
GotoKnow

Apache 2.2 ใน FreeBSD 6.0 แปลกๆ แฮะ

วันนี้ลองติดตั้ง Apache 2.2 ใน FreeBSD 6.0 ดูนะ กะว่าจะลองฟีเจอร์ใหม่ ที่เปลี่ยนวิธีการติดต่อกับ Apache Tomcat จากเดิมที่เป็น mod_jk มาเป็น mod_proxy_ajp (Apache JServ Protocol) แต่ว่าก็เจอข้อความแปลกๆ นิดหน่อย เนื่องจาก ตอนติดตั้ง มันไม่ยอมเพิ่มชื่อโฮสต์ ไปไว้ในไฟล์ /etc/hosts นะ

ส่วนข้อความที่เจอ ก็คุ้นหน้าคุ้นตาดีในบางอัน แต่มีเพิ่มขึ้นมานิดหน่อยนะ เหอๆ และวิธีการติดตั้ง ก็ใช้แบบธรรมดาไปก่อน โดยผ่านพอร์ตนะ

# cd /usr/ports/www/apache22
# make install clean

แล้วก็รอซักพักนะ จากนั้นไปเพิ่มคอนฟิกที่ไฟล์ /etc/rc.conf เพื่อให้สามารถใช้งาน apache22 ได้

apache22_enable="YES"

จากนั้นก็ลองเริ่มการทำงาน แล้วก็จะเห็นข้อความดังนี้

# /usr/local/etc/rc.d/apache22.sh start
Performing sanity check on apache22 configuration:
httpd: apr_sockaddr_info_get() failed for apc.richdomain
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
apache22 not running? (check /var/run/httpd.pid).
Starting apache22.
httpd: apr_sockaddr_info_get() failed for apc.richdomain.
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[Mon Dec 12 22:13:59 2005] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
#

ปัญหาก็คือ เรายังไม่ได้แก้ไขไฟล์ /usr/local/etc/apache22/httpd.conf ตรง ServerName นั่นเอง แต่จะมีตรงคำเตือนเล็กๆ น้อยๆ ในบรรทัดล่างสุดนะ httpready คืออะไรหว่า ยังไม่ได้อ่านดู เหอๆ แต่เอาให้มันสตาร์ทได้ก่อนล่ะกันนะ

ที่ไฟล์ /usr/local/etc/apache22/httpd.conf ตรงบรรทัด

#ServerName www.example.com:80

ก็แก้ให้เป็น

#ServerName www.example.com:80
ServerName localhost:80

หรือจะแก้ให้เป็นชื่อเครื่อง + โดเมน ก็ได้นะ
ServerName apc.richdomain:80

จากนั้นก็ลองรันอีกรอบนะ

# /usr/local/etc/rc.d/apache22.sh start
Starting apache22.
[Mon Dec 12 22:20:32 2005] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter

ก็ประมาณนี้นะ เก็บบรรทัดล่างสุดเอาไว้ก่อนล่ะกัน ตรง httpready น่ะ :o)

อ่า ... มันยังรันไม่ได้แฮะ แต่ก็พอรู้ล่ะ ลองดูล็อกไฟล์ซักหน่อย

# tail -10 /var/log/httpd-error.log
[Mon Dec 12 23:02:44 2005] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Mon Dec 12 23:02:44 2005] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find

IPv4 address of "apc.richdomain."
Configuration Failed

สรุปก็คือ ต้องแก้ไขที่ไฟล์ /etc/hosts ให้เป็นชื่อโฮสต์ที่เราตั้งไว้ ตั้งแต่แรก

127.0.0.1     localhost     localhost.richdomain    apc.richdomain

จากนั้นก็ลองรันใหม่อีกรอบ

# /usr/local/etc/rc.d/apache22.sh start
Starting apache22.

ผ่านแฮะ

บันทึกนี้เขียนที่ GotoKnow โดย 

คำสำคัญ (keywords): uncategorized
หมายเลขบันทึก: 9497
เขียน:
แก้ไข:
อ่าน:
สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ

ความเห็น (0)