1、今天发现了一个特别好的邮件架设开源项目,http://www.extmail.org/forum/
2、在该网页上下载ftp://www5.extmail.org/emos/
3、EMOS1.4从安装到设置(参考之http://www.extmail.org/forum/)
一 安装篇
关于安装,偶在这里没有什么创新,就是按提示一部部去做的。这里要注意域与主机名的区别,主机名是说的本机的名称,域名是邮箱的后缀名。如emos@extmail.org,域名就是extmail.org,主机名么随自己了,可以写成mail.extmail.org。另外EMOS1.4增加了自定义密码功能,大家输入时一定要备一份,别用着密码时却如何也想不出来了。选择启动防火墙,并开启相应端口。防火墙的设置随后介绍。
二 模板篇
1 修改文件:/var/www/extsuite/extmail/html/default/index.html
设定默认域名
<TD><INPUT TYPE="text" class="input_n" NAME="domain" value="example.com"></TD>
其中的domain和example.com随自己实际情况进行更改。
POP3和SMTP设置信息提示
POP3 <b>:</b>& nbsp;& nbsp;pop3.yourdomain.com<br />
SMTP <b>:</b>& nbsp;& nbsp;smtp.yourdomain.com<br />
技术支持和自愿捐助连接,用<!-- -->注释掉。
<div class=donate> <a href="http://www.extmail.org/support/<%LANG%>/index.html" target="_blank"> <b><%support_link%></b></a> | <img style="vertical-align: middle" src="/extmail/images/donate.png"> <a
2 修改文件:/var/www/extsuite/extmail/webmail.cf
去除免费注册
修改位置:SYS_SHOW_SIGNUP = 1
修改结果:SYS_SHOW_SIGNUP = 0
去掉网络磁盘功能
修改位置:SYS_NETDISK_ON = 1
修改结果:SYS_NETDISK_ON = 0
3 更换logo标志
修改文件:/var/www/extsuite/extmail/html/default/images/logo.gif
修改内容:替换成需要的Logo图片文件
4 修改文件:/var/www/extsuite/extmail/lang/zh_CN
修改位置:
%lang_login = (
meta_title => '欢迎使用ExtMail'
修改位置:
%lang_login = (
intro2 => '<b>快速而可靠</b><br />引入索引缓存(Cache)技术和高效核心,WebMail操作疾步如飞',
intro3 => '<b>多语言同屏读写</b><br />全面支持UTF8,实现同屏读写多国语言,真正做到国际邮、无乱码',
intro4 => '<b>真正模板化设计</b><br />MVC设计+高速模板引擎,实现了内容数据完全分离,轻松修改模板',
intro5 => '<b>高性能I/O</b><br />;轻松应付>1GB邮箱/200M附件,远强于流行的各式php webmail',
修改位置:
%lang_login = (
wsplash => '快速可靠, 高性能I/O
开源MAIL开足马力迈进中...',
修改位置:
%lang_login = (
welcome_index => '欢迎使用ExtMail!'
5 修改文件:/var/www/extsuite/extmail/html/default/TOP_BAN.html
注释掉
href="http://www.extmail.org/support/<%LANG%>/about.html"><%about%></a> | <a target=_blank href="http://www.extmail.org/support/<%LANG%>/help.html"><%help%></a></span>
6修改文件:/var/www/extsuite/extmail/html/default/BOTTOM.html
<div id="Bcr">Powered by <%VERSION%> © 2006 ExtMail.Org Runtime: <%TIME%><br>
<%extmail_whatis%></div>
上面内容可以根据页面底部的显示信息对比修改。
7 修改文件:/var/www/extsuite/extmail/html/default/welcome.html
去掉项目新闻 注释掉下面内容
<div style="padding-left: 5px;padding-right:5px">
<div class="panelout" id="etnews_div">
<div class="paneltit"> ExtMail Project News</div>
<div class="panelin" id="etnews_container">
</div>
</div>
<script type="text/javascript">
etnews_init();
</script>
</div>
8 更换原天气预报代码
更换掉原来的这段代码
<TD width=230px valign=top style="">
<div class="panelout" id="coolweather_div">
<div class="paneltit"> <%weatherinfo%></div>
<div class="panelin" id="coolweather_container">
</div>
<script type="text/javascript">
coolweather_iconspath = '/extmail/plugins/coolweather/icons/';
coolweather_init();
</script>
</div>
</TD>
<TD width=10px></TD>
新的代码为
<TD width=230px valign=top style="">
<iframe src="http://www.thinkpage.cn/weather/weather.aspx?c=BU5CI&l=&p=CMA&a=1&u=C&s=1&m=1&x=1&d=3&fc=&bgc=&bc=" frameborder="0" scrolling="no" width="200" height="260" allowTransparency="true">
</iframe>
</TD>
<TD width=10px></TD>
以上是extmail相关界面的模板修改,个人认为extman界面只是管理员使用,不建议修改模板了。
[ 本帖最后由 syhandwork 于 2009-9-14 09:58 编辑 ]
UID9796 帖子22 精华1 积分-14 阅读权限0 在线时间37 小时 注册时间2008-9-27 最后登录2009-9-22 查看详细资料
TOP
三 防火墙的相关设置
先下介绍下常用的命令:
[root@tp ~]# service iptables restart
[root@tp ~]# service iptables stop
[root@tp ~]# service iptables start
更改配置文件/etc/sysconfig/iptables (如果之前没有开启防火墙,不会有iptables文件,需运行命令启动防火墙便会生成此文件)
原则是input,forward默认drop,output默认acceput。
然后开启ping DNS 相应服务端口。
#头两行是注释说明
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
#使用filter表
*filter
#下面四条内容定义了内建的INPUT、FORWAARD、ACCEPT链,还创建了一个被称为RH-Firewall-1-INPUT 的新链
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
#下面这条规则,所有发往INPUT、forward链上的数据包将跳转到RH-Firewall-1 //链上。
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
#下面这条规则将被添加到RH-Firewall-1-input链。它可以匹配所有的数据包其中流入接口(-i)//是一个环路接口(lo)。
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
#定制相应的规则
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT
COMMIT
上面的语句只做了--dport连接,这是因为-A RH-Firewall-1-INPUT只针对了input和forward这两项,而output在上面也经默认为accept,如果output默认规则为drop,那一条规则我们需要两条语句来完成,一条是input的dport,一条是output的sport,则还需再加一句类似的规则。
-A output -m state --state NEW -m tcp -p tcp --sport 25 -j ACCEPT
[ 本帖最后由 syhandwork 于 2009-9-14 10:13 编辑 ]
UID9796 帖子22 精华1 积分-14 阅读权限0 在线时间37 小时 注册时间2008-9-27 最后登录2009-9-22 查看详细资料
TOP
四 垃圾邮件防护
我使用的是slockd+Dspam
对于slockd,主要编辑黑白名单,及RBL
1 blacklist 黑名单,这项里只能写域名
whitelist 白名单,这项里只能写域名
sender_blackist 黑名单,这项里即可写域名也可以对某域里某一用户。
sender_whitelist 白名单,同上。
recip_whitelist
recip blacklist
黑白名单配置文件路径 /usr/local/slockd/config/
黑白名单的编辑方法可以用正值表达式。编辑时格式:/正值表达式/
如里直接写就是普通表达式
2 RBL
vi /usr/local/slockd/config/plugin.cf
少数RBL可能拦截过于敏感,建议只使用以下的RBL
zen.spamhaus.org
bl.spamcop.net
3 关于启动slockd的命令,EMOS1.4集成的slockd可以不重启,修改即时生效。
/usr/local/slockd/slockd-init start
这里我还闹了一个笑话,在测试黑白名单时,明明已经在黑名单里把163设值了,结果还是可以正常通信,无论正值表达式还是普通表达式都无效果,最后一看白名单才明白,系统默认就已经在白名单里加了好多正规邮箱域名了,白名单是先于黑名单起作用的,所以大家测试时一定要细心,不要再犯这样类似的错。还有我上面提到的黑白名单不同的效果,大家千万不要在blacklist文件里去编辑形如emos@extmail.org的表达式,它只支持域的形式extmail.org,若是要编辑emos@extmail.org那只能在sender_blacklist文件里去设置,还有所有的正值表达式都是用/表达式/的形式,不用/把内容括起来就被认为普通表达式。
关于DSPAM方面,我没有太多的研究,只是参照了论坛中的帖子,链接如下
http://www.extmail.org/forum/red ... o=lastpost#lastpost
五 是EMOS的备份
1 邮箱的账号及密码邮件用户的用户名,密码,过期时间,邮箱容量等信息都存放在mysql数据库中ExtMail使用的库是extmail库
2 用户的邮件内容 /home/domains
鉴于邮箱账号等信息,文件不是很大,我选择了先用mysqldump备份数据库到某一目录下,每天晚上备份一次,只保留最近5天的备份,然后再通过rsync把这些文件同步到固定文件服务器上去。关于用户邮件内容文件肯定会较大,我不在本地压缩保留几天的备份了,直接用rsync同步到文件服务器。
mysql本地备份脚本back_mysql.sh文件,
NowTime=`date +%Y_%m_%d`
preTime=`date +%Y_%m_%d --date="-5 day"`
Directory=/back/mysql
mkdir -p $Directory #-p的作用是可以建多级目录
mysqldump -uroot -ppasswd extmail > $Directory/extmail_$NowTime.sql # -u和-p后不要跟空格,若是备份所有库文件可以--all-database
rm -rf $Directory/extmail_$pretime.sql #-rf强制并琢级删除文件或文件夹
默认建立的脚本没有执行权限,所以要用命令对其赋权。
chmod back_mysql.sh 764
然后添加计划任务,定义每天运行一次,
运行crontab -e命令添加任务计划:
40 01 * * * /back/mysql/back_mysql.sh
解释:
*号之间是有空格的
01 1 * * * 此5个"*"的意思. 第一个是分钟,取值范围0-59
第二个是小时,取值范围0-23
第三个是天,取值范围1-31
第四个是月,取值范围1-12
第五个是周,取值范围0-6(0表示是周日)
上面的内容就已经可以达到每天在/back/mysql目录下自动备份邮箱用户名及密码相关信息了,并可以保持最近5天的记录。接下来就是要用rsync来同步备份的内容到其它服务器了。
rsync的配置:
rsync分服务端和客户端,在这里服务端就是运行Extmail服务的服务器,客户端就是备份Extmail数据的服务器.
服务端的配置:
1. 编辑 /etc/xinetd.d/rsync文件,
将rsync文件中的
disable = yes 改成 disable = no
保存退出.
2. 编辑rsyncd.conf文件,此文件可能没有,需要新建(=号的两边一定要有空格,否则无效)
编辑 /etc/rsyncd.conf文件,在此文件中添加:
uid = root #运行RSYNC守护进程的用户
gid = root #运行RSYNC守护进程的组
use chroot = no #不使用chroot
max connections = 4 # 最大连接数为4
strict modes = yes #是否检查口令文件的权限
port = 873 #默认端口873
#模块参数
[mail] #这里是认证的模块名,在client端需要指定
path = /home/domains #需要做镜像的目录,不可缺少!
ignore errors #可以忽略一些无关的IO错误
read only = yes # 只读
list = no #不允许列文件
auth users = beifen #认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
secrets file = /etc/rsyncd.pas #密码和用户名对比表,密码文件自己生成
#下面的设置可以选用,因为这些安全设置完全可以在防火墙中来实现。
hosts allow = 192.168.0.254,10.10.10.10 #允许主机
hosts deny = 0.0.0.0/0 #禁止主机
[mysql]
path = /back/mysql
ignore errors #可以忽略一些无关的IO错误
read only = yes # 只读
list = no #不允许列文件
auth users = beifen #认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
secrets file = /etc/rsyncd.pas #密码和用户名对比表,密码文件自己生成
保存退出.
3. 编辑/etc/rsyncd.pas文件,此文件是rsyncd的密码文件,里面只存放了用户名和密码
,在这里是beifen用户和密码,此文件内容:
beifen:123456
保存退出.
权限:因为rsyncd.pas存储了rsync服务的用户名和密码,所以非常重要。要将rsyncd.pas设置为root拥有, 且权限为600。
#cd /etc
#chown root.root rsyncd.pas #如果属主属组本身就是root,这步可以省略。
#chmod 600 rsync.pas
因rsync使用了873端口,因此我们需要在服务端上打开873端口,否则客户端连接不上.
到此,服务端的配置就完了.
让配置生效
#service xinetd restart
如果rsync不能同步的话,可以用这个命令来启动rsync为server模式启动
#/usr/bin/rsync –daemon
设置开机自动启动rsync
编辑
vi /etc/rc.d/rc.local
在文档未尾加入service xinetd start
服务端配置就已经成功了,我们来配置客户端,我的是windows系统,配置如下,
安装完成之后,记下安装路径,先点“我的电脑”属性——设置环境变量,对path增加安装路径下的bin目录,要加;号。这样可以在CMD窗口中任意目录下调用rsync命令。然后建立一个批处理文件,内容是同步目标服务器上的文件到本地目录。Password.txt是验证文件,其中只有密码同上的rsync.pass
下面命令“.\test8\”用的是相对命令,一定是相对命令,切记。先用命令进入备份目录的上级目录,然后再用相对命令。
rsync -vzrtopg --progress --delete --password-file="/cygdrive/C/Documents and Settings/Administrator/password.txt" beifen@192.168.1.15::backup .\test8\
其中的backup就是我们上面的定义的mysql和mail模块名称,这里有几个模块就建几条命令,保存为.bat脚本文件,然后我们来用windows的计划任务来执行。这样就OK了。
分享到:
相关推荐
- 邮件系统:支持内外部邮件收发,集成附件管理和日程提醒等功能。 - 个人办公:包括任务分配、日程管理、工作报告等功能。 - 公共信息:提供公告发布、新闻推送等信息发布渠道。 - 文档系统:实现文档在线编辑、...
- 操作系统多样性:Symbian、Windows Mobile、Linux、Palm OS等并存,各具特点。 - 用户选择:品牌影响力大,操作系统市场份额决定软件吸引力。 - 山寨机与非智能系统:如MTK,对市场构成复杂影响。 - **操作...
5. **跨平台兼容**:虽然未提及具体平台,但通常这类工具会支持Windows系统,有时也会有Linux或MacOS的版本,以便于在不同操作系统上运行。 6. **源码开放**:作为开源项目,HslCommunication-master可能包含了完整...
- **邮件系统升级**:提高邮件系统的性能和安全性。 - **功能定制和页面开发**:根据需求定制网站功能和设计页面。 - **数据迁移服务**:将数据从旧系统迁移到新系统。 - **网站运维服务**:提供至少5年的维护和...
2007年,Google联合多家硬件制造商、软件开发商及电信营运商共同组建开放手机联盟(Open Handset Alliance),宣布将推出基于Linux的开源操作系统——Android,旨在推动智能手机的创新和普及。自2008年第一款Android...
3. **系统安全**:针对Windows系统,探讨不同环境下的安全策略,如系统安全、浏览器安全、邮件安全等。 4. **防火墙**:软件防火墙的实施及其在Windows系统中的应用。 **第七部分:Linux管理员** 1. **Linux基础**...
Android不仅包括操作系统本身(基于Linux内核),还涵盖了中间件及关键应用,构成了一个完整的移动生态系统。谷歌联合了众多行业巨头,如中国移动、T-Mobile、宏达电、高通和摩托罗拉等,共同组建了开放手机联盟...
此外,杂志可能还讨论了如何优化XP系统性能,或者比较XP与Mac OS X、Linux等其他操作系统的优缺点。 硬件方面,2006年是双核处理器逐渐普及的时期,AMD的Athlon 64 X2和Intel的Core Duo是当时的热门产品。杂志可能...
3. 操作系统管理:理解操作系统的基本概念,如Windows或Linux,能进行文件管理和应用程序的安装与卸载。 4. Internet应用:熟悉IE或其他主流浏览器的使用,懂得搜索技巧,使用下载工具,收发电子邮件,访问FTP站点,...
【知识点3】组建计算机网络的主要目的是:数据通信,使得信息能够快速传递;资源共享,使网络内的设备、软件和数据可以被多个用户访问;分布式信息处理,提高工作效率;以及提高系统的可靠性和可用性,通过网络备份...
标题中的“局域网文件互传,可以和手机互传”指的是在局域网环境下,通过特定的技术手段实现电脑与电脑、电脑与手机之间的文件快速传输。这种技术通常基于TCP/IP协议,利用局域网内设备间的高速网络连接,使得数据...
DOMINO家族包括邮件系统、协作平台、文档管理、工作流、Web应用开发等组件。 - **支持平台**:DOMINO支持多种操作系统,包括Windows、Linux、Unix等,满足企业级应用的需求。 - **与现有流行平台的对比分析**:书...
这部分内容涉及Windows Server或Linux等操作系统,以及用户管理、权限设置等概念。 Internet基础与应用部分,学生们掌握了浏览网页、发送电子邮件、使用FTP等基本网络应用。同时,学习了HTML语言和FrontPage等网页...
Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...
新服务器支持OpenVMS、HP-UX、Windows和Linux等多种操作系统,具有更高的虚拟化能力,为用户提供业务连续性和可扩展性。 3. **Avaya Modular Messaging 2.0**:Avaya发布的创新语音信息处理平台,支持高达20000个...
3. 操作系统中,DOS(磁盘操作系统)不是网络操作系统(NOS),而Netware、Windows NT和Linux都是。 4. 计算机网络按地理范围划分,分为局域网(LAN)、广域网(WAN)和城域网(MAN)。 5. LAN代表局域网,是一种...