Apache+Sendmail+OpenWebMail笔记
安装请注意:系统安装之前已经有DNS解析当前邮件服务器的域名了,并做好了MX和A记录。
分几个部分
第一部分目标:安装sendmail-8.12.11和imap,使能在内网正常收发
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
> $=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包来实现pop3和imap收信。
现在来查看是否安装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.测试一下smtp和pop3是否正常,我用的默认端口25和110
# 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服务
[iyunv@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
确诊方法:执行命令gcc(C++则为g++),提示找不到这个命令。
解决方法:将Linux安装光盘mount上来,然后进入RPMS目录
mkdir /mnt/cdrom
mount -t iso9660 /dev/hdc /mnt/cdrom
/mnt/cdrom目录下找到光盘内容。
有的Linux版本允许用mount /dev/cdrom或mount /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.添加用户
命令行方式为:[iyunv@ahpeng root]#adduser mailA -p Pass,表示创建了一个mailA的帐号,密码为Pass。 |