用qmail/vpopmail/courier-imap/qmail-scanner/igenus打造邮件系统


关键词

用qmail/vpopmail/courier-imap/qmail-scanner/igenus打造邮件系统

摘要

<p>内容简介:本指南将告诉你如何用qmail/vpopmail/courier-imap/qmail-scanner/igenus来打造一个邮件系统。<br /></p><p>  1. 前言<br /></p><hr /><p>  本文部分内容翻译自<a href="http://forums.gentoo.org/viewtopic.php?t=171499"><span style="color:#0000ff;">Gentoo Forums</span></a>。您可以访问上面的地址查看最新版本。 </p>

内容简介:本指南将告诉你如何用qmail/vpopmail/courier-imap/qmail-scanner/igenus来打造一个邮件系统。

  1. 前言


  本文部分内容翻译自Gentoo Forums。您可以访问上面的地址查看最新版本。

  2. 设置USE环境变量


  首先设置好 USE 环境变量,修改 /etc/make.conf,添加如下 USE 变量:

  代码 2.1: /etc/make.conf

USE=apache2 maildir mysql

  3. 安装 qmail


  首先你要确保已经卸载了其他相关邮件处理软件,如:ssmtp, sendmail 或 postfix,然后执行:

  代码 3.1: 安装qmail

# emerge -C ssmtp sendmail postfix
# emerge /usr/portage/mail-mta/qmail/qmail-1.03-r13.ebuild
# ebuild var/db/pkg/mail-mta/qmail-1.03-r13/qmail-1.03-r13.ebuild config
# ln -s /var/qmail/supervise/qmail-send /service/qmail-send
# ln -s /var/qmail/supervise/qmail-smtpd /service/qmail-smtpd
# rc-update add svscan default
# /etc/init.d/svscan start

  4. 安装vpopmail


  代码 4.1: 安装vpopmail

# emerge /usr/portage/net-mail/vpopmail/vpopmail-5.4.0.ebuild

  以root身份登录你的mysql服务器作一下操作:

  代码 4.2: 操作mysql服务器

> create database vpopmail;
> use mysql;
> grant select, insert, update, delete, create, drop on vpopmail.* to vpopmail@localhost identified by 'your password';
> flush privileges;

  如果你发现 vpopmail 无法收取邮件,那么请确保 /etc/vpopmail.conf 文件的权限是 600 并由 vpopmail:vpopmail 所有。

  下面修改 /etc/vpopmail.conf,修改其中的数据库密码为上面设置的密码。并且执行:

  代码 4.3

# chmod 644 /etc/vpopmail.conf
# chown vpopmail:vpopmail /etc/vpopmail.conf

  5. 安装 courier-imap


  代码 5.1: 安装courier-imap

# emerge /usr/portage/net-mail/courier-imap/courier-imap-3.0.2-r1.ebuild
# nano -w /etc/courier-imap/authdaemonrc
加入 authmodulelist="authvchkpw"
#nano -w /etc/courier-imap/imapd
加入 IMAPDSTART=YES
AUTHMODULES="authvchkpw"
# nano -w /etc/courier-imap/pop3d
加入 POP3DSTART=YES
AUTHMODULES="authvchkpw"
# rc-update add courier-imapd default
#rc-update add courier-pop3d default
#/etc/init.d/courier-imapd start
#/etc/init.d/courier-pop3d start

  6. 配置 smtpd 以使 smtp-auth 能够使用 vpopmail


  代码 6.1

# nano -w /var/qmail/control/conf-smtpd
加入 QMAIL_SMTP_POST="microweb.3322.org /var/vpopmail/bin/vchkpw /bin/true"
# svc -t /var/qmail/supervise/qmail-smtpd
# chmod u+s /var/vpopmail/bin/vchkpw

  下面的操作可以大大加快邮件的传输速度,如果你发现邮件传输时有30到45秒的延迟,那么我强烈建议你做一下操作:

  代码 6.2

# nano -w /var/qmail/control/conf-common
加入 TCPSERVER_OPTS="-H -R -l 0"

  7. 安装 spam 数据库客户端


  代码 7.1

# emerge /usr/portage/dev-python/pyzor/pyzor-0.4.0-r1.ebuild
# emerge /usr/portage/mail-filter/razor/razor-2.40.ebuild
# emerge /usr/portage/mail-filter/dcc/dcc-1.2.28.ebuild

  8. 安装 f-prot 和 Mail-SpamAssassin


  这两个软件必须在安装 qmail-scanner 前正常运行。

  代码 8.1

# emerge /usr/portage/app-antivirus/f-prot/f-prot-4.4.2.ebuild
# emerge /usr/portage/mail-filter/spamassassin/spamassassin-2.63.ebuild
# nano -w /etc/conf.d/spamd
加入 SPAMD_OPTS="-d -u vpopmail -v -x -C /etc/mail/spamassassin/local.cf"
# rc-update add spamd default
# /etc/init.d/spamd start

  现在你可以建立一个 cron.hourly 任务以便自动更新 f-prot 定义:

  代码 8.2

# nano -w /etc/cron.hourly/virus-update.cron
内容如下:
#!/bin/bash
/opt/f-prot/check-updates.pl -cron -quiet

  代码 8.3

# chmod 755 /etc/cron.hourly/virus-update.cron
# crontab -e
min hour day month weekday command
0 * * * * /etc/cron.hourly/virus-update.cron

  现在来设置spam进程规则,在/etc/mail/spamassassin/local.cf里加入以下内容:

  代码 8.4: /etc/mail/spamassassin/local.cf

required_hits 5.0
rewrite_subject 1
subject_tag *****SPAM*****
report_safe 1
report_header 1
use_bayes 1
auto_learn 1
skip_rbl_checks 0
use_razor2 1
use_dcc 1
use_pyzor 1
ok_languages all
ok_locales all

  9. 安装 qmail-scanner


  安装 qmail-scanner 之前你可能需要强制安装 maildrop。

  代码 9.1: 安装maildrop

# emerge /usr/portage/mail-filter/maildrop/maildrop-1.5.3-r1.ebuild
# emerge /usr/portage/net-mail/qmail-scanner/qmail-scanner-1.16-r2.ebuild

  以"qmaild"用户登录并运行:

  代码 9.2

# /var/qmail/bin/qmail-scanner-queue.pl -g

  如果你看到 "Can't do setuid" 或 "Permission denied" 错误提示请查阅 FAQ。 (如:"setuidgid qmaild "/var/qmail/bin/qmail-scanner-queue.pl -g" 或 "su qmaild -c "/var/qmail/bin/qmail-scanner-queue.pl -g")

  /etc/mail/sendmail/local.cf 中的 'subject_tag' 变量好像不能正确修改 spam 检测到的subject,所以我们这样修改:

  代码 9.3

# nano -w /var/qmail/bin/qmail-scanner-queue.pl
加入 my $spamc_subject='*****SPAM*****';

  现在来配置 tcp.smtp 以激活 qmail-scanner:

  代码 9.4

# nano -w /etc/tcp.smtp
加入
# Qmail-Scanner disabled for mail from localhost, relay allowed
127.0.0.1:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/var/qmail/bin/qmail-queue"
# Qmail-Scanner enabled (virus only) for mail from local network, relay allowed
192.168.1.:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
# Qmail-Scanner enabled (virus and spam) for mail from external internet, relay denied
:allow,QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"

  代码 9.5

# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
# chmod 644 /etc/tcp.smtp*

  10. 安装 qmailadmin


  代码 10.1

# emerge /usr/portage/net-mail/ezmlm-idx-mysql/ezmlm-idx-mysql-0.40-r2.ebuild
# emerge /usr/portage/net-mail/autorespond/autorespond-2.0.4.ebuild
# emerge /usr/portage/net-mail/qmailadmin/qmailadmin-1.2.0_rc2-r1.ebuild

  你可以登录http://www.youdomain.com/cgi-bin/qmailadmin 地址进入 qmailadmin 管理界面。如果页面上的图片没有正确显示,你必须自己将其复制到正确位置,你可以查看 /var/log/apache2/error_log 以获取其位置。注意这个版本的 qmailadmin 没有使用 valias 来维护 forward/alias ,你可以从源代码安装 1.2.1 版本来实现。

  11. 安装 igenus


  注释:我的域名是 microweb.3322.org ,以下出现 microweb.3322.org 字样你需要根据你的情况更改。

  到www.igenus.org下载最新的 igenus 压缩包,我下载的是 igenus_2.0_20040703_release.tgz。

  将下载的压缩包解压至 /va/www/localhost/htdocs,并设置所有者为 vpopmail:

  代码 11.1

# chown -R vpopmail:vpopmail /var/www/localhost/htdocs/igenus

  12. 配置 igenus (第一步)


  建立 igenus 运行所需要的临时目录。

  代码 12.1

# mkdir /tmp/igenus
# cd /tmp
# chmod -R 0755 igenus
# chown -R vpopmail:vpopmail igenus
# cd /var/www/localhost/htdocs/igenus

  修改/var/www/localhost/htdocs/igenus/config/config_inc.php,如下:

  代码 12.2: /var/www/localhost/htdocs/igenus/config/config_inc.php

$CFG_BASEPATH = "/var/wwww/localhost/htdocs/igenus";
$CFG_MYSQL_HOST = 'localhost';
$CFG_MYSQL_USER = 'vpopmail';
$CFG_MYSQL_PASS = 'yourpasswd'; // 此处密码为vpopmail数据库密码
$CFG_MYSQL_DB = 'vpopmail';
$CFG_TEMP = "/tmp/igenus";

  为使用 igenus 的其他功能修改 vpopmail 数据库。同时,如果之前你已经用 vadddomain 建立了登录域,那么需要删除该域。

  代码 12.3

# /var/vpopmail/bin/vdeldomain yourdomain
# mysql -u root -p
> use vpopmail;
> drop table vpopmail;
> quit

  然后导入 igenus 包中自带的 sql 文件,导入igenus 需要的几个表:

  代码 12.4

# mysql -u root -p vpopmail < /var/www/localhost/htdocs/igenus/docs/iGENUS.sql

  注释:导入工作也可以使用 phpmyadmin 等完成。

  成功后查看 vpopmail 数据库应该包含以下表:address,admin,dir_control,lastauth,limits,logs,message, personal ,stow,valias,vpopmail。

  13. 修改php.ini


  修改 /etc/php/apache2-php4/php.ini 以下内容:

  代码 13.1: /etc/php/apache2-php4/php.ini

max_execution_time=60
memory_limit=20M
post_max_size=10M
file_uploads=on
upload_max_filesize=10M
register_globals=On
session.bug_compat_42=0
session.bug_compat_warn=0
sendmail_path = /var/qmail/bin/qmail-inject

  14. 修改apache2.conf


  修改 /etc/apache2/conf/commonapache2.conf:

  代码 14.1: /etc/apache2/conf/commonapache2.conf

User vpopmail
Group vpopmail

  警告:这样做有一定的安全风险,请自行决定。

  重启 apache2。如果重启 apache2 后发现你的其他 web 程序出现问题,你也许需要更改相应的文件为 vpopmail:vpopmail所有。

  15. 建立虚拟登录域


  代码 15.1

# /var/vpopmail/bin/vadddomain microweb.3322.org
Please enter password for postmaster: (输入 postmaster 密码)
enter password again:(再次输入密码)

  检查 /var/vpopmail/domains,下面应该可以看到建立的域名。如果要删除域,务必要使用 vdeldomain 命令,不要直接删除相应的目录。

  16. 登陆 qmailadmin 建立用户


  打开浏览器,键入地址:http://microweb.3322.org/cgi-bin/qmailadmin/ 。以 postmaster 登陆,域为 microweb.3322.org,密码为上面设置的密码。然后可以根据页面提示新增用户。

  注释:你也可以使用 /var/vpopmail/bin/vadduser 命令添加用户。

  17. 配置 igenus (第二步)


  由于 vpopmail 采用的是 .maildir 格式的邮箱,而 igenus 用的是 Maildir 格式的邮箱,因此现在登陆 igenus 会出现很多错误。所以我们需要做一点变通:

  代码 17.1

# cd /var/vpopmail/domains/${yourdomain}/${youruser}
# ln -s .maildir Maildir
# chown vpopmail:vpopmail Maildir

  这样 igenus 就可以读取用户邮箱了。

  现在就可以打开http://yourdomain/igenus 用先前建立的用户登陆你的 igenus 了。

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权


如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:115085382!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« Mutt 电子邮件快速入门指南 LINUX中的QMail邮件安全问题 »

相关文章:

腾讯企业邮箱POP,SMTP分别是什么  (2014/9/4 8:23:19)

邮件服务器架设  (2014/3/9 13:27:43)

winwebmail邮局附件大小  (2014/3/8 10:13:12)

Exchange服务器快速恢复的步骤  (2013/10/24 14:04:36)

使域名DNS解析支持DKIM  (2013/5/27 16:45:56)

邮局使用SPF  (2013/5/24 12:27:46)

用telnet来理解SMTP协议  (2013/5/24 12:23:38)

qmail+vpopmail+squirrelmail 安装经验谈  (2013/9/6 10:59:41)

LINUX中的QMail邮件安全问题  (2013/9/5 10:59:12)

用qmail/vpopmail/courier-imap/qmail-scanner/igenus打造邮件系统  (2013/8/31 10:59:13)