Tuesday, August 14, 2007

Apache

apache : customization

วันนี้ ขอบ่นเรื่องการลงโปรแกรมที่เรียกว่า ports แต่ลงโดยวิธีที่ไม่ใช่การลงด้วย port แถมผู้ลงนั้นก็ไม่ใช่ root ด้วย
การลงนั้น ให้ user ที่มี login ID ว่า learn เป็นผู้ลง โดยลงภายใน home ของเขาเอง

มูลเหตุที่ร่ายมา ก็เนื่องจากว่า หลายท่าน เพียรเอา tarred ball มาแล้วลงมือติดตั้งโปรแกรมนั้นๆเอง ทั้งๆที่โปรแกรมนั้นๆ ก็มีใน port แล้ว ทีนี้ ประเด็นอยู่ที่ว่าจะลงในฐานะไหน root หรือ user ?
หากลงในฐานะ user ก็แน่ว่าไม่สามารถเขียนลง /usr/local ได้ แต่ถ้าจะให้เขียนได้ ก็ต้องเป็น root เท่านั้น ซึ่งเมื่อเป็น root แล้วทำไมไม่ลงผ่าน port กลับมาใช้วิธีเอา tarred ball มา compile เอาทำไมให้วุ่นวายเปล่าๆ

บางท่านก็อาจจะแย้งว่า จะลงอะปะเช่ ไม่เห็นยากเลย ระเบิดไฟล์ออกมาแล้วสั่ง

./configure
make
make install

เท่านั้นก็จบ ครับจบจริงๆถ้าท่านเป็น user ธรรมดาๆ เพราะ ./configure นั้นเขาก็เขียนอะไรต่อมิอะไรไปตามเรื่องของเขา ซึ่งก็รู้อยู่ว่า user ธรรมดานั้นไม่มีสิทธิ์ที่จะเขียนลงได้, permission denied, ดังได้กล่าวมาแล้วข้างต้น

ดังนี้แล้ว ก็เลย แสดงให้ดูว่า วิธีการลงโดย user นั้น เราต้องทำอะไรบ้างจึงจะลงและใช้งานได้ด้วย นี่คือมูลเหตุแรก
อีกประการก็คือว่า ไปได้หนังสือ Apache the Definitive Guide มาเล่ม ซึ่งหนังสือเล่มนี้ นอกจากคำอธิบายแล้ว ยังมีบทสอนแต่ละเรื่องๆไปด้วย พร้อมกันนี้ก็ยังให้ source codes ของบทสอนเหล่านั้นมาด้วย ซึ่งอันนี้เองที่ได้ประโยชน์ ก็เลยลองทำๆดูไปในตัวด้วย และนำเสนอเพื่อเป็นแนวทางศึกษาให้กับ มือใหม่ ด้วย นี่คือมูลเหตุที่ ๒

Prerequisite
๑) ก่อนอื่นขอแจ้งว่า เครื่องที่ใช้นั้น ลง FreeBSD ไว้แล้วตามนี้

~% uname -a
FreeBSD siting.no.go.th 6.2-RELEASE FreeBSD 6.2-RELEASE #14: Wed Jul 11 01:40:57 ICT 2007 root@siting.no.go.th:/usr/obj/usr/src/sys/SITING i386
~%

สำหรับ packages อื่นๆนั้น ทึกทักเอาว่าลงไว้ครบหมดแล้ว ยกเว้น apache เท่านั้น

๒) apache tarred ball
อะปะเช่ ที่นำมาทดลองนี้เป็น version 2.2.0 และ tarred ball คือ httpd-2.2.0.tar.bz2 ซึ่งเราจะทดลองลงโดยใช้ฐานะของ user ธรรมดาๆ ที่ login เข้ามานั่นแหละ

๓) Apache the Definitive Guide
เอกสารประกอบหนังสือเล่มนี้คือ apache3.tgz ที่ท่านสามารถไปหาเอามาเองโดยไม่ลำบากนัก และขอแนะนำให้ซื้อหนังสือเล่มนี้มา แล้วแบ่งๆกันศึกษาไปพร้อมๆกันภายในกลุ่ม จะได้ประโยชน์มาก มากกว่าจะมาอ่านคนเดียว ราคาหนังสือไม่แพงหรอก เมื่อรวมๆกันสัก ๒๐ คนซื้อ
หรือถ้าลำบากนัก และไม่รังเกียจว่าหนังสือเก่า บวมเพราะเปียกฝน ก็มาขอยืมกันไปดูได้ ไม่ว่ากัน

Start Up
๑) เบื้องต้น เมื่อ login แล้ว ขอให้ระเบิดแฟ้มบทสอน apache the definitive guide เสียก่อนดังนี้

~% tar -xzvf apache3.tgz

ท่านจะได้ sub directory APACHE3 ขึ้นมา ก็ขอให้สำเนาไว้ก่อน แล้วแต่ท่านจะชอบใจวิธีไหน สำหรับ มะไฟ ขอทำง่ายๆจืดๆ ตามที่เคยได้รู้มาจากคนในวงการ ppp จาก FreeBSD ดังนี้

~% cp -R APACHE3/ APACHE3.orig/

ขอให้สังเกตุว่า ใน ~/APACHE3 นี้จะไม่มี sub direcotries conf, htdocs อยู่ด้วย

๒) ระเบิด tarred ball ของอะปะเช่ ด้วยคำสั่ง

~% tar -xzvf httpd-2.2.0.tar.bz2

จากนั้นให้เข้าไปที่ sub directory ที่สร้างมาใหม่ๆ

~% cd httpd-2.2.0

แล้วสั่งต่อไปทันที ตามนี้เลยน่ะ

~/httpd-2.2.0% ./configure --prefix=$HOME/APACHE3 --enable-http --localstatedir=$HOME/APACHE3/var --enable-headers --with-port=8080 --enable-logio

แล้วจะอธิบายรายละเอียดของ option ต่างๆในคราวถัดไป
อันที่จริงแล้ว ท่านสามารถทำความเข้าใจเองได้โดยง่ายว่าอะไรเป็นอะไรในคำสั่งข้างบนนั้น เพียงแค่
~/httpd-2.2.0% ./configure --help
แล้วค่อยๆอ่านไปช้าๆ ก็น่าจะเข้าใจได้ และก็เพราะเหตุนี้ด้วย ถึงยังไม่อธิบายตอนนี้ ต้องการให้พวกเราเรียนรู้ด้วยตนเองไปก่อนพลางๆ
เอาล่ะครับ ขอจบงานส่วนแรกเท่านี้ก่อน

No comments:


View My Stats