让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 htdocs/
  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