Showing posts with label Apache. Show all posts
Showing posts with label Apache. Show all posts

Sunday, October 23, 2011

เกษตรกล้อมแกล้ม

ตื่นมาเจอคุณพี่ท่านอธิบายสรรพสาระ แก่เด็กนักเรียนที่เข้ามาเยี่ยมชม เรื่องของการเกษตร คงใช้คำถูกต้องน่ะ ฝรั่ง น้อยหน่า มังกรคาบแก้ว ...ฯลฯ
สนใจมาก ตอนท้าย คุณลุงท่านบอกหมายเลขมือถือ จำไม่ได้ จดไม่ทัน แต่ พี่ท่านยังแถม url ของพี่ท่านด้วย เกษตรลุงคิม ตามด้วย ดอทคอม

ง่ายเลย เข้าไปดู http://www.kasetloongkim.com ตรงตัว ชัดเลย
ไร่กล้อมแกล้ม 

ด้วยสายตาเบื้องต้น น่าจะเป็น พวกจุ่มแซ้ป จุมลา อะไรทำนองนั้น ลองไปตรวจดูเบื้องต้นด้วย netcraft.com ก็พบว่าพี่ท่านใช้ Linux เป็นระบบปฏิบัติการ Apache/2 เป็น web servers แต่ยังใช้ บริการของ CAT TELECOM Data Comm.  เพื่อให้บริการ internet

ตัวอย่างหนึ่ง ที่ใช้ open source software เพื่องานของตัวเอง เพื่อ ธุรกิจส่วนตัว เพื่อลดค่าใช้จ่าย

นับว่า เป็นการเปลื้องภาระออกจากใจ สร้างตนเองให้แกร่งขึ้น เพื่อให้ได้ดอกออกผล บางที บางกิ่งก็ต้องตัด ต้องแต่ง

ขอบคุณ ลุงคิม ที่เป็นตัวอย่างที่ดีทั้งในเรื่อง OSS และ การเลิกทาส ที่กำลังฟังธรรมจากรายการทีวีในช่องเดียวกัน ในขณะนี้  Sun Oct 23 08:54:21 ICT 2011 ช่อง สทท

_/\_

Thursday, June 16, 2011

FreeBSD: ports -->Zope

ขอแนะ ไม่ใช้ของใหม่หรอก เคยลงไว้ในนี้แหละ นานแล้ว เรื่องในทำนอง customized ports ของ FreeBSD ให้ลงในที่อื่น ต่างจากที่กำหนดไว้ เชิญหาอ่านเอาได้จาก ที่นี่ และ อีกที่ คราวนี้ ก็เกิดเรื่องให้ต้องลงในโฮม ดูบ้าง และก็รู้สึกว่า หากทำแล้ว ไม่เขียน แต่ทิ้งไป ก็ เสียดาย

เรื่องที่ว่า ก็ เรื่องของ zope ที่เอามาเขียนรายงาน โดยไม่ต้องใช้ กระดาษเขียนรายงาน ให้สมกับทีุ่คยอวดศักดา อวดชาวบ้าน หรือโกหกชาวบ้านนั่นแหละ ว่า เป็น paperless office ทั้งที่โดยแท้จริงแล้ว รายงานที ก็ มีกระดาษาให้ซาเล้งได้ตัง เอากระดาษไปขายที

แต่จะว่าโกหก ก็คงไม่เต็มคำ ขอถอนข้อความน่ะ เพราะ paperless คือหมายถึง กระดาษน้อย ก็ได้ เน้าะจิ๋มเน้าะ

มะไฟ ลง zope จาก ports ใน category www ลงแล้ว มันยังทะแม่งๆ เวลาพูดกับพี่ ว.ณ. สุราฯ ที ก็ต้อง ปรับสมองหลายๆที เพราะพี่เขาเล่นลงเอาเอง ไม่ได้ใช้ ports แต่อย่างไร ที่สำคัญ พี่เขาใช้ OpenBSD เอาซะอีก

วิธีก็ไปอ่าน Makefile ในนั้น ใน /usr/ports/www/zope/Makefile แล้วดูว่า ทำไมลงแล้วมันต้องไปอยู่ที่ /usr/local/www/zope และชื่อผู้ใช้ ทำไมมันต้องเป็น www และ ...ฯลฯ

ก็ได้ดวงตาเห็นธรรมขึ้นมาทันควัน

/usr/local นั่นคือค่า --prefix ที่ FreeBSD ports ใช้ ดังนั้น หากอยากให้ลงที่ /home/motorc สมมติน่ะ ก็กำหนดให้ค่า --prefix=/home/motorc ไป ค่าอื่นๆ ก็เช่นกัน

สรุปสำหรับ zope ที่ลง ให้กำหนดค่าต่างต่างดังนี้ , อ้อ ท่านต้องเป็น root น่ะระหว่างที่ลง

# setenv ZOPE_USER motorc
# setenv WEBBASEDIR Live
# setenv SZOPEBASEDIR ${WEBBASEDIR}/MIK
# setenv INSTANCENAME Jotawski
# setenv PREFIX /home/motorc/Zope

จากนั้น เมื่อจะลงก็เพียงแค่สั่ง

# cd /usr/ports/www/zope
# make
# make install
# make instance

แล้วก็ แก้ไขแฟ้มต่างๆ ที่เขาแนะนำในตอนท้ายของแต่ละช่วงๆนั้นๆไป

ที่สำคัญ คือท่านต้องเพิ่ม user ที่ชื่อ motorc ลงไปในระบบด้วย ท่านจะกำหนดเป็นอย่างอื่นก็ได้ ไม่ต้องแปลกใจหรอก motorc ก็มาจาก มอเตอร์ไซด์รับจ้างนั่นแหละ ที่วิ่งหน้าหมู่บ้าน หรือ หน้าปากซอย ทุกซอยนั่นแหละ วินปากซอย หรือ เรียกสั้นๆว่า วิน ซึ่งพ้องเสียงกับ  windows นั่นแหละ ไม่ได้มีความหมายอะไรมาก

และเมื่อแก้ไขแฟ้มทุกแฟ้มแล้ว อย่าลืม เปลี่ยน owner ให้เป็น motorc ทุกแฟ้มที่ได้ลงไปนั้นด้วย ดังนี้

# chown -R motorc:motorc /home/motorc/Zope/

อนึ่ง ถ้าหากประสงค์ที่จะลง startup script เอาไว้ให้มันวิ่งเองทุกครั้งที่เปิดเครื่อง ก็พอเดาออกน่ะว่า จะเอาแฟ้มพวกนั้น จากตรงไหน ไปไว้ที่ /usr/local/etc/rc.d/

ครับ ใช่เลย เอาจาก /home/motorc/Zope/etc/rc.d ไป เพราะปกติ แฟ้มพวกนี้ จะอยู่ที่ /usr/local/etc/rc.d เมื่อเรากำหนด PREFIX=/home/motorc/Zope แล้วแฟ้มพวกนั้น ก็ต้องอยู่ใน etc/rc.d เมื่อเทียบกับ PREFIX นั่นเอง

ขอให้โชคดีทุกท่าน ในวันพระนี้

Monday, September 13, 2010

สำนักงานของฉัน

commands
งาน สำนักงานกลาง เป็นส่วนงานที่ยุ่งมาก จุกจิก จนทำให้สงสัยกันว่า ทำไมถึงอยากได้กันนักหนา ตำแหน่งเลขานุการกรม อะไรพวกนี้น่ะ เอาแค่ประกาศข่าว ที่ต้องคอยแปะ คอยแกะออก หรือ หนังสือเวียน ที่ต้องให้คนรับ เซ็นต์ชื่อรับเอกสารไว้ เพื่อให้คนอื่นมาเซ็นต์ชื่อรับเอกสารต่อไป เนี่ย แค่นี้ก็ น่าเบื่อจะตาย

มันซ้ำซาก จำเจ

ที่ตั้งใจคือ รื้อแม่ งงง มันหมดเลย ไอ้เจ้าพวกน่าเบื่อซ้ำซากจำเจนี้เนี่ยน่ะ ไม่เอามันแล้ว
ข่าวประกาศ ทำ บอร์ด ติดข่าวทั่วไปที่ ใครๆ ก็มาอ่านได้
หนังสือเวียน ใช้ e mail ส่งข่าวหากัน หรือไม่ก็ระบบอีสารบาญ ที่ต้องมีการลงทะบงทะเบียนอะไร
จดหมายตอบรับ ใช้วิธีโบราณเลย สำเนาไว้ก่อน ตอบไป ลงนาม ลง ว.ด.ป. เลขตอบไป แล้วสำเนาไว้ แต่ใชร่วมกับฐานข้อมูน อย่าง MySQL อะไรทำนองนี้ไป
งานพัสดุ
งานคลั่ง
งาน inventory

พวกนี้ จะโล้ะๆๆ ทิ้ง เอามาทำแบบว่า จ้างมาคนเดียว หลังจกาพิมพ์เอกสารที่ส่งให้ไปแล้ว เอามาแค่ คอยกดปุ่ม Enter หรือ สับมิด ให้เราก็พอ


คิดได้ ความคิดเนี่ย ใครใครก็คิดได้

ยังกับว่า ทำบุญไว้เยอะ พอดีเจอที่เขาทำไว้ พอเข้าเค้าตามที่อยากได้ เลยลองจับมาทำๆดู ก็เข้าท่าดีน่ะ ไปดูเลยน่ะ นี่เลย ไปดูเอาเองเลย




เท่าที่กำลังแกะอยู่ ก็ตามรูปพวกนี้แหละ ที่ทำได้ตอนนี้ ดูรูปเกือบขวาสุดน่ะ แล้วมาอานใจความของรูปกลาง จะรู้ว่า ๒ รูปแรกน่ะ เป็นตอนแรกเริ่มทำ ก็ จอเดียวกันแหละ แบ่งจับรูมา

รูปซ้ายครึ่งบน รูปถัดไปครึ่งล่าง แล้วรูปเกือบขวาสุดนั้น ก็เป็นผลของการ กรอกชื่อ admin กับ password ไปแล้ว ซึ่งรูปปกลางบอกไว้ส่า ถ้าเห็นข้อความว่า

Everything seems fine ...

อะไรัน้นล่ะก็ สำเร็จ งานในส่วนนี้ ลุล่วงไปด้วยดี



ที่เขาทำไว้นี้ เขาใช้ Mysql, dovcot, postfix, php, apache กะล่อกก้อกแก้กนี่แหละจับมารวมๆ เขย่าๆ แล้วเปิดออกมา กลับดูดีไปกว่าเดิมซะอีก

อย่าทำเป็นขำไป ลำพังกะแค่ e-mail ที่คุยกันนักคุยกันหนาว่าแทบจะสำเร็จรูน่ะ บางองค์กร ยังให้ e-mail กับคนในหน่วยงานได้ไม่ครบคนด้วยซ้ำไป





มันต้องเริ่มให้ได้ สักจุดหนึ่ง จุดเล็กๆ Jotawski E services, jes.or.th นี่แหละ โดเมนนี้นี่แหละ



คำแนะนำ สำหรับบททดสอบว่า งาน ดำเนินไปถึงไหน พอเข้าไป เจอรูปหัวหมาเข้า ก็ให้งงง สงสัยมาก แต่ก็ตัดใจ กรอก virtual e-mail ที่สร้างขึ้นมา ทีแรกแรก ก็ errors แหละ

ก็เกิดจากเราพิมพ์ผิดบางตัว หรือ ไม่ได้ใส่ค่าให้ถูกต้อง ในแฟ้ม /usr/local/www/maia/config.php พอแก้ให้เรียบร้อย ได้อย่างในอีกรูป

ซึงเมื่อแก้ไขแล้ว เข้าไปอีกครั้ง ก็โอเคดังนี้






แต่ส่วนของ MTA ก็ขอยุติไว้ชั่วขณะ หากท่านใดสนใจใคร่อยากได้ ก้จะมอบให้แต่เพียงแฟ้ม configurations ทั้งหลายที่เป็นตัวแดงๆในหน้า web ของ เพอเพิ่ลแฮ้ท เท่านั้น

หากจะพอมีส่วนดีอยู่บ้าง ก็ขอยกให้เป็นของขวัญวันเกิดลูก ลูกชายคนโต เมื่อ ๒๔ ปีที่แล้ว เขาเกิด มะไฟ เลิกบุหรี่ได้ก็เพราะลูกชายคนนี้แหละ นั่นคือส่วนที่ดีที่สุดของเขาที่เขามอบให้กับพ่อ ตั้งแต่แรกเกิด

สุขสันติ์วันเกิดน่ะครับ ขอให้มี ความปกติ สุข สมปราถนาตลอดไป

Tuesday, August 31, 2010

FreeBSD: ports-->cms-->Joomla

commands
วานนี้ ไปประชุม เรื่องเว้บๆๆ นี่แหละ เลยได้แอ้คเค้ามา
พบว่า FreeBSD ก็มี จุ่มแซ้ป ไว้ให้กับเขาด้วยเหมือนกัน


จัดการ ซะ แล้วก็ไปแก้ httpd.conf หน่อยหนึ่งเพื่อให้เรียกผ่านอะปะเช่ได้

แล้วเขาก็ขึ้นหน้านี้มา
สุดทนกับภาษา และ ฟ้อนต์ เลยย้อนกลับไปตั้งต้น เอาภาษาที่อ่านง่าย สบายตาดีกว่า
ก็ไม่ทุ่มเถียงเกี่ยงงอนอะไรกับเขา เขาสั่งซ้ายหัน ก็ หันซ้ายให้เขา


ก็ดูว่า จะพอไปวัดตอนสายๆได้ เน้าะ

อย่างุนงงงสงสัยอะไรให้มากนักเกี่ยวกับ jes.or.th นั้นหนะ ก็แค่ jotawski e-services นั่นแหละน่า

และก็ยังไม่ได้จดทะเบียนด้วยหรอก อย่ากังวลใจไปเลย

พอดี น้องเขามาบางเขน เลยรบกวนให้เขาอธิบายให้ฟังสั้นๆ ก็เขียนมาเป็นรูป ทำนองนี้แหละ เอามือถือถ่ายมา ลงให้ดูเลยดีกว่า

จุ่มลา เป็นตัวเชื่อม ระหว่างเอกสารของเรา และ web page ของเรา นี่จากบีกินเน่อร์ บอกมา เอามาผสมกับภาพนี้เข้า ดูกันเอาเอง
ขอบใจจริงๆ

Thursday, August 5, 2010

FreeBSD: --> Log files

commandsการดูบันทึกการปฏิบัติงานนั้น หรือ การอ่านรายงานการประชุมนั้น มีประโยชน์มาก แต่ต้องหมายถึงว่ารายงานนั้น ต้องบันทึกตามความเป็นจริงที่เกิดขึ้น ซึ่งสำหรับการประชุมแล้ว ต้องมีการรับรอง แก้ไขรายงาน ...ฯลฯ

โฮ้ยยย จิปาถะ

แต่กับ log file ที่บันทึกโดยระบบปฏิบัติการคอมพิวเตอร์แล้ว เกิดอะไรขึ้น เขาก็บันทึกแหละ ตามที่กำหนดไว้ เพราะฉนั้น หน้าที่เราก็มีเพียง ตั้งหน้าตั้งตาอ่าน อ่านเอาเรื่อง

จับผิด จับถูกแก้ไขปัญหาได้เยอะ รวมทั้งป้องกัน ก็ได้มากเหมือนกัน

การอ่านให้เป็นนิสัย นับว่าเป็นการเขียนที่ดีอย่างหนึ่ง ซึ่งพอพกับการพูดที่ดีนั้น นักพูดที่ดี ต้องเป็นนักฟังที่ดีด้วย เอ แล้วมันจะไปด้วยกันได้มั้ยเนี่ย แต่เอาเหอะ อ่านก็แล้วกัน เน้อะ

log file ต่างๆของระบบนั้น จะเก็บไว้ที่ /var/log
ซึ่งก็มีตั้งแต่การ login, ftp, maillog, messages ต่างๆ เหล่านี้ FreeBSD เขาจัดไว้ให้แล้ว และจะ rotate ไปเรื่อย หน้าที่ของเราคือ อ่าน และ พิจารณา และ ปฏิบัติการตามสมควรแก่กรณี เป็นราย ราย ไป

ยกตัวอย่าง ที่สืบเนื่องมาจากเรื่อง Apache ที่ผ่านไปหยกหยกนี่ ก็ให้ท่านลองลง apache22 ให้เรียบร้อย แล้วปรับแต่งแฟ้ม httpd.conf ให้พอมีสาระเท่าที่จำเป็น ในเบื้องต้น ดังนี้

  • ServerAdmin ชื่อของท่าน เป็นอีเมล์
  • ServerName localhost:80
  • #Include etc/apache22/extra/httpd-default.conf
  • #Include etc/apache22/extra/httpd-ssl.conf
๒ ข้อหลังนี่ นำเอามาให้ดูเพราะอยากให้ท่านฝึกอ่าน log file ว่า ถ้าในสภาพปกติ จะเป็นอย่างไร และในสภาพผิดปกติ ความแตกต่างจะเกิดขึ้น ซึ่งท่านย่อมทราบเอง ปัจจัตตัง วิญญูหิติ ๚

เมื่อลงแล้ว ปรับแฟ้มดังกล่าวแล้วให้ท่านสั่ง, ในฐานะ root น่ะ
# /usr/local/etc/rc.d/apache22 start
และถึงอย่างไรก็ดี อย่าเพิ่งเชื่อในสิ่งที่เห้นในหน้าจอให้มากนัก จงตรวจสอบว่า อะปะเช่ เขาวิ่งจริงหรือว่า วิ่งไปแล้วแอบนอนแบบกระต่าย ด้วยคำสั่งอีกอันนี้
# /usr/local/etc/rc.d/apache22 status
และงวดนี้ ให้จำผลลัพธ์ที่หน้าจอไว้ด้วย แล้วไปเปิดแฟ้ม log file ดูอีกที


แฟ้ม log ก็อย่างที่เห็นในรูปแหละว่า ชื่อ httpd-access.log จากรูปนี่
มะไฟ ใช้ editor เปิดมาให้ดู ความจริงแค่สั่ง
# tail -20 /var/log/httpd-access.log
ก็พอแล้ว ยังไงก็ตามทีเหอะ จาก log file นี้ บอกว่าไม่มี errors อะไร โดยดูจาก ๕ บรรทัดสุดท้าย ที่วงแดงแดงไว้นั่นแหละ

ยังไงก็แล้วแต่ ขอให้พี่พีท่านสั่ง
# tail -20 /var/log/httpd-error.log
มาดูด้วยน่ะ งวดนี้ สั่งมาดูเปล่าๆได้ เขาไม่คิดตังหรอก คริคริ

เรามาทดลองกันดูง่ายๆ สำหรับ อะปะเช่ ลองดูว่า ถ้า hostname & ip number ไม่ได้กำหนด แล้ว อะปะเช่ จะวิ่งรึเปล่า แล้ว log file ทั้งสองจะแจ้งอย่างไร ก็ให้ท่านไปลองดูเอง ลองเปลี่ยน ServerName ในแฟ้ม httpd.conf เป้นอย่างอื่นเลย ง่ายดี แล้วสั่ง

# /usr/local/etc/rc.d/apache22 restart
เบื้องต้น ก็ให้ดูผลลัพธ์ที่หน้าจอ, standard error, ก่อน แล้วไปดู httpd-access.log กับ httpd-error.log ทั้ง ๒ แฟ้มว่าจะรายงานอย่างไร ให้สังเกตุเอาเอง

จากนั้น แก้ ServerName คืนกลับมาเป็นชื่อเดิม แล้วก็เริ่ม process ของ อะปะเช่ ใหม่อีกครั้ง

log file อื่นๆ ก็ให้อ่านแบบฟอร์มการบันทึกของเขาก่อน แล้วจึงไปนั่งอ่านตัว log file จะทำให้เข้าใจอะไรได้ง่ายขึ้นเยอะ อย่างกับว่า วันนี้ ระหว่าที่ชะงักไป มีพี่ท่านหนึ่ง มาถามว่าจะดูว่าเครื่องดับช่วงไหน ซึ่ง ก็พอดีที่เจอ เลยบอกว่า ไปดูผลลัพธ์จากคำสั่ง last(1) ซะ แต่พี่ท่านใช้อูบุ้นตู เลยบอกไม่ได้ ก็แต่บอกให้พี่เขาค่อยๆไล่ลงไปดูทีละบรรทัดๆ จากบนลงไปหาล่าง ก็น่าจะเจอเหตุเองแหละ ว่า เครื่อง มันดับเมื่อไหร่ เพราะอะไร กับอีกหนึ่งคำสั่งคือ lastcomm(1) ซึ่งพอใช้ดูได้เช่นกัน

ขอยุติเรื่องของ Log file ไว้ตรงนี้ก่อนชั่วคราว ขอบคุณทุกท่านที่สละเวลาอ่าน ๚

Sunday, August 1, 2010

Apache : DirectoryIndex


ของแถมน่ะ ของแถม


จะว่าไปแล้ว พวกเขาดูดูไป ก็เหมือนกับว่า จับมาวางเรียงๆกันไป ไม่มีลำดับอะไร แต่เท่าที่สังเกตุดู ก็พอเห็น ความแตกต่างอยู่บ้าง น่ะ อย่างกับว่า block ต่อไปนี้ ถ้าสลับกันดู แล้วจะรู้เอง

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#

<IfModule dir_module>
   DirectoryIndex   index.html index.php index.php5
</IfModule>

คัดมาจากแฟ้ม httpd.conf ปกติของ apache-2.2.16 ก็ลองเล่นดู ลองจัดดู

apache-2.2.16 นี้ ลงจาก ports ของ FreeBSD ครับ เป็นสิ่งแรก ที่ผู้มาใหม่นิยมเล่นกัน แต่พอจัดได้นิดนิดหน่อย ก็ผละหนีไปจับอย่างอื่นอีก แทบจะว่าได้ว่า พอได้แล้วก็เลิก แต่ก็เป็นไปได้ที่ เบื่อ

หารู้ไม่ว่า ถ้ายิ่งเล่นแล้ว จะยิ่งสนุกกับเขา

Sunday, March 14, 2010

FreeBSD: ports ---> notes

commands
ไม่พูดมากหละ ขอบันทึกเอาไว้เลย ในแบบ notes

ใน apache ถ้าท่านทำ Alias ในแฟ้ม httpd.conf แล้วละก็ อย่าลืมเด็ดขาด ไม่งั้น เจอแน่

you do not have permission

อะไรประมาณนี้ ตัวอย่างน่ะ
Alias /board "/usr/local/www/mybb"
ถ้าทำอยู่แค่นี้ล่ะก็ เจอแน่

มันต้องแถมด้วยส่วนนี้ ต่อไปเลย ใน section เดียวกันนั่นแหละ
<Directory "/usr/local/www/mybb">
Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ส่วนที่ว่า จะเอาอะไรมาลงระหว่าง Directory นั้น ไม่พูดถึง มันจำเพาะเกินไป


ในเรื่องของ MySQL ก็เช่นกัน ท่านต้อง
  • create ฐานข้องมูลมาใหม่
  • create user จากฐานข้อมูล mysql
  • แก้ไขส่วนนี้ create database ไม่ได้ create น่ะ ขอโทษจริงๆเพิ่ม record จากฐานข้อมูล mysql ที่บอกว่า มี user ที่ท่าน create ไว้แล้วนั้น เป็นเจ้าของ database ที่เพิ่งสร้างหมาดๆนี้อยู่


มันดูว่าจะคนละเรื่อง แต่ เป็นเรื่องเดียวกัน เพียงแต่แยกประเด็นบอกทีละอย่าง เท่านั้น

ถ้าหากมีอะไรที่พอจะทิ้งเป็น notes ได้อีก ก็จะเอามาบอกกัน

Sunday, August 16, 2009

ไกลปืนเที่ยง: FreeBSD

ไกลปืนเที่ยง ตอนนี้ เป็นเรื่องของ FreeBSD ล้วนๆ

ถึงเวลา ที่ควรจะนำ FreeBSD มาให้รับทราบ อย่างเป็นเรื่องเป็นราวเสียที หลังจาก กล่าวเกริ่นให้ทราบ พอให้เปนที่สนใจ หรือ อาจจะเลิกราไปเลย ก็แล้วแต่ท่าน, คราวนี้ จะพูดถึง

  1. การติดตั้ง
    รายละเอียดการติดตั้ง เช่น
    1. การแบ่งพาร์ทิชั่น
    2. mediaสำหรับการติดตั้ง
    3. การแต่ง network หลังติดตั้ง
    4. การติดตั้ง x windows เป็นต้น
  2. การลงโปรแกรมอื่นๆ เช่น GRASS, apache, databases, electronic logbooks
  3. การปรับแต่ง x windows system
  4. การปรับระบบ ให้ใช้งาน internet ได้
  5. และอีกมากมายที่ ยังไม่นำมากล่าวในที่นี้

ทั้งนี้ จะทยอยลงตามลำดับนี้ไป

ตารางเวลา ที่คาดว่าสมควรเกิดเหตุขึ้นคือ สิ้นเดือน สค นี้ ๒ ข้อแรกควรจบ ส่วยที่เหลือ ก็อีก ๒ สัปดาห์ถัดไป แต่ ถ้าเสร็จก่อนเวลาที่วางไว้ได้ ก็จะทำ

Tuesday, August 14, 2007

Apache(1)

apache: customization (cont)

ตอน ๒

ก่อนอื่น ขอบอกก่อนว่า ผู้อ่านที่ไหวดี สมควรได้ apache มาใช้งานแล้ว และเขาจะอยู่ที่ ~/APACHE3/bin นั่นแหละ, httpd
ทำไมถึงเป็นไปได้เพียงนั้น
คำตอบไม่ยากเลย ก็เพราะคำสั่ง ./configure --prefix= ฯลฯ นั้น เป็นการตรวจสอบระบบ และสร้างแฟ้ม Makefile ขึ้นมา ซึ่งเมื่อได้มาแล้ว สิ่งที่เราลำบากต่ออีกนิดก็เพียงแค่

~/httpd-2.2.0% make
~/httpd-2.2.0% make install

เท่านั้นเอง
คำอธิบายรายละเอียดของ ./configure นั้นจะบอกแต่ส่วนที่เพิ่มมาเท่านั้น

อันดับแรก --prefix เป็นการกำหนด base subdirectory ให้กับการติดตั้ง อย่างที่ใช้ --prefix=$HOME/APACHE3 ก็คือกำหนดให้ลงแฟ้มทุกแฟ้ม sub directories ต่างๆ ต่อจาก $HOME/APACH3 ลงไป เหตุผล เพราะเรามีแฟ้มบทสอนจาก อะปะเช่ในนั้นแล้ว ไม่อยาก copy ไปมา ก็เลยเอาตรงนั้นแหละ เป็นที่ลงอะปะเช่ไปซะ
อันดับถัดมา --localstatedir=$HOME/APACHE3/var เอาไว้เป็นที่เก็บ various log files ของอะปะเช่ ลองไม่กำหนดดูซิครับ ลองดูเอง
--with-port=8080 ก็กำหนดว่าเราจะใช้ port 8080 สำหรับวิ่ง อะปะเช่ เนื่องจากเราเป็นผู้ใช้งานในระบบ ไม่ใช่เจ้าของระบบ จึงไม่สามารถวิ่งที่ port 80 ซึ่งเป็น default port สำหรับ httpd ได้
--enable-logio อันนี้กำหนดว่าให้เราสามารถเขียน อ่าน log ลงในแฟ้มได้

options ที่เหลือ คงไม่น่าต้องอธิบายเลย เพราะภาษาของเขาที่เขียนมาให้อ่านนั้น ไม่ยากเกินที่จะเข้าใจ ส่วนเหตุผลที่ต้องกำหนดขึ้นมานั้น มะไฟ บอกได้แต่เพียงว่า เพราะเราลง apache ด้วยฐานะของ ผู้ใช้งานระบบทั่วๆไป มิใช่เจ้าของระบบ หรือที่รู้กันว่าคือ root นั่นแหละ เท่านั้นเองครับ
งานที่เหลือก็อย่างที่บอก

~/httpd-2.2.0% make
~/httpd-2.2.0% make install

บัดนี้ เราก็ได้ web server มาใช้งานแล้ว และเราเองนั่นแหละ เป็นเจ้าของ web server นี้ด้วย หรือถ้าจะให้หรูก็คือ เราเองนั่นแหละคือ web master สำคัญอยู่ที่ว่าเราเองต่างหาก พอที่จะเป็น web master ได้หรือไม่
ถ้าเราไหวทัน เราสมควรสำรวจก่อนสั่ง make install ว่า ใน ~/APACHE3 นั้นมีอะไรอยู่บ้าง และหลังจากนั้น มีอะไรเพิ่มมาอีก เอาง่ายๆว่าแค่ sub directories นั้นมีอะไรเพิ่มมา ก็ดีถมแล้ว, สำหรับมือใหม่น่ะครับ, ลองดูว่ามีพวกนี้อยู่หรือไม่ และเข้าใจมากน้อยแค่ไหนว่า เขามีไว้สำหรับวัตถุประสงค์อะไร

conf/
htdocs/
var/

สาม sub directories นี้แหละ ที่เป็นหัวใจของ web servers แล้วพวกเราเข้าใจว่า อะไรสำหรับอะไร? อย่างไร?
ก่อนจาก ลองสั่งสั้นๆดูซิครับ

~% cd ~/APACHE3
~APACHE3% ll bin

เห็นอะไรบ้างไหม โดยเฉพาะ httpd นั้นหนะ. ตอนนี้สั้นไป และจบเรื่องการติดตั้ง apache โดยผู้ใช้งานทั่วไปแต่เพียงเท่านี้

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
แล้วค่อยๆอ่านไปช้าๆ ก็น่าจะเข้าใจได้ และก็เพราะเหตุนี้ด้วย ถึงยังไม่อธิบายตอนนี้ ต้องการให้พวกเราเรียนรู้ด้วยตนเองไปก่อนพลางๆ
เอาล่ะครับ ขอจบงานส่วนแรกเท่านี้ก่อน

View My Stats