Chinaunix首页 | 论坛 | 博客
  • 博客访问: 912175
  • 博文数量: 31
  • 博客积分: 10100
  • 博客等级: 上将
  • 技术积分: 1127
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-29 09:16
文章分类

全部博文(31)

文章存档

2011年(1)

2010年(1)

2009年(13)

2008年(16)

分类:

2011-07-20 17:38:44

8月5日

安装Extmail for Qmail+Vpopmail+MySQL

安装Extmail for Qmail+Vpopmail+MySQL
发表时间:2006年5月16日 12时51分
[%repeat_0 match="/data/option"%] [%_repeat_0%]
[%=@title%] [%=@count%]票 [[%=@percent%]%]

提交
大麻兄已经很久没有更新过igenus GPL版了,偶然发现个新秀Extmail,发现界面很清爽,试用一下噢```

官方网站:www.extmail.org 

操作平台:Fedora Core 3
Qmail:netqmail-1.05
Vpopmail:vpopmail-5.4.12
Extmail:extmail-0.23-20060219

笔者服务器上安装了Qmail+vpopmail+iGenus+ClamAV等的邮件系统。
在此基础上安装Extmail webmail 系统。

*********************************************************************************
引用 Installation Document - Extmail 安装文档
Pre-requisite*

由于**tmail是纯perl语言编写的,而且Maildir标准只在Unix类平台上实现,因此不能在Win32平台下安装。 要安装并使用Extmail至少要满足如下的系统条件:

操作系统(OS)
至少可以可靠工作的Unix类系统,如Linux, BSD, Solaris等。建议使用Linux或FreeBSD系统,在这些系统下,OpenSource/GNU软件运行配置成功的机会将大大提高。

Email软件
一个支持Maildir/Maildir++的email系统,如Qmail或Postfix,或者Courier MTA,建议使用Postfix MTA。对于其他MTA,本文档暂不涉及,原则上支持Maildir的都将被支持。 

Web 服务器
一个工作正常,并至少支持CGI的web服务器,例如apache, lighttpd, thttpd等。强烈建议使用Apache,对于超大流量超大规模的ISP或特殊用户,可以考虑lighttpd+FCGI的方式,但需要对Extmail进行小量的改写以适应FCGI。

Perl解析器
毫无疑问,没有了perl,就不能运行Extmail。为了减少麻烦和问题,请尽量使用最新的Perl解析器,建议使用Perl 5.8.0或以上版本。

必备Perl模块
DB_File(可到CPAN下载 
Fcntl 
DBI 
Benchmark 
通过如下命令校验这些模块在系统里是否有安装:


# perl -e 'use DBI'

如果DBI没有安装,则perl解析器将报错,可以到CPAN搜索下载。

如果不太熟悉命令行的,可以使用Extmail发行包里tools目录的pkg_stats.sh工具来检查模块的存在,检查结果将以彩色显示(但需要bash,如果在FreeBSD下,必须修改该脚本的第一行bash路径)。

首先进入发行包的根目录然后执行:

. ./tools/pkg_stats.sh
注意: 两个“.”号之间有空格

如果模块都没有问题,程序将打印出每个模块的检查结果,如果有个别模块找不到,也将打印出出错信息并提供一个建议的下载URL,一个可能的结果如下:

Benchmark found
Carp found
DB_File found
DBI found
Exporter found
Fcntl found
File::Spec found
  Net::LDAP not found!
   Try http://search.cpan.org/search?query=Net::LDAP&mode=module
MIME::Base64 found
MIME::QuotedPrint found
POSIX found
可选Perl模块
Net::LDAP 
BerkeleyDB 
其中Net::LDAP模块在使用ldap认证时是必须安装的,同样也可以在CPAN下载。
*****************************************************************************

1. 下载最新Extmail最新安装包:extmail-0.23-20060219.tar.gz
解开源码包,并将解包后的extmail-0.23目录移动到安装的目录,例如/var/www/cgi-bin/下,

tar xfz extmail-0.13.tar.gz
mv extmail-0.13 /var/www/cgi-bin/extmail

2. Apache的配置

如果是新安装的Apache或Unix系统,则请增加一个虚拟主机配置,如果是在用系统,则请参考下面的虚拟主机配置进行更改。 
确保没有其他NameVirtual指令在httpd.conf中激活后,在httpd.conf中增加如下的内容:

NameVirtual *:80

ServerName mail.example.com
DocumentRoot /var/www/cgi-bin/extmail/html/
ScriptAlia* /**tmail/cgi/ /var/www/cgi-bin/extmail/cgi/
Alia* /**tmail/ /var/www/cgi-bin/extmail/html/


Apache + User/Group变更安装模式

由于iGenus使用这种方式,所以笔者使用这种。
该方法的最大特点是需要改变当前Apache的运行用户,即User/Group,使之和邮件存储的uid/gid一致,这样webmail才能对邮件有完全的读写权限。假设邮件的存取uid/gid是mail/mail,那么Apache运行时就以mail:mail来运行了。通过ps aux|grep httpd命令可以证实这一情况。 # vi /etc/httpd/conf/httpd.conf
将User Group两条指令更改成当前邮件存储的uid/gid,例如:

User vpopmail
Group vpopmail

保存httpd.conf

这样做的主要优点是完全避免了setuid/gid的问题,但随之而来的是所有的web应用程序都将以mail/mail的uid/gid运行,包括创建的php的session文件等,某些特定软件将不能正常工作,而且也容易造成其他web程序的漏洞波及webmail甚至邮件数据本身!

还有 Apache + Suexec 模式 ,请参考Extmail官方安装文档

3. 配置Extmail

[root@mail ~]# cd /var/www/cgi-bin/extmail
[root@mail extmail]# [root@mail extmail]# cp webmail.cf.default webmail.cf
[root@mail extmail]# vi webmail.cf
SYS_CONFIG = /var/www/cgi-bin/extmail/
SYS_LANGDIR = /var/www/cgi-bin/extmail/lang
SYS_TEMPLDIR = /var/www/cgi-bin/extmail/html
SYS_SHOW_WARN = 0
SYS_PERMIT_NOQUOTA = 1
SYS_SESS_DIR = /tmp/
SYS_SESS_TIMEOUT = 21600
SYS_USER_PSIZE = 20
SYS_USER_LANG = zh_CN
SYS_USER_TEMPLATE = standard
SYS_USER_CHARSET = gb2312
SYS_USER_TIMEZONE = +0800
SYS_MIN_PASS_LEN = 2
SYS_MFILTER_ON = 0
SYS_NETDISK_ON = 1

SYS_AUTH_TYPE = mysql
#SYS_MAILDIR_BASE = /home/vpopmail/domains/  (无法定义默认目录,请注释掉这一行)

#这个不是webmail的问题,而是vpopmail就不支持这样子,vpopmail的数据表里已经定死了路径(是绝对路径),因此不能自己定义SYS_MAILDIR_BASE(必须注释掉),否则一定出错。

# sys_auth_schema, vpopmail1/vpopmail2/virtual
# vpopmail1 => all user accounts in one table
# vpopmail2 => accounts in per domain table

SYS_AUTH_SCHEMA = vpopmail1
SYS_CRYPT_TYPE = crypt

SYS_MYSQL_USER = vpopmail
SYS_MYSQL_PASS = password
SYS_MYSQL_DB = vpopmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
SYS_MYSQL_TABLE = vpopmail
SYS_MYSQL_ATTR_USERNAME = pw_name
SYS_MYSQL_ATTR_DOMAIN = pw_domain
SYS_MYSQL_ATTR_PASSWD = pw_passwd
SYS_MYSQL_ATTR_QUOTA = pw_shell
#SYS_MYSQL_ATTR_NDQUOTA = pw_shell  (无法定义此表)
SYS_MYSQL_ATTR_HOME = pw_dir
#SYS_MYSQL_ATTR_MAILDIR = pw_dir   (无法定义此表)

SYS_G_ABOOK_TYPE = file

SYS_G_ABOOK_FILE_PATH = /var/www/cgi-bin/extmail/globabook.cf
SYS_G_ABOOK_FILE_LOCK = 1
SYS_G_ABOOK_FILE_CONVERT = 1
SYS_G_ABOOK_FILE_CHARSET = gb2312

具体意义请参考Extmail官方配置文档
阅读(701) | 评论(0) | 转发(0) |
0

上一篇:DB2维护手册

下一篇:没有了

给主人留下些什么吧!~~