Apache+Sendmail+OpenWebMail笔记

 

 

安装请注意:系统安装之前已经有DNS解析当前邮件服务器的域名了,并做好了MXA记录。

 

分几个部分

 

第一部分目标:安装sendmail-8.12.11imap,使能在内网正常收发

 

1. 安装Sendmail-8.12.11 RPM RedHat AS3up3系统自带

检查两个包

# rpm -qa |grep sendmail

sendmail-cf-8.12.11-4.RHEL3.1

sendmail-8.12.11-4.RHEL3.1

 

2.为了以后能用m4工具快速生成sendmail.cf文件,还是再安装一个M4工具

#rpm -ivh  m4-1.4.1-13.i386.rpm

 

3.现在先手工直接修改/etc/mail/sendmail.cf

 

O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA

改为:

O DaemonPortOptions=Port=smtp,Addr=192.168.1.61, Name=MTA

保存后,重启sendmail服务

# service sendmail restart

 

4.编辑/etc/mail/local-host-names加入我们的域名

#vi /etc/mail/local-host-names

//添加

Uic.com.cn   ------我的域名

mail.Uic.com.cn   -------我的邮件服务器名

 

//以后我们可以使用两种名称发信了

一种是 用户名@域名 像:chenzq1604@smartdigit.com.cn

另一种是 用户名@主机名 如:  chenzq1604@mail.smartdigit.com.cn

 

5.保存,测试查看是否成功

# sendmail -bt


ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)

Enter <ruleset> <address>

> $=w

mail

smartdigit.com.cn

localhost.localdomain

localhost

[127.0.0.1]

//ctrl+d 退出

再测试一下我们域DNS做了MX转发记录没有:

# host -t MX mail.smartdigit.com.cn

mail.smartdigit.com.cn. mail is handled by 10 mail.smartdigit.com.cn.

 

6.成功了,现在我们可以发送了,但还不能收,我们可以借助imap包来实现pop3imap收信。

现在来查看是否安装IMAP

#rpm -qa |grep imap

imap-utils-2002d-9

imap-2002d-9

#

 

7.让每次引导系统自动启动邮件系统,运行 ntsysv 命令

imap,ipop3,sendmail,httpd都选上,再重启计算机.

 

8.修改/etc/mail/access文件,

加入允许从内网和公司域内使用服务器的25端口发信,我配置的

 

#vi /etc/mail/access

localhost.localdomain             RELAY

localhost                       RELAY

127.0.0.1                       RELAY

192.168.1                      RELAY

smartdigit.com.cn          OK \\-----表示无条件接受 

163.com                        RELAY \\--------允许163.com代理投递 

nfbuy@nfbuy2004.com  REJECT \\--------表示拒绝接受并发布错误信息 

spamXXX.net                 DISCARD \\丢弃spamXXX.net的垃圾邮件,并不发布错误信息 

//这只是保证内网能发,如果是外网的话要加相应的域名才行,比如发给chenzq@tom.com要增加相应的

tom.com         RELAY

 

编辑好后,把它专为db文件:

# makemap hash access.db < access

 

9.测试一下smtppop3是否正常,我用的默认端口25110

 

# telnet 192.168.1.61 25

Trying 192.168.1.61...

Connected to 192.168.1.61.

Escape character is '^]'.

220 localhost.localdomain ESMTP Sendmail 8.12.8/8.12.8; Tue, 21 Dec 2004 12:59:26 +0800

quit

Connection closed by foreign host.

 

# telnet 192.168.1.61 110

Trying 192.168.1.61...

Connected to 192.168.1.61.

Escape character is '^]'.

+OK POP3 mail.smartdigit.com.cn v2001.78rh server ready

quit

+OK Sayonara

Connection closed by foreign host.

quit

这样可以在内网中自由的收发邮件了,现在我们做在WEB收发了。

 

                                                                                

第二部分目标,安装WebMail可以用浏览器收发邮件和使用网络硬盘.

 

我用过igenus,ynmail等大部分WebMail前端,感觉都没有OpenWebmail好。

首先安装Apache吧。

1.RedHat AS3up3 系统自带的Apache 2.0.46-38,

rpm -ivh httpd-devel-2.0.46-38.ent.i386.rpm

rpm -ivh httpd-2.0.46-38.ent.i386.rpm

 

2.刚安装的apache是启动不来的,要修改 /etc/httpd/conf/httpd.conf文件加上服务器名

找到 ServerName 

替换为

ServerName mail.smartdigit.com.cn:80

修改一下性能参数,打开保持连接功能加快客户端访问:

找到

KeepAlive Off

改为

KeepAlive On

 

还有一些参数跟据个人情况而定吧,

MaxClients 150 --------同一时间最大连接数,

ServerAdmin chenzq@smartdigit.com.cn-------改为网管的邮箱吧,我改为我自己的邮箱了

Timeout 300 -------300秒没有反应就断开

 

重启httpd服务

[root@asup3 mail]# service httpd restart

 

3.接下来我们安装Openwebmail,先要安装支持包。

 

RedHat9用户可以到http://openwebmail.org/openwebmail/download/redhat/rpm/packages/rh9/

下面download

perl-CGI-2.81-88.i386.rpm

perl-CGI-SpeedyCGI-2.21-RH9.i386.rpm    --------在上面给出rh9目录的optional子目录中

perl-Compress-Zlib-1.21-RH9.i386.rpm

perl-Text-Iconv-1.2-RH80.i386.rpm

再去http://openwebmail.org/openwebmail/download/redhat/rpm/daily-build/下载程序,并安装好。

rpm –ivh *

 

4.再更新一下openwebmail的脚本

 

# speedy_convert

Converting suidperl to speedy_suid...

Done

修改 /var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf文件

dbmopen_ext             none

改为:

dbmopen_ext             %dbm_ext%

 

 

首次运行更改默认的域名:

 

修改:vi /var/www/cgi-bin/openwebmail/etc/default/openwebmail.conf

 

domainnames \\xxx.com.cn    ----------我们申请的域?

smtpserver \\XXX.XXX.XXX.X  -------------服务器的IP

smtpport 25       \\               -------------smtp的端?

 

5.再运行初始化脚本

 

# ./openwebmail-tool.pl --init

Welcome to the Open WebMail!

 

This program is going to send a short message back to the developer,

so we could have the idea that who is installing and how many sites are

using this software, the content to be sent is:

 

OS: Linux 2.4.21-8smp i686

Perl: 5.008

WebMail: Open WebMail 2.41 20041220

Send the site report?(Y/n) y

sending report...

Thank you.

 

PS:如果提示Base64版本太低,则下载并安装MIME-Base64-3.01.tar.gz

# tar -zxvf MIME-Base64-3.01.tar.gz

# cd MIME-Base64-3.01

#cat REDME 查看安装说明,按照里面的说明做

# perl Makefile.PL

Checking if your kit is complete...

Looks good

Writing Makefile for CGI

# make

# make test 测试

# make install

 

PS:如果提示没有安装gcc 则下载并安装gcc-3.2.2-5.i386.rpm
确诊方法:执行命令gccC++则为g++),提示找不到这个命令。
解决方法:将Linux安装光盘mount上来,然后进入RPMS目录

mkdir /mnt/cdrom

mount -t iso9660 /dev/hdc /mnt/cdrom

/mnt/cdrom目录下找到光盘内容。

有的Linux版本允许用mount /dev/cdrommount /mnt/cdrom命令装载光盘。

执行命令:

#rpm –ivh gcc-3.2.2-5.i386.rpm

 

6.现在你就可以正常的收发邮件了,但启动网页默认为英文,对于一些大叔级人物来讲有点难度,Openwebmail对多语言支持很好,支持几十种语言,每种语言还配有大量不同的style的图标实在是太爽了!

 

修改 /var/www/cgi-bin/openwebmail/etc/openwebmail.conf

找到

default_language                auto

改为

default_language zh_CN.GB2312

 

图标还是英文式样,再找

 

default_iconset Default

 

改为?

 

default_iconset Cool3D.Chinese.Simplified

 

这样你的界面和所有按钮都是简体中文,其它的修改请参见OpenWebMail的主网站

 

Firefox中输入http://192.168.1.61/cgi-bin/openwebmail/openwebmail.pl就会出现主界面了,注意不能用root登录

 

输入的地址太长了,由于该机Apaher专做MailServer用,所以修改一下,

 

vi /etc/httpd/conf/httpd.conf

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

下面加一句

ScriptAlias / "/var/www/cgi-bin/openwebmail/openwebmail.pl"

重启服务后进主页发现图标找不到,想到图标目录还没有做映射再加一句

Alias /data "/var/www/data" 

7.添加用户

命令行方式为:[root@ahpeng root]#adduser mailA -p Pass,表示创建了一个mailA的帐号,密码为Pass