一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 1729|回复: 0
收起左侧

vpopmail 是甚么?

[复制链接]
发表于 2010-11-20 20:34 | 显示全部楼层 |阅读模式
vpopmail 是一个虚拟邮件后端系统。它被设计成与 qmail 的虚拟本地一同运作。vpopmail 支持以 MySQL、PostgreSQL、LDAP 等不同后端系统来存储用户及本地设置。

为甚么选择 vpopmail?

vpopmail 提供一套良好的管理工具,及一个设计尚算不错的结构,可省丢你自定一个的功夫。vpopmail 亦已经面世很久,并且获得到很多与邮件相关的软件支持,这样令整合方面颇为容易。

这份教学文件是关於甚么的?

这份教学文件会提供指引,是关於如何安装一个支持 MySQL 数据库的 vpopmail,并且将它与某些附带在 CentOS 4 中与邮件有关的软件进行整合。

安装条件
你必须要有 qmail,因为 vpopmail 与 qmail 有关连。mysql-devel 这个组件亦必须已安装,因它要用来释译 vpopmail 针对 MySQL 的支持。

如果你并未安装 qmail,那么你可以依照以下指示去做。然而,这份教学文件要处理的并非 qmail。请参阅 qmail-tester 网站(http://www.qmailtoaster.com/ )关於 qmail + vpopmail 的设置。

下载位於 http://cr.yp.to/software/qmail-1.03.tar.gz 的 qmail 源代码压缩档。

将源代码解压。

编译前的预准工夫包括加入 qmail 所采用的 2 个群组及 7 用户口。


mkdir /var/qmail
groupadd nofiles
useradd -s /sbin/nologin -g nofiles -d /var/qmail/alias alias
useradd -s /sbin/nologin -g nofiles -d /var/qmail qmaild
useradd -s /sbin/nologin -g nofiles -d /var/qmail qmaill
useradd -s /sbin/nologin -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -s /sbin/nologin -g qmail -d /var/qmail qmailq
useradd -s /sbin/nologin -g qmail -d /var/qmail qmailr
useradd -s /sbin/nologin -g qmail -d /var/qmail qmails

进到 qmail 源代码的目录。(cd qmail-1.0.3)

在 conf-cc 文件内加入 'gcc -O2 -include /usr/include/errno.h'

执行 'make setup check' 来编译 qmail 及安装 qmail 到系统

执行 './config-fast localhost' 来为 qmail 进行 vpopmail 所需的最基本设置。

现在你拥有一个能够满足 vpopmail 要求的 qmail 安装。

创建支持 mysql 的 vpopmail
从 sourceforge 下载 vpopmail 的源代码。这份教学文件处理的版本是 5.4.17。http://sourceforge.net/project/showfiles.php?group_id=85937

vpopmail 一般使用 uid 89 及 gid 89,但由於 Postfix 同样使用它们,我们必须使用其它值:uid 91 及 gid 91。


groupadd -g 91 vchkpw
useradd -g vchkpw -u 91 vpopmail


从压缩档取出源代码,然后进入源代码的目录。


./configure --enable-mysql-replication --enable-sql-logging --enable-auth-module=mysql --disable-users-big-dir --enable-valias

这些选项会让我们使用一个主 MySQL 服务器来写入日志、和创建用户/本地,而 vpopmail 及其它软件会通过 vpopmail 的函式库来阅读从属 mysql 上的用户/本地信息。--enable-valias 告诉 vpopmail 将电邮别名存储在 MySQL 数据库内,而不是在 .qmail 文件里。在这个设置里,所有电邮地址将会存储在一个数据表,而别名会存储在另一个数据表。


make

安装 vpopmail 并为 MySQL 设置它

make install/make install-strip

vpopmail 的 MySQL 设置存储在 /home/vpopmail/etc/vpopmail.mysql 这个文件里。下列样例针对的是单一个 MySQL 数据库。


# VPOPMAIL 的 MYSQL 连接设置
#
# 第 1 行定义阅读数据库时的连接,
# 第 2 行定义更新/写入数据库时的连接。
#
# 如果你省略第 2 行,同一个设置将会用来作阅读及写入
# 之用。
#
# 每行的设置包括:
# 主机|端口|用户|口令|数据库
#
localhost|0|vpopmail|vpopmailpass|vpopmail
#
# 注:
#   主机的值可以是主机的名称或一个 IP 地址。如果主机是 'localhost',
#   到服务器的连接将会采用通讯端(Unix)或具名管道(Windows),而不
#   是 TCP/IP。



vpopmail 的二进制程序将会安装在 /home/vpopmail/bin 内。当新增及删除用户/s本地时,这些程序应该以 root 身份执行,因为它们将会更改 /var/qmail/control 内的文件。你须先创建 vpopmail 这个数据库并赋予访问权,然后才使用 vpopmail。

现在 vpopmail 的安装已经完成。

供不直接支持 vpopmail 的软件所用的接合软件
courier 这个软件与 vpopmail 在一起的历史已很长久。有很多不直接支持 vpopmail 的邮寄软件都支持 courier 这个验证函式库。因此它可以成为 vpopmail 与 maildrop 等软件之简的接合软件。你可以从 http://sourceforge.net/project/showfiles.php?group_id=5404 下载 courier-authlib 及 maildrop。

courier-authlib
courier 软件不可以在 root 户口下编译。另外,要令 courier-authlib 选用 vpopmail 函式库,你需要在设置创建程序时能够访问它们。因此我们推荐你使用 vpopmail 这个用户来创建 courier-authlib。courier-authlib 的源代码需要靠一个小修正来让它全面使用 vpopmail:courier-authlib-vpopmail.patch



patch -p1 < courier-authlib-vpopmail.patch
cd courier-authlib-0.58
./configure --prefix=/usr/lib/courier --with-redhat \ --with-mailuser=vpopmail --with-mailgroup=vchkpw \ --with-mysql-libs=/usr/lib/mysql \ --with-mysql-includes=/usr/include/mysql
make
make install
make install-configure


你可以使用 authdaemond 这个支持 chkconfig 的样例 sysvinit 脚本来启用服务:authdaemond

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-30 19:11 , Processed in 0.061854 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表