เอามาเก็บไว้ใน blog เพราะเห็นว่ามีประโยชน์แล้วตอนนี้บน server ของเครื่องต้นฉบับถูกลบไปแล้ว (ได้มาจาก cache ของ google)

---------------------------------------------------------------------------------------- 

การคอนฟิกบางส่วนใน โปรแกรม NetBSD-2.1
ผมลง NetBSD-2.1 วันนี้ (17พ.ย.2548)ลอง แบ่ง partition ตามที่บอกในเว็บของเขาก็ได้แต่ผมไม่เอาเพราะชอบอัตโนมัติมากกว่า คราวนี้ใครจะถามก็ได้เลย ตอบได้ก็จะตอบและที่ทำไม่ได้ตอนนี้ก็คือการลง HD 2 ตัว บอกตามตรงผมมีความรู้อันน้อยนิดแต่อยากช่วยสนับสนุนผู้สนใจ

บทที่ 1
Welcome to NetBSD!
# vi /etc/inetd.conf แก้ให้ใช้ telnet, ftp ได้
# groupadd viriya
# useradd viriya -G wheel -g viriya -m -s /bin/ksh viriya
---------------------
# vi /etc/rc.local
ifconfig rtk0 inet 192.168.111.1 netmask 255.255.0
ifconfig rtk0 inet 192.168.1.179 netmask 255.255.255.248 #up
route add default 202.29.18.111

-----------------------
# cd /usr
ftp ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gz
# tar -xzvpf pkgsrc.tar.gz -C /usr
# cd /usr/pkgsrc/pkgtools/pkg_install
# make install

# reboot

บทที่ 2 ลงโปรแกรมที่ต้องการใช้งาน add pkgsrc
ตัวอย่าง อย่าได้เที่ยวหา /usr/ports ให้เนื่อยเพราะของ NetBSD เป็นแบบนี้
# cd /usr/pkgsrc/www/apache
# make install && make clean
ลงอื่นๆ ก็เหมือนกัน จะเห็นได้ว่าถ้าใช้แบบสามัญทั่วไปมันก็เหมือนๆกันนะแหละกับอย่างอื่น

note!
สร้างไฟล์เก็บชื่อเครื่อง
# echo > tutle.sru.ac.th /etc/myname หรือสร้างด้วย vi แล้วใส่ชื่อเอาตามต้องการ
สร้างเกตเวย์ก็ได้ echo 202.29.18.111 > /etc/mygate
ทำอย่างที่บอกข้างบนดีกว่า อย่าถามว่าเพราะอะไร แมวดำหรือขาวอยู่ที่ผลงานการจับหนู
หาชื่อแลนด์ ให้ถูกต้องใส่เป็น /etc/ifconfig.xxx ก็ได้ วิธีหาชื่อการ์ด
# dmesg : more ดูเอาเองยี่ห้อใครยี่ห้อมัน

บทที่ 3 การแก้ปัญหาเมื่อลงโปรแกรม ใน NetBSD
หากโปรแกรมใดมีลิขสิทธิ์เฉพาะจะ error และให้ไปยอมรับการใช้งานในไฟล์ /etc/mk.conf เช่น
ลงโปรแกรม editor ที่ชื่อ pico
# cd /usr/pkgsrc/editors/
# cd pico
# make install && make clean
===> pico-4.10 has an unacceptable license: pine-license.
===> To view the license, enter "/usr/bin/make show-license".
===> To indicate acceptance, add this line to your /etc/mk.conf:
===> ACCEPTABLE_LICENSES+=pine-license
*** Error code 1
Stop.
make: stopped in /usr/pkgsrc/editors/pico

แก้โดยใช้ vi แก้ไขไฟล์ /etc/mk.conf เพิ่มบรรทัด
ACCEPTABLE_LICENSES+=pine-license
ลงไป แล้วใช้คำสั่ง
# make install && make clean อีกครั้ง
ดังนั้นการใช้งานและมีปัญหา ก็คืออ่านบรรทัดสุดท้ายแล้วแก้ไปตามนั้น ขอโทษหากมีหลายบรรทัดก็ต้องแก้อันแรกสุดก่อน กลัวถูกก่อกวนต้องกันไว้ก่อน

บทที่ 4 add new HDD
ผมมีHDD ในเครื่อง NetBSD อยู่ 2 ลูก ตอนลงลงเพียงลูกเดียว ที่เหลือก็เสียดาย เป็นดังนี้จึงทำตาม เลียบเคียงกับของ OpenBSD
ปรากฏว่าใช้ได้ตอนนี้จึงมี HDD 2 ลูกดังนี้
เดิม
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/wd0a 16G 26M 16G 0% /
/dev/wd0e 1.8G 815M 921M 46% /usr
ตอนนี้เป็น
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/wd0a 16G 26M 16G 0% /
/dev/wd0e 1.8G 815M 921M 46% /usr
/dev/wd1d 18G 2.0K 17G 0% /var1
/dev/wd1h 18G 2.0K 17G 0% /usr1

วิธีทำคล้ายกับใน
http://puffer.sru.ac.th/extra_disk
ต่างกันเพียงคำสั่ง format harddisk ใช้คำสั่ง
newfs -F /dev/wd1d
newfs -F /dev/wd1h
วิธีการขั้นต้น

# mkdir /var1
# mkdir /usr1
# mount /dev/wd1d /var1
# mount /dev/wd1d /usr1
ดังนั้นผู้ที่ต้องการเพิ่ม HDD จึงทำได้ด้วยประการฉะนี้ และไม่ต้องกังวลเรื่องแบ่ง partition ในตอนต้น ควรให้เป็นแบบ auto ดีกว่าเพราะค่าต่างๆ จะถูกจัดสรรเอง ถ้าแบ่งเองไม่ถูกยิ่งแก้ยาก สู้เอาวิธีการเพิ่มฮาร์ดดิสดีมาแก้ปัญหากว่า

บทที่ 5 squirrelmail

โปรแกรมรับส่ง email ที่ใช้เป็นโปรแกรมเริ่มต้นของ unix โดยทั่วไปคือ sendmail แม้ว่าโปรแกรมนี้จะเคยผ่านข้อบกพร่องมาบ้างในอดีต แต่ด้วยข้อที่ไม่จำกัดเรื่องลิขสิทธิ์การใช้งาน มีเรื่องแปลกมากสำหรับ sendmail กับคนไทย น้องเจ้าหน้าที่แอดมินที่ทำงานผมเล่าให้ฟังถึงประสบการ sendmail ดังนี้
"อาจารย์ครับผมมีเรื่องเล่า คือ ตอนที่ผมติดตั้ง Webmail ใหม่ๆ เสร็จเรียบร้อยแล้ว และติดตั้ง Sendmail ผมก็ลอง Regis Sendmail ไปยังบริษัท ซึ่ง Sendmail เป็น Opensource อยู่ที่ America เขาก็ตอบกลับจดหมายผม ก็ติดต่อกันอยู่ระยะหนึ่ง ครั้งสุดท้ายเขาตอบมาว่า I Can speak Thai ผมก็แปลกใจว่า ฝรั่งนี่เก่งจังพูดภาษาไทยได้ ก็ตอบกลับเป็นภาษาอังกฤษตามปกติ แล้วเมื่อวันศุกร์ที่ที่ผ่านมา เขาโทรศัพท์มาหาผมจากเมืองนอก และที่สำคัญเขาเป็นคนหาดใหญ่พูดภาษาใต้ได้อีก อึ่งเลย Domain Mail ของเขาเป็นของ Sendmail เขาก็พูดคุยเรื่องต่างๆ เกี่ยวกับ Sendmail และถามสภาพปัญหาที่อยากจะให้ Sendmail ปรับปรุง ผมว่าเขาคงคิดว่าภาษาอังกฤษผมอ่อนแน่ๆ เลย คุยกันทางเมล์ไม่รู้เรื่องเลยโทรมาหา แต่เก่งมากสามารถสืบเบอร์โทรจนได้มา แสดงว่าเขาสนใจที่จะติดต่อทั้งๆ ที่ไม่เคยให้เบอร์โทร"
เห็ยไหมละครับว่า คนไทยเราก็ใช่ย่อย เอ้าว่าแล้วกลับมาที่ sensmail ต่อ เราจะเอา webbasemail อะไรมาจับกับ sendmail ได้บ้างใน NetBSD ว่าแล้วลองไปหาจากใน /usr/pkgsrc/mail ก็ไม่พบ openwebmail เห็น squirrellmail ก็เลยหยิบมาลงดู การลงโปรแกรม squirrelmail
ต้องใช้ php ด้วย แต่ผมมีแค่ apache ธรรมดาจะทำไงดี ย้อนกลับไปนิดว่าก่อนติดตั้งโปรแกรม apache ต้องติดตั้งโปรแกรม perl5 ก่อนใน NetBSD ไม่มีมาให้ไม่เหมือน OpenBSD หรือ FreeBSD การลงโปรแกรม perl ก็ทำเช่นเดียวกับทั่วๆไปคือ make install && make clean ใน /usr/pkgsrc/lang/perl5 หวังว่าคงจะไม่มีคำถามว่าทำไมไม่ลงจาก source และลงอย่างไร ผมคงหมดปัญญาตอบและจะไม่ตอบด้วยเพราะนั่นมันคำถามสำหรับมืออาชีพหรือเกจิ ต่อไปนี้ผมจะไม่ตอบเพียงเพื่อความอยากรู้อยากเห็น เพราะนี่คือ NetBSD มันหินพอๆกับ OpenBSD แต่ก็น้อยกว่ารุ่นเก่าๆ รุ่นใหม่นี้ 2.1 เป็นมิตรกับผู้ใช้มากๆแล้ว โอเค เมื่อลง perl แล้ว ก็ลง apache ได้
เมื่อลง squirrelmail มันจะตามลงโปรแกรม php ให้เองแหละ เหตุผมจึงว่า อย่าคิดลงด้วย source เองเพราะเสียเวลามาก เมื่อลงเสร็จจะปรากฏข้อความ
You will need to make SquirrelMail accessible through your HTTP server.
If you are running Apache and ap-php, then you may either symlink
/usr/pkg/share/squirrelmail
into DocumentRoot, or add the following line to httpd.conf:
Include /usr/pkg/etc/httpd/squirrelmail.conf
to make IMAP accounts accessible through:
http://www.example.com/squirrelmail/

โอช่างเรียบง่ายกว่าที่คิด
# apachectl stop
/usr/pkg/sbin/apachectl stop: httpd stopped
เพิ่มบรรทัด
Include /usr/pkg/etc/httpd/squirrelmail.conf
ลงไปใน httpd.conf
# apachectl start
/usr/pkg/sbin/apachectl start: httpd started
# ปัญหาย่อมมีต้องลองแก้เอาเอง

เพิ่มเติม แก้ไขนิดหน่อยเพื่อให้ apache+php ทำงานสมบูรณ์แบบ
เข้าไปที่
# /usr/pkgsrc/www/ap-php แล้วสั่ง make install && make clean จากนั้นเอาข้างล่างนี้ใส่ใน httpd.conf ก่อน restart apachectl start
LoadModule php4_module lib/httpd/mod_php4.so
AddType application/x-httpd-php .php

ยังมีปัญหาที่ต้องพิจารณา
SquirrelMail configtest
This script will try to check some aspects of your SquirrelMail configuration and point you to errors whereever it can find them. You need to go run conf.pl in the config/ directory first before you run this script.

SquirrelMail version: 1.4.5
Config file version: 1.4.0
Config file last modified: 19 November 2005 14:40:05


Checking PHP configuration...
PHP version 4.4.1 OK.
PHP extensions OK.
Checking paths...
Data dir OK.
Attachment dir OK.
Plugins are not enabled in config.
Themes OK.
Default language OK.
Base URL detected as: http://tutle.sru.ac.th/squirrelmail/src
Checking outgoing mail service....
SMTP server OK (220 tutle.sru.ac.th ESMTP Sendmail 8.12.11/8.12.11; Sat, 19 Nov 2005 14:40:11 +0700 (ICT))
Checking IMAP service....

ERROR: Error connecting to IMAP server "localhost:143".Server error: (61) Connection refused


แถม การลง imap ใน NEtBSD คือ
# /usr/pkgsrc/mail/imap-uw

จบการบรรยายหัวข้อ NetBSD 2.1