Showing posts with label make install. Show all posts
Showing posts with label make install. Show all posts

Tuesday, June 2, 2009

FreeBSD ---> sendmail(4)

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

เอาล่ะจะเอาแนว code fragment ก็แล้วกันน่ะ ส่วนรายละเอียดนั้น ก็อ่านเอาจากแฟ้ม /usr/share/sendmail/cf/README น่ะครับ ในนั้นแหละ คู่มือเลย เสียแต่เป็นภาษาอังกฤษ

เบื้องต้น ขอให้ท่าน สำเนาแฟ้มสำคัญๆไว้ก่อนดังนี้น่ะ
# cp -R /etc/mail/ /etc/mail.orig/
จากนั้น สั่งหยุด sendmail ก่อนชั่วขณะหนึ่ง ระหว่างที่ทดลองอยู่เนี่ย ซึ่งก็หมายความว่า ท่านต้องเป็น root ตลอดเวลาที่ทดลอง

ขอให้ท่านดูแฟ้ม freebsd.mc น่ะครับ ดูให้ดีดี พิจารณา โครงสร้างของแฟ้มไปด้วย เพื่อว่าเวลาทำงาน ท่านจะได้ เพิ่มเติมได้ถูกที่ ถูกตำแหน่ง

ตัวอย่างที่ ๑ น่ะ ขอให้ท่าน สร้างแฟ้ม /etc/mail/sendmail.cf ของท่านขึ้นมาก่อน ตามนี้น่ะ
# cd /etc/mail
# rm -f /etc/mail/`hostname`.mc
# make
# make install
ในตัวอย่างนี้ ขอให้ท่านแก้ไขแฟ้ม `hostname`.mc ตรงบรรทัด
dnl define(`SMART_HOST', `your.isp.mail.server')
โดยให้เอา dnl ก่อนคำว่า define นั้นออกไปทิ้งเสียที่ไหนก็ได้ และอีกที่ที่ต้องแก้ไขคือ your.isp.mail.server นั้นหนะ ให้แก้เป็น mail server ของท่าน แก้ซะน่ะ

จากนั้น สั่งต่อไปนี้น่ะ
# grep -n Smart /etc/mail/sendmail.cf
# grep -n ^DS /etc/mail/sendmail.cf
ท่านจะพบว่า สองบรรทัดนี้ เลขที่ติดกันเลย และจะว่างจริงๆ คือบรรทัดหลังนั้นจะมีแค่ DS เท่านั้น ดังนี้เลย
# "Smart" relay host (may be null)
DS
และ นั่นคือแฟ้มของ sendmail.cf ก่อนการแก้ไข

สุดท้ายของตัวอย่างนี้ ขอให้สั่ง
# make
# make install
แล้วใช้คำสั่ง grep คู่เดิมนั้นอีกที ก็คงเห็นความแตกต่างได้ชัดเจนน่ะ และก็ หวังว่าพี่ เพื่อน น้อง คงเข้าใจความหมายของคำ SMART_HOST ในตอนแรก ในแฟ้ม `hostname`.mc นั้นด้วยน่ะ

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

Thursday, June 19, 2008

ports(1)

ขออนุญาตเพิ่มเติมในเรื่องของ ports สักหน่อยเถอะ เพราะรู้สึกว่า ไม่พอใจกับสิ่งที่เขาทำไว้หนะ ก็แหม คน ที่ไม่ใช่ ฅน ก็ยังงี้แหละ

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

# make install

ซึ่งพอเราสั่ง

# make package-recursive

แล้วมันมักจะทำ หรือ สร้าง packages มาหมดทุกตัว โดยไม่สนใจว่า packages อื่นที่เหลือนั้น สร้างมาก่อนหน้านี้แล้ว แบบว่า มันสร้างซ้ำอีกหนะ

อันนี้แหละ ที่ไม่พอใจ เพราะไม่อยากเสียเวลาไปสร้างซ้ำอีก มันนานนะ ไม่มีอะไรเลย

แล้วจะแก้ยังไง

จากความรู้ที่ว่า เมื่อเราลง ports นั้น มันจะสร้าง work directory ขึ้นมาด้วย และจะยังคงอยู่ ตราบเท่าที่เราไม่ลบทิ้งด้วยคำสั่ง

# make clean

อีทีนี้ ถ้าเราไปไล่สั่ง # make package ไปเสียทุกที่ มันก็จบ

เอาละ พอได้ไอเดียแบบนี้ ก็ลงมือทำเลย ง่ายแล้ว แต่ต้องเป็น root น่ะ ตามนี้น่ะ

# touch pkgs
# chmod +x pkgs
# echo #\!/bin/sh > pkgs
# echo set -x >> pkgs
# echo >> pkgs
# find /usr/ports -name work -type d -print | \
   sed  -e   's,/usr,cd /usr,'  -e   's,/work, \&\& make package,' >> pkgs

จากนั้น เราก็ลำบากเพียงสั่ง

# ./pkgs

สิ่งที่ต้องการ ก็บรรลุผลสมดั่งใจ
แล้วก็ อย่าลืมสั่ง clean ด้วยละ ไม่งั้นตัว work directory มันจะยังคงอยู่ และจะทำให้งวดต่อไป เราเองแหละที่ต้องทำซ้ำไปเสียเอง ส่วนที่ว่าจะสั่งให้เป็น make clean อย่างไร ไปคิดเอาเองน่ะ

ตัว shell script ที่อยู่ในแฟ้ม pkgs นั้นจะเปลี่ยนไป ตัวอย่างในกรณีที่ลง webmin ซึ่งต้องการ p5-Authen-SSLea แต่ว่าได้ลงไปแล้วโดย ports อื่น ผลที่ได้จึงมีเพียงเท่านี้


#!/bin/sh
set -x

cd /usr/ports/security/p5-Authen-PAM && make package
cd /usr/ports/sysutils/webmin && make package


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

ขอได้รับการขอบคุณอย่างมาก จาก มะไฟ ไว้ ณ ที่นี้ด้วย

Friday, May 23, 2008

ที่นี่ วันนี้

ที่นี่ มีชีวิต ที่นี่ มีความหวัง ที่นี่ มีรัก ที่นี่ จึ่งมีความเปลี่ยนแปลง
เมื่อมีความเปลี่ยนแปลง จึ่งมีชีวิต

มีชีวิต จึงมีความเปลี่ยนแปลง


ข้างบนนั่น ดูเหมือนจะเป็น ลี้น้อย ในเรื่อง ฤทธิ์มีดสั้น เป็นคนพูด

แต่ที่ทำอยู่ในขณะนี้คือ มะไฟ ที่กำลังจะบอกเพื่อนๆที่แวะเวียนเข้ามาว่า ที่นี่ วันนี้ กำลังใช้งาน FreeBSD และกำลังนำเสนอการใช้งาน BloGTK สำหรับติดต่อกับ blog ของท่าน พอดีนึกขึ้นได้ว่ามีเพื่อนผองน้องพี่ที่ thaibsd.com อยู่ ก็เลยแวะไปโพสทิ้งไว้ที่นั่น สักครู่ที่ผ่านมานี้เอง

14060 desk utilities: blog --> BloGTK
โดย : มะขาม เมื่อ : 2008-05-24 09:45:51

ก็ยังนับว่าเป็นบุญที่มีผู้เข้ามาอ่านกระทู้ดังกล่าวถึง ๒ ราย ภายในเวลาประมาณ ๓๐ นาฑี
ขณะนี้เวลา ๑๐ นาฬิกา ๕๔ นาฑี ของวันที่เขียนต่อ กระทู้ตกจากอันดับแรก มาอยู่อันดับที่ ๓ และมีผู้เข้าอ่าน ๔ รายด้วยกัน
เอาล่ะ มาเริ่มกันเลยดีกว่าว่า เราจะลงโปรแกรมอย่างไร เรียกใช้ยังไง อุปสรรคีอะไร และความพอใจโดยรวม เป็นอย่างไร

การติดตั้ง
ให้ลงจาก ports ชื่อ deskutils/blogtk ตามที่ได้แนะไว้แล้วนั้น แต่ขอแนะเพิ่มเติมสักนิดว่า ให้ทำเบื้องต้นช่วงแรกดังนี้

# make fetch
# make patch

จากนั้นไปนั่งอ่านแฟ้มที่ขึ้นต้นด้วยตัวใหญ่ใน working directory, work/BloGTK-1.1 , โดยเฉพาะอย่างยิ่งแฟ้ม README ขอให้ท่านกัดฟันทนอ่านให้เข้าใจให้ได้ แล้วประโยชน์จะเกิดขึ้นมากมายนัก ที่เหลือนอกนั้น ก็ดำเนินไปปกติ ตามกระบวนการติดตั้งผ่าน ports

# make install
# make package
# make clean

การใช้งาน
มีสิ่งที่ท่านต้องทราบอยู่ ๓ ประการ เพื่อที่จะทำให้การใช้งานสามารถเกิดขึ้น และดำเนินไปได้ นั่นคือ
  1. Server URL
  2. Username
  3. Password
สองข้อหลังนั้น อธิบายตัวเองในตัวอยู่แล้ว มีแต่ข้อแรกเท่านั้น ที่ท่านต้องหาทางทราบให้ได้ ว่าท่านใช้บริการประเภทไหน แล้ว server URL เขาจะกำหนดมาให้เอง มีแต่ของ Blog*Spot.com เท่านั้นที่ยังคงล้าสมัยอยู่ แต่ถึงยังงั้นเขาก็บอกมาให้ว่า ในช่อง server URL นั้นให้ท่านกรอก http://www.blogger.com/api/RPC2 ลงไป ซึ่งทั้งหมดนี้ต่างก็เอามาจากแฟ้ม README ที่ได้บอกไปในตอน การติดตั้ง นั่นแล
เมื่อท่านทราบข้อมูล ๓ ประการนั้นแล้ว ที่เหลือก็ลำบากเพียงเรียก

% blogtk

ขึ้นมาเท่านั้น ซึ่งในครั้งแรก ท่านต้องกรอกข้อมูลสามตัวที่ว่านี้ ในกรอบเล็กๆให้ครบ แล้วก็ OK ไป จากนั้น ในกรอบหลัก ท่านก็ connect ตรง File menu ก็เป็นอันจบ การวาดลวดลายเพื่อทำงาน
ตรงบริเวณกลางๆกล่อง ที่แถบคั่นชื่อ Edit Post นั่นแหละ เขียนไปเถอะ ตรงช่อง Entry น่ะ เมื่อจบก็ติ้กที่ Publish Entry ให้เกิดเครื่องหมายถูก แล้วกด Post Entry ตรงบริเวณล่างขวาของกล่อง ข้อเขียนของท่าน ก็จะไปปรากฏที่บ๊ะหละฮ่อกทันที

ความพึงพอใจโดยรวม
๑) ความเรียบง่าย
ทีแรก ให้เต็ม เพราะเห็นว่ามีแค่ ๒ เมนูไม่รกตาดี แต่พอเห็นพวกกล่องกดต่างๆ ก็เริ่มชักคะแนนกลับทีละนิดๆ แต่พอใช้ไปๆ ก็เห็นว่า
อืมม กล่องกดพวกนี้ก็มีประโยชน์แฮะ
เลยกลับมาให้เต็มเหมือนเดิม
๒) ความครบถ้วน
อันนี้ ยกไว้เลย ตัดออกไปมากกว่าครึ่งเลย เพราะไตเติ้ล ก็ไม่สามารถกำหนดได้ พวกคีย์เวิร์ด ก็ใส่ไม่ได้ ยิ่งแถบคั่นชื่อ Advanced ด้วยแล้ว ไม่แอ้ดว้านซ์เลย ใช้ไม่ได้เลย ยิ่งอีตอน save แล้วเรียกกลับมาใหม่เนี่ย พอ post กลับคืน พวกไม่ลงที่เดิมแล้ว กลับกลายเป็นหัวข้อใหม่ไป มึนน
ความครบถ้วน ยังไม่ได้เต็มนะ
๓) ความรวดเร็ว
มีสองปัจจัยที่แอบแฝงอยู่คือ หนึ่ง ความเร็วของ network ของท่านเอง กับสอง ความเร็วของ blogtk เอง ในที่นี้จะวัด หรือประเมินจำเพาะกรณีหลัง ซึ่งให้เต็มไปเลย
๔) การใช้งานอย่างมีคุณค่า คุ้มค่า
ข้อนี้ คุ้ม นะแม้จะมีตัวอื่นๆให้เลือกอย่าง gnome-blog, drivel ก็ตามทีเหอะ บอกได้ว่าคุ้ม


ความเปลี่ยนแปลงที่เกิดขึ้น กระทำผ่าน blogtk ทั้งสิ้น

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 โดยผู้ใช้งานทั่วไปแต่เพียงเท่านี้

View My Stats