让Mail服务在窗口下Openwebmail配置
发表于:2007-07-04来源:作者:点击数:
标签:
首先把系统(Rh8.0)装好,并且安装了sendmail,然后编辑sendmail.cf,把127.0.0.1这一行注释掉,在/etc/hosts文件中添加了本机IP和域名的对应(这样可以不配DNS 服务器 ),重启邮件服务即可(防火墙里面相关端口已经打开,如果没有打开,执行ntsysv后重新
首先把系统(Rh8.0)装好,并且安装了sendmail,然后编辑sendmail.cf,把127.0.0.1这一行注释掉,在/etc/hosts文件中添加了本机IP和域名的对应(这样可以不配DNS
服务器),重启邮件服务即可(防火墙里面相关端口已经打开,如果没有打开,执行ntsysv后重新配置一下防火墙)。到openwebmail网站下载了最新版本的rpm包,安装比较顺利。然后按照提示执行初始化操作:cd the_direcotry_of_openwebmail_cgi_scripts./openwebmail-tool.pl --init显示有和suidperl相关的错误,于是用apt升级perl-suidperl,再进行初始化操作成功,按照显示的提示修改相应文件,基本成功,再换一台电脑(hosts文件也要修改),用浏览器打开网页:http://yourdomain/cgi-bin/openwebmail/openwebmail.pl,即可看到webmail界面,输入帐号密码,进入信箱后出错,看提示发现和Text-Iconv-1.2.tar.gz有关,于是再按照安装提示重新安装了Text-Iconv了,
测试成功!!!
安装参考文件见下: 引用:
Open WebMail 官方站台
Open WebMail 的官方网址是 http://openwebmail.org, 这部机器位于美国 Spring Link 骨干上的机房, 是由热心的网友 Daniel Pentecost 还有他的公司 Norvasen 与 Pentecost Inc. 所完全免费提供, 目前并由网友 Thomas Chung 负责整个网站的运行与维护. 在发展 Open WebMail 的过程中, 受到许许多多来自世界各地朋友的帮助, 实在是感动良多, 真的让人有一种世界村, 天涯若比邻的感觉...
至于 http://turtle.ee.ncku.edu.tw/openwebmail 则是程序发展的中心, 所有最新的程序代码都是在这里测试完后才开始对外公布, 然后复制 (mirror) 到官方站台及各地的 mirror site.
Open WebMail 安装需求 支援 CGI 的 Web server
Perl 5.005 以上 (需有 suid perl 支持)
CGI.pm-2.74.tar.gz (必要)
MIME-Base64-2.12.tar.gz (必要)
libnet-1.0901.tar.gz (必要)
Text-Iconv-1.2.tar.gz (必要)
libiconv-1.9.1.tar.gz (可选择)
CGI-SpeedyCGI-2.22.tar.gz (可选择)
Compress-Zlib-1.21.tar.gz (可选择)
ispell-3.1.20.tar.gz (可选择)
Quota-1.4.6.tar.gz (可选择)
Authen-PAM-0.12.tar.gz (可选择)
ImageMagick-5.5.3.tar.gz (可选择)
以上的套件, 一般来说是透过 source 安装, 但如果您用的是 RedHat Linux, 那也有 rpm 可以快速安装
安装套件 (由 source 安装) 首先请先到 http://turtle.ee.ncku.edu.tw/openwebmail/download/packages/ 下载上述的各个套件
安装 CGI.pm 套件
cd /tmp
tar -zxvf CGI.pm-2.74.tar.gz
cd CGI.pm-2.74
perl Makefile.PL
make
make install
注: 可能您原本的机器上就已经安装了 CGI.pm 这个套件, 不过由于有使用者回报 Open WebMail 如果使用太旧的 CGI.pm 版本, 会在上传附件时, 发生当住的情形, 所以我们建议您安装 2.74 以后或是更信的版本. 检查 CGI.pm 版本的方式如下;
perl -MCGI -e 'print $CGI::VERSION'
安装 MIME-Base64 套件
cd /tmp
tar -zxvf MIME-Base64-2.12.tar.gz
cd MIME-Base64-2.12
perl Makefile.PL
make
make install
注; 虽然您的机器可能已经安装了 MIME-Base64 这个套件, 还是建议您从 source 重新装一次. 这样做的话, 可以确定 MIME-Base64 中的 XS 支持有被启动, 可以大幅地增加处理 MIME 附件编码与译码的速度
安装 libnet 套件
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
安装 Text-Iconv-1.2 套件 (自 openwebmail 1.80起)
openwemail 自 1.80 版以后开始支持多国的字集转换功能(如: 中文的简繁转换, 日文的 Shif-JIS/ISO-2022-JP/EUC-JP 转换, 或是各种字集对 Unicode (UTF- 的转换), 这个转换的动作是透过 Text-Icon 套件来完成的. 而由于 Text-Iconv 事实上只是提供对系统 iconv() 相关函式 的一个 perl 接口, 所有首先要确认系统上是否支持 iconv() 相关函式, 方法如下
man iconv
如果下完命令后没有出现相关的 manpage 说明文件, 表示系统可能不支持 iconv() 相关函式, 不过别担心, 我们可以透过安装 libiconv 这个套件来替系统加上对 iconv() 的支持
cd /tmp
tar -zxvf libiconv-1.9.1.tar.gz
cd libiconv-1.9.1
./configure
make
make install
现在再试一次 'man iconv' 确认 libiconv 已经被成功的安装到系统之中
接下来就可以开始安装 Text-Iconv 这个套件了
cd /tmp
tar -zxvf Text-Iconv-1.2.tar.gz
cd Text-Iconv-1.2
perl Makefile.PL
注: 如果您用的是 FreeBSD, 或是您刚才用手动安装 libiconv-1.9.1.tar.gz 这个套件, 请在执行 perl Makefile.PL 之前, 先修改 Makefile.PL 档案, 将 LIBS 和 INC 这两行设定如下
'LIBS' => ['-L/usr/local/lib -liconv'], # e.g., '-lm'
'INC' => '-I/usr/local/include', # e.g., '-I/usr/include/other'
make
make test
注: 如果 make test 失败, 代表您的 OS 不支持 iconv() 这个功能或是 Makefile.PL 中的 LIB, INC 设定有误. 您可以将 uty/iconv.pl.fake 拷贝到 iconv.pl 这个档案上, 让 openwebmail 不透过 iconv 进行字集转换. 这样 简/繁转换 功能会还在, 但是会丧失如 自动转换 UTF-8 格式信件的功能.
make install
安装套件 (由 rpm 安装)
如果您用的是 RedHat Linux, 那么您可以透过 rpm 快速安装, 下载 rpm 的网址在 http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/
首先是安装 CGI, MIME-Base64 和 libnet 这三个套件
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/rh73/perl-CGI-2.752-34.99.6.i386.rpm
rpm -Uvh --force perl-CGI-2.752-34.99.6.i386.rpm
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/rh73/perl-MIME-Base64-2.12-14.i386.rpm
rpm -Uvh --force perl-MIME-Base64-2.12-14.i386.rpm
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/rh73/perl-libnet-1.0901-17.i386.rpm
rpm -Uvh --force perl-libnet-1.0901-17.i386.rpm
注: 您可以透过 rpm -qa | grep -i keyword 的方式来查询系统上是否已安装某特定套件
注: 如果想要让 wget 透过 proxy 去抓数据的话, 请在使用 wget 前先执行下列命令
export http_proxy=http://your_proxy_server:3128 (for bash)
setenv http_proxy http://your_proxy_server:3128 (for csh/tcsh)
接着检查您的系统是否有装 suidperl 套件
rpm -q -a|grep -i suidperl
如果您的 7.3 系统没有装 suidperl 的话, 请
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/rh73/perl-suidperl-5.6.1-34.99.6.i386.rpm
rpm -Uvh --force perl-suidperl-5.6.1-34.99.6.i386.rpm
如果您的 8.x 系统没有装 suidperl 的话, 请
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/rh80/perl-suidperl-5.8.0-55.i386.rpm
rpm -Uvh --force perl-suidperl-5.8.0-55.i386.rpm
如果您的 9.x 系统没有装 suidperl 的话, 请
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/rh9/perl-suidperl-5.8.0-88.i386.rpm
rpm -Uvh --force perl-suidperl-5.8.0-88.i386.rpm
接着是检查您的系统是否有装 Texi-Iconv 套件
rpm -q -a|grep -i iconv
如果您的 7.3 系统没有装 Text-Iconv 的话, 请
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/rh73/perl-Text-Iconv-1.2-RH73.i386.rpm
rpm -Uvh --force perl-Text-Iconv-1.2-RH73.i386.rpm
如果您的 8.x 系统没有装 Text-Iconv 的话, 请
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/rh80/perl-Text-Iconv-1.2-RH80.i386.rpm
rpm -Uvh --force perl-Text-Iconv-1.2-RH80.i386.rpm
如果您的 9.x 系统没有装 Text-Iconv 的话, 请
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/rh9/perl-Text-Iconv-1.2-RH80.i386.rpm
rpm -Uvh --force perl-Text-Iconv-1.2-RH80.i386.rpm
安装 Open WebMail
在 http://turtle.ee.ncku.edu.tw/openwebmail/download/ 下可以下载 Open WebMail 的各个 Release 版本 (openwebmail-x.yy.tar.tgz) 与最新的 current 版本 (openwebmail-current.tgz). Release 版本 是属于经过测试后, 功能较为稳定的版本, 而 current 则是含有每日最新功能或修正的程序代码.
如果您的操作系统是 FreeBSD, 而且您的 apache 是透过 pkg_add 方式安装
恭喜您, 您的作业环境和 Open WebMail 发展小组是一样的, 所以安装手续非常的简单
chmod 4555 /usr/bin/suidperl
cd /usr/local/www
tar -zxvBpf openwebmail-X.XX.tgz
/usr/local/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
如果您的操作系统是 Linux RedHat 7.x/8.x/9.x, 而您想自己从 source 安装的话
cd /var/www
tar -zxvBpf openwebmail-X.XX.tgz
mv data/openwebmail html/
rmdir data
cd /var/www/cgi-bin/openwebmail
修改 auth_
unix.pl
set variable $unix_passwdfile_encrypted to '/etc/shadow'
set variable $unix_passwdmkdb to 'none'
修改 /var/www/cgi-bin/openwebmail/etc/openwebmail.conf
set mailspooldir to '/var/spool/mail'
set ow_htmldir to '/var/www/html/openwebmail'
set ow_cgidir to '/var/www/cgi-bin/openwebmail'
set spellcheck to '/usr/bin/ispell'
/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
将下列文字加到 /etc/logrotate.d/syslog 让系统定期砍掉过去的 log
/var/log/openwebmail.log {
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
注: 如果您的操作系统是Linux RedHat 6.2(CLE 0.9), 请用 /home/httpd 取代上述的 /var/www
注: 如果您的 Linux 是 Redhat, 建议参考由 Emir Litric 所写的 RedHat-README.txt
如果您的操作系统是 Linux RedHat 7.x/8.x/9.x, 而您想快速安装的话,您可以利用由 Thomas Chung 所准备的 redhat
安装 Open WebMail 的 released rpm,请到 http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/release/ 找出版本最新的 released rpm
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/release/openwebmail-2.10-1.i386.rpm rpm -Uvh openwebmail-2.10-1.i386.rpm
如果您想要安装最新的 current rpm (比 released rpm 新, 但是可能有
bug),请到 http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/daily-build/ 找出日期最新的 current rpm
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/daily-build/openwebmail-2.10-20031002.i386.rpm
rpm -Uvh openwebmail-2.10-20031002.i386.rpm
/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
如果您的操作系统是其它的 Unix, 配合 Apache首先找到您的 Apache data 和 cgi-bin 目录的父目录,以下我们以 /usr/local/apache/share 作例子,并假设 openwebmail-x.yy.tgz 放在 /tmp
cd /usr/local/apache/share
tar -zxvBpf openwebmail-x.yy.tgz
mv data/openwebmail h
tdocs/
rmdir data
modify /usr/local/apache/share/cgi-bin/openwebmail/etc/openwebmail.conf
将 mailspooldir 设成 您系统中的 mail spool, 一般是 /var/mail 或是 /var/spool/mail
将 ow_htmldir 设成 /usr/local/apache/share/htdocs
将 ow_cgidir 设成 /usr/local/apache/share/cgi-bin
修改 auth_unix.pl
将 $unix_passwdfile_encrypted 设成 '/etc/shadow'
将 $unix_passwdmkdb 设成 'none'
注: 各 Unix 平台改法不见得相同, 请参考 auth_unix.pl 中的说明, 以便得知确切的改法
cd /usr/local/apache/share/cgi-bin/openwebmail
修改所有 openwebmail*.pl 的 perl script, 包括
openwebmail.pl, openwebmail-main.pl,
openwebmail-read.pl, openwebmail-viewatt.pl,
openwebmail-send.pl, openwebmail-spell.pl,
openwebmail-prefs.pl, openwebmail-folder.pl,
openwebmail-abook.pl, openwebmail-advsearch.pl,
openwebmail-cal.pl and openwebmail-tool.pl
将 script 中第一行 #!/usr/bin/perl 改成 !您的 suidperl 所在的路径
检查您的 suidperl 程序的 mode, 看看是否是 r-sr-xr-x, 如果不是的话
chmod 4555 /usr/local/bin/suidperl
/usr/local/apache/share/cgi-bin/openwebmail/openwebmail-tool.pl --init
注: 如果您是在 Solaris 上安装 Open WebMail, 请记得建立 /etc/openwebmail_path.conf 这个档案.然后在其中放入您 openwebmail CGI 所在的路径
如果 openwebmail.pl 位于
/usr/local/apache/share/cgi-bin/openwebmail/openwebmail.pl
那么 /etc/openwebmail_path.conf 应该如下:
/usr/local/apache/share/cgi-bin/openwebmail
注: 如果您用的是 Apache 2.0 以后的版本, 请在 apache 的设定档 httpd.conf 中, 将
AddDefaultCharset ISO-8859-1
改成
AddDefaultCharset off
设定 Open WebMail 系统 在 cgi-bin/openwebmail/etc 可以发现有 openwebmail.conf.default, openwebmail.conf.help 和 openwebmail.conf 这三个档, 其中
openwebmail.conf.default - 内定的设定档, 包含所有 Open WebMail 可以顶的选项
openwebmail.conf.help - openwebmail.conf.default 所有选项的说明文件
openwebmail.conf - 主要的设定档, 管理者要设定的选项, 应该都写在这个档案里头, 而不应该直接去改 openwebmail.conf.default
openwebmail.conf 的内容
# Open WebMail configuration file
#
# This file contains just the overrides from openwebmail.conf.default
# please make all changes to this file.
#
# This file sets options for all domains and all users.
# To set options on per domain basis, please put them in sites.conf/domainname
# To set options on per user basis, please put them in users.conf/username
#
domainnames auto
auth_module auth_unix.pl
mailspooldir /var/mail
dbm_ext .db
dbmopen_ext none
dbmopen_haslock no
ow_cgidir /usr/local/www/cgi-bin/openwebmail
ow_cgiurl /cgi-bin/openwebmail
ow_htmldir /usr/local/www/data/openwebmail
ow_htmlurl /openwebmail
logfile /var/log/openwebmail.log
spellcheck /usr/local/bin/ispell
default_language en
<default_signature>
--
Open WebMail Project (http://openwebmail.org)
</default_signature>
以上的内容可能随着您系统而有所不同, 不过在您完成前述的安装后, 您可以修改以下几个选项
domainnames
一般情况下, openwebmail 应该能正确地判断出您 server 的 domainname, 进而正确地设定使用者的预设 Email address, 但如果发生 openwebmail 判断错误或是您希望设定成其它的 domainname, 你可以将这个选项由 auto 改成您所要的 domainname, 如 mail.myserver.com.tw
spellcheck
设定拼字检查程序所在的路径, 一般而言, 可能是以下其中之一, 您可以用 ls -l filename 方式检查看看
/usr/bin/apsell
/usr/bin/ispell
/usr/local/bin/aspell
/usr/local/bin/ispell
default_language
内定的语言, 我们把它由 en(英文) 改成 zh_TW.Big5 (繁体中文)
注: 自 2.0 版 20030416 以后, 已经不需要在 openwebmail.conf 中设定 default_language 这个选项了, openwebmail 会根据使用者所用的浏览器设定, 自动选择适合的内定的语言
default_signature
设定预设的签名档, 设在这里的值会成为每个新使用者的预设签名档, 不过使用时每个使用者可以依自己的需求, 设定成其它的内容
初始化 Open WebMail
在前面的安装步骤里头, 最后一个步骤是
cd the_direcotry_of_openwebmail_cgi_scripts
./openwebmail-tool.pl --init
这个动作会建立一些 Open WebMail 在执行时会用到的对应表, 如简繁转换, 阴阳历转换等. 如果这个动作没有做的话, 使用者将无法透过 Web 界面使用 Open WebMail
而由于在各种不同操作系统上的 perl 版本的差异, 其所使用的 dbm 种类也不尽相同, 有的可能需要特殊的设定后才能使用, --init 在建立上述对应表之前, 会测试系统上 perl 的 dbm 种类, 并且提供一些必要的建议事项
首先会检查 openwebmail.conf 中的 dbm_ext, dbmopen_ext 和 dbmopen_haslock 三个选项的设定是否正确, 如果设定有误的话, 您会看到如下的画面
Please change the following 3 options in openwebmail.conf
from
dbm_ext .db
dbmopen_ext none
dbmopen_haslock no
to
dbm_ext .db
dbmopen_ext %dbm_ext%
dbmopen_haslock yes
其次是检查系统上的 dbm 是否内定使用 DB_File.pm 这个模块, 如果是而且有需要的话, 会建议您对 DB_File.pm 作一些必要的修改 (这个修改是由 DB_File.pm 作者所提供的), 您会看到如下画面
Please modify /usr/libdata/perl/5.00503/mach/DB_File.pm by adding
$arg[3] = 0666 unless defined $arg[3];
before the following text (about line 247)
# make recno in Berkeley DB version 2 work like recno in version 1
请务必依照以上的建议作修改, 否则您的 Open WebMail 可能会无法完全正常动作, 也请记得在做完修改之后, 别忘了重新执行一次 './openwebmail-tool.pl --init'
原文转自:http://www.ltesting.net