การติดตั้งโปรแกรม Open Webmail บน RedHat
 โดย...เสษวิสวะ

บทนำ
Open Webmail เป็นโปรแกรม Free Webmail ที่ใช้รันผ่าน Apache Web Server บน Linux หรือ UNIX ครับ เป็นโปรแกรมที่เขียนขึ้นโดยใช้ภาษา Perl   ในส่วนของผู้เขียนบทความนี้นั้นเคยใช้แต่ Squirrel Mail อยู่ครับ แต่ก็ได้ไปเห็น Open Webmail ที่ใช้ในมหาลัยแห่งหนึ่ง  ดูแล้วหน้าตาสายดีครับ  โดยเฉพาะ Font นั้นค่อนข้างจะดีมากไม่ต้องมาปรับแต่งเพิ่มเติมอีกเลย  และในส่วนของการอ่านเมล์ของโปรแกรมก็ไม่ต้องพึ่งพา IMAP เหมือน squirrelmail   จึงได้ลองมาเซ็ตดูปรากฏว่าทำได้ครับ  ก็เลยอย่างแบ่งปันประสบการที่ทำให้ให้คนอื่นๆ ได้ดูกันบ้าง

จริง ๆ แล้วใครที่เก่ง ๆ หน่อยก็อาจจะไม่จำเป็นที่จะต้องดูเนื้อหาที่ผู้เขียนเขียนขึ้นมาก็ได้ครับ  คือให้ไปดู
Read Me ของโปรแกรมได้เลย  แต่อาจจะมีบางคนที่ลองทำแล้วมีปัญหาหรือ  ไม่ถนัดกับภาษาอังกฤษมากนัก   บทความนี้ก็อาจจะช่วยได้บ้างครับ  สำหรับ Open Webmail ที่ผู้เขียนทำขึ้นก็อยู่ที่ http://mail.south.cattelecom.com  ครับ หน้าตาเป็นดังรูปที่ 1 และเมื่อ Ligin ด้แล้วจะได้ดังรูปที่ 2



รูปที่ 1


รูปที่ 2

ความต้องการของระบบ
Apache web server with cgi enabled
Perl 5.005 or above

CGI.pm-2.74.tar.gz        (required)
MIME-Base64-2.20.tar.gz   (required)
libnet-1.0901.tar.gz      (required)
Digest-1.05.tar.gz        (required)
Digest-MD5-2.33.tar.gz    (required)
Text-Iconv-1.2.tar.gz     (required)
libiconv-1.9.1.tar.gz     (required if system doesn't support iconv)


CGI-SpeedyCGI-2.22.tar.gz (optional, for persistent running)
Compress-Zlib-1.21.tar.gz (optional, for HTTP compression)
ispell-3.1.20.tar.gz      (optional, for spellcheck)
Quota-1.4.10.tar.gz       (optional, for unixfs quota support)
Authen-PAM-0.12.tar.gz    (optional, for auth_pam support)
ImageMagick-5.5.3.tar.gz  (optional, for thumbnail support in webdisk)
antiword-0.35.tar.gz      (optional, for msword preview)
openssl-0.9.7c.tar.gz     (optional, for pop3 over SSL support,
                           this is required only if system doesn't support libssl)
Net_SSLeay.pm-1.25.tar.gz (optional, for pop3 over SSL support)
IO-Socket-SSL-0.95.tar.gz (optional, for pop3 over SSL support)

เลือกติดตั้งเฉพาะสิ่งที่จำเป็น
ากความต้องการของระบบจะเห็นว่ามีอยู่ 2 แบบ คือแบบที่เป็น required  กับ optional  ซึ่งในที่นี้เป็นการติดตั้งในขั้นพี้นฐานจึงจะเลือกติดตั้งเฉพาะสิ่งที่ระบบต้องการจริง ๆ (required) เท่านั้น ซึ่งประกอบด้วย ซอร์ฟแวร์ต่าง ๆ ดังนี้

  CGI.pm-2.74.tar.gz        (required)
   MIME-Base64-2.20.tar.gz   (required)
   libnet-1.0901.tar.gz      (required)
   Digest-1.05.tar.gz        (required)
   Digest-MD5-2.33.tar.gz    (required)
   Text-Iconv-1.2.tar.gz     (required)
   libiconv-1.9.1.tar.gz     (required if system doesn't support iconv)


ดาวน์โหลดโปรแกรม
โปรแกรมทั้งหมดสามารถดาวน์โหลดได้จาก http://www.openwebmail.org/openwebmail/download/packages/ โดยให้ดาวน์โหลดมาไว้ที่ /tmp (ไว้ที่อื่นก็ได้นะครับแต่ในที่นี้จะขออ้างเป็น /tmp)

ขั้นตอนการติดตั้งโปรแกรมที่จำเป็น (Required)
1. การติตั้ง CGI.pm

   cd /tmp
   tar -zxvf CGI.pm-2.74.tar.gz
   cd CGI.pm-2.74
   perl Makefile.PL
   make
   make install


2. การติดตั้ง MIME-Base64
   cd /tmp
   tar -zxvf MIME-Base64-2.20.tar.gz
   cd MIME-Base64-2.20
   perl Makefile.PL
   make
   make install

3. การติดตั้ง libnet-1.0901
   cd /tmp
   tar -zxvf libnet-1.0901.tar.gz
   cd libnet-1.0901
   perl Makefile.PL (ans 'no' if asked to update configuration)
   make
   make install

4. การติดตั้ง
Text-Iconv-1.2
เนื่องจาก Text-Iconv-1.2 เป็น perl interface ที่ต้องอาศัย iconv() ดังนั้นต้องเช็คดูก่อนว่าระบบของคุณมี iconv() หรือไม่ด้วยการพิมพ์คำสั่งดังนี้ :

   man iconv

ถ้าไม่มี manual page สำหรับ iconv แสดงว่าระบบของคุณไม่สนับสนุน iconv()  คุณต้องติดตั้ง libiconv package เพื่อให้มี iconv() support  ซึ่งการติดตั้งเป็นดังนี้ :

  
cd /tmp
   tar -zxvf libiconv-1.9.1.tar.gz
   cd libiconv-1.9.1
   ./configure
   make
   make install

ให้พิมพ์คำสั่ง 'man iconv' เพื่อให้แน่ใจว่า libiconv ถูกติดตั้งอย่างสมบูรณ์
 
แล้วก็มาเริ่มติดตั้ง Text-Iconv package ดังนี้ :

  
cd /tmp
   tar -zxvf Text-Iconv-1.2.tar.gz
   cd Text-Iconv-1.2

เนื่องจากเราเพิ่งติดตั้ง libiconv แบบ manually  ไป มีคำแนะนำว่าเราต้องเข้าไปแก้ไขไฟล์ Makefile.PL โดยเปลี่ยนบรรทัดที่เป็น LIBS และ INC ให้เป็นดังนี้

       'LIBS'         => ['-L/usr/local/lib -liconv'], # e.g., '-lm'
       'INC'          => '-I/usr/local/include',      # e.g., '-I/usr/include/other'

   perl Makefile.PL
   make
   make test
  
make install

การติดตั้ง squidperl
ถึงแม้ว่าเราจะมี perl ติดตั้งอยู่แล้วแต่โปรแกรม open webmail จะมีการเรียกใช้ squidperl ดังนั้นให้ติดตั้ง squidperl ด้วย ซึ่งผู้เขียนติดตั้งเป็นแบบ RPM ก็สามารถทำงานได้ครับ  โดยให้ดาวน์โหลด squidperl ได้จาก http://openwebmail.org/openwebmail/download/redhat/rpm/packages/ แล้วให้เลือกไดเร็คทอรี่ที่จะดาวน์โหลดให้ตรงกับ OS ของตัวเอง  ซึ่งในที่นี้ผู้เขียนใช้ RH 9.0 แต่ไม่มีไดเร็คทอรี่นี้เลยเลือกเป็น /rh80

เมื่อดาวน์โหลดมาแล้วก็ให้ติดตั้งด้วยคำสั่งดังนี้ :

   rpm -ivh perl-squidperl-5.8.0-55.i386.rpm


การติดตั้ง Open Webmail 

ให้ดาวน์โหลดโปรแกรมจาก http://openwebmail.org/openwebmail/download/current/   มาไว้ที่ /var/www
หลังจากนั้นให้ทำการติดตั้งตามขั้นตอนต่อไปนี้

1. cd /var/www
   tar -zxvBpf openwebmail-X.XX.tar.gz
   mv data/openwebmail html/
   rmdir data

2. cd /var/www/cgi-bin/openwebmail/etc

   ให้แก้ไขไฟล์ auth_unix.conf  ในไดเร็คทอรี่ default ดังนี้
   a. set passwdfile_encrypted to '/etc/shadow'
   b  set passwdmkdb           to 'none'

   ให้แก้ไขไฟล์ openwebmail.conf  (อยู่ในตำแหน่ง etc)
   a. set mailspooldir to '/var/spool/mail'
   b. set ow_htmldir   to '/var/www/html/openwebmail'
      set ow_cgidir    to '/var/www/cgi-bin/openwebmail'
   c. set spellcheck   to '/usr/bin/ispell -a -S -w "-" -d @@@DICTIONARY@@@ -p @@@PDICNAME@@@'
   d. change default_signature for your need
   e. other changes you want

3. ให้เพิ่มข้อความต่อไปนี้
   /var/log/openwebmail.log {
       postrotate
           /usr/bin/killall -HUP syslogd
       endscript
   }
   เข้าไปในไฟล์ /etc/logrotate.d/syslog เพื่อ enable logrotate ให้กับไฟล์ /var/log/openwebmail.log

4. ให้ execute ไฟล์ดังนี้ :

/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init

5. ถ้าทำตามข้อ 4 แล้วโปรแกรมมีแจ้งว่าให้ทำการแก้ไขไฟล์
dbm.conf ก็ให้แก้ไขตามคำแนะนำครับ  แต่เท่าที่ผู้เขียนเจอคือไฟล์นี้ไม่มีอยู่ในตำแหน่ง /var/www/cgi-bin/openwebmail/etc  แต่จะอยู่ใน /var/www/cgi-bin/openwebmail/etc/defaults   ก็ให้ก็อปปี้ไฟล์ดังกล่าวมาไว้ในตำแหน่ง /var/www/cgi-bin/openwebmail/etc เสียก่อนแล้วค่อยแก้ไข  โดยค่าที่ต้องแก้ไขจากของเดิมคือ :

dbm_ext
                                       .db
dbmopen_ext
                             none
dbmopen_haslock
                   no

ก็ให้แก้ตามที่โปรแกรมบอกคือเป็น
:

dbm_ext                                       .db
dbmopen_ext                            .db
dbmopen_haslock                  yes

แล้วให้ทำตามข้อ 4 อีกครั้ง  ถ้าไม่มีปัญหาประการใด  ก็น่าจะเรียกงาน open webmail ได้นะครับ

----จบ----