分类: LINUX
2010-07-21 15:31:50
6。为用户设置SMTP认证密码
[root@sample
~]# saslpasswd2 -u sample.centospub.com -c centospub ←
为centospub用户设置SMTP认证密码
Password: ←
在这里输入密码(不会显示)
Again (for verification): ←
再次输入密码
7。改变SALS的属性及归属
[root@sample
~]# chgrp postfix /etc/sasldb2 ← 将数据库归属改为postfix,
[root@sample ~]# chmod 640 /etc/sasldb2 ←
将数据库属性改为640
8。关闭sendmail服务及设置默认MTA
因为在
用Postfix作为SMTP服务器的前提下,我们不准备再用sendmail,所以将sendmail服务关掉,以确保安全及节省系统资源。
[root@sample
~]# /etc/rc.d/init.d/sendmail stop ← 关闭sendmail服务
Shutting down
sendmail: [ OK ]
Shutting down
sm-client: [ OK ]
[root@sample
~]# chkconfig sendmail off ← 关闭sendmail自启动
[root@sample ~]# chkconfig --list sendmail ←
确认sendmail自启动已被关闭(都为off就OK)
sendmail 0:off
1:off 2:off 3:off 4:off 5:off 6:off
9。然后再将默认的MTA设置为
Postfix。
alternatives --config mta ←
设置默认MTA
2 ← 在这里输入2,使Postfix成为默认MTA
10。最后,启动SMTP认证及Postfix服务,并设
置相应服务为自启动。
[root@sample ~]# chkconfig
saslauthd on ← 将SMTP-Auth设置为自启动
[root@sample
~]# chkconfig --list saslauthd ← 确认SMTP-Auth服务状态
saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ←
确认2~5为on的状态就OK
[root@sample ~]# /etc/rc.d/init.d/saslauthd
start ← 启动SMTP-Auth
Starting
saslauthd: [ OK ]
[root@sample
~]# chkconfig postfix on ← 将Postfix设置为自启动
[root@sample ~]# chkconfig --list postfix ←
确认Postfix服务状态
postfix 0:off 1:off 2:on 3:on
4:on 5:on 6:off ← 确认2~5为on的状态就OK
[root@sample
~]# /etc/rc.d/init.d/postfix start ← 启动Postfix
Starting postfix: [
OK ]
至此,就完成了SMTP服务器方面的配置,但目前只具从备客户端通过服务器发
送邮件的功能。做为完整的邮件服务器,还需具备从客户端通过POP/IMAP协议接受邮件到本地的功能。
11。POP / IMAP
pop/imap是 MUA 从邮件服务器中读取邮件时使用的协议。其中,与 POP3 是从邮件服务器中下载邮件比起来,IMAP4
则是将邮件留在服务器端直接对邮件进行管理、操作。这里,我们用 Dovecot 来实现对 POP3 及 IMAP4
等协议支持的邮件接收服务器的搭建。
Dovecot 是一个比较新的软件,由 Timo Sirainen 开发,最初发布于
2002年7月。作者将安全性考虑在第一,所以 Dovecot 在安全性方面比较出众。另外,Dovecot
支持多种认证方式,所以在功能方面也比较符合一般的应用。
12。首先,安装
Dovecot
yum -y install dovecot
13。
然后,修改相应配置文件,配置 Dovecot 。
vi /etc/dovecot.conf ← 编辑Dovecot 的配置文件
#protocols = imap imaps ← 找到这一行,将协议设置为imap与pop3
↓
protocols = imap pop3 ← 变为此状态
#default_mail_env = ← 找到这一行,定义邮件目录
↓
default_mail_env = maildir:~/Maildir ← 定义邮件目录为用户目录下的Maildir目录 ← 在线安装 Dovecot
14。由于 POP3 协议与 IMAP4
协议要分别用到110号和143号端口,所以在启动服务前,配置防火墙,开通这两个端口。
root@sample ~]# vi /etc/sysconfig/iptables ← 编辑防火墙规则
←
找到此行,接着添加如下两行:
-A RH-Firewall-1-INPUT -m
state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT ← 允许POP使用的110号端口
-A
RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j
ACCEPT ←
允许IMAP使用的143号端口
/etc/rc.d/init.d/iptables restart ←
重新启动防火墙,使新的设置生效
[ OK ]
[ OK ]
[ OK ]
[ OK ]
15。最后,启动 Dovecot ,并将其设置为自启动。
[root@sample
~]# chkconfig dovecot on ← 设置Dovecot为自启动
[root@sample ~]# chkconfig --list dovecot
dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off ←
确认2~5为on的状态就OK
[root@sample ~]# /etc/rc.d/init.d/dovecot
start ← 启动Dovecot服务
Starting
Dovecot Imap: [ OK ]
上面设置好后,结合“MUTT”和进程监控脚本,即可实现系统在有问题的时候自动发送邮件到指定的邮箱。
1。POSTFIX设置:(同上)
2。#vi httpdbk.sh
#!/bin/sh
date=`date +%y-%m-%d[%T]`
httpd=`ps -ef |grep httpd |awk '{if($3==1)print $0}' |awk '{if($1=="root")print $3}'`
echo -e $date
echo -e $httpd
if [ $httpd == "1" ]
then
echo -e "$date:OK">>/root/httpmonitor.log
else
/sbin/service httpd restart
echo -e "$date:RESTART">>/root/httpmonitor.log
echo "httpd restart"|mutt -s "$date" szx@163.com
fi
3. #crontab -e
0-59/2 * * * * sh /root/httpdbk
4.测试OK。
-----------------------------------------
-------------------postfixadmin------------------------------------------------
[root@mail ~]# mkdir /var/www //建立postfixadmin存放目录
[root@mail ~]#cd /var/www
[root@mail www]# tar xzvf /root/postfixadmin-2.1.0.tgz //解压到当前目录
[root@mail www]# ln -s postfixadmin-2.1.0/ postfixadmin //做个连接
[root@mail www]# chown -R daemon:daemon postfixadmin-2.1.0/ //修改所有者为httpd用户
[root@mail www]#cd postfixadmin
[root@mail postfixadmin]#chmod 640 admin/*.php //设置权限增加安全性
[root@mail postfixadmin]#chmod 640 images / *.png
[root@mail postfixadmin]#chmod 640 languages/*.lang
[root@mail postfixadmin]#chmod 640 templates/*.tpl
[root@mail postfixadmin]#chmod 640 users/ *.php
[root@mail postfixadmin]#mysql -u root -p123456 < DATABASE_MYSQL.TXT //导入数据库当然了,实际中我的sql的密码不可能是123456而是标准的强密码。
[root@mail postfixadmin]#cp config.inc.php.sample config.inc.php //复制配置文件
[root@mail postfixadmin]#vi config.inc.php
找这行$CONF['default_language'] = 'en';
改为$CONF['default_language'] = 'cn'; //让postfixadmin 支持中文
找到 $CONF['domain_in_mailbox'] = 'YES';
改为$CONF['domain_in_mailbox'] = 'NO'; // If you don't want to have the domain in your mailbox set this to 'NO'.
找到此行:$CONF['encrypt'] =
改为CONF['encrypt'] = 'cleartext'; //明文存入mysql
[root@mail postfixadmin]# mv motd-admin.txt motd-admin.txt.move //删除烦人的提示,当然喽,你也可以自已写一些说明性的文字!
#下面的设置需要细研
*[root@mail postfixadmin]#vi /usr/local/apache/conf/httpd.conf
*在110行左右加入以下内容,加强安全性,要不每个人不经认证都可以用*postfixadmn了!
*
* Options FollowSymLinks
*DirectoryIndex index.php
* AllowOverride None
*AuthType Basic
*authname Private
*authuserfile /var/phpaccess/tony
*require valid-user
* Order allow,deny
* Allow from all
*
*注意tony是我的密码档文件名。
[root@mail postfixadmin]#mkdir /var/phpaccess
ouch /var/phpaccess/tony
[root@mail postfixadmin]#cd /var/phpaccess/
[root@mail phpaccess]# /usr/local/apache/bin/htpasswd -c tony jim //添加用户jim
New password:
Re-type new password:
Adding password for user tony
[root@mail phpaccess]#
然后我们就可以打开网页浏览器来访问了
至此postfixadmin配置完毕。在这里我推荐对mysql比较了解的人更改默认的postfix连接密码!默认数据名为postfix,用户名密码都是postfix!!!!
-------------------------------------------end---------------------------------------------------------
安装squirrelmail 1.4.4
下载squirrelmail及中文包
# wget
# wget
把squirreelmail解压到/var/www目录下。
# tar -jxvf squirrelmail-1.4.4.tar.bz2 -C /var/www/
# mv /var/www/squirrelmail-1.4.4 /var/www/squirrelmail
解压中文包
# tar -jxvf zh_CN-1.4.4-20050122.tar.bz2 -C /var/www/squirrelmail/
在配置squirrelmail之前先下载三个插件:
Quota Usage Version 1.3
# wget %3A%2F%2F%2Fplugins%2Fquota_usage-1.3-1.2.7.tar.gz
Compatibility Version 1.3
# wget %3A%2F%2F%2Fplugins%2Fcompatibility-1.3.tar.gz
Change MySQL Password Version 3.2
# wget %3A%2F%2F%2Fplugins%2Fchange_mysqlpass-3.2-1.2.8.tar.gz
把这三个插件解压到squirrelmail的plugin目录下并设置权限。
# tar -zxvf quota_usage-1.3-1.2.7.tar.gz -C /var/www/squirrelmail/plugins/
# tar -zxvf compatibility-1.3.tar.gz -C /var/www/squirrelmail/plugins/
# tar -zxvf change_mysqlpass-3.2-1.2.8.tar.gz -C /var/www/squirrelmail/plugins/
第一个插件是用来显示邮箱的使用情况的;第二个和第三个插件是用来修改密码的。
如果不想装这些插件,请跳过。
配置Quota Usage
# cd /var/www/squirrelmail/plugins/quota_usage
# cp config.php.sample config.php
配置Change MySQL Password
# cd /var/www/squirrelmail/plugins/change_mysqlpass
# cp config.php.sample config.php
# vi config.php
更改如下几个变量:
$mysql_database = 'postfix';
$mysql_table = 'mailbox';
$mysql_userid_field = 'username';
$mysql_password_field ='password';
$mysql_manager_id = 'postfix';
$mysql_manager_pw = 'postfix';
$mysql_unixcrypt = 0;
//$mysql_MD5crypt = 1;
$mysql_MD5crypt = 0;
$use_ssl_for_password_change = 0;
如果你的密码是MD5加密的,就把$mysql_MD5crypt = 0;改成$mysql_MD5crypt = 1;
配置squirrelmail
# cd /var/www/squirrelmail
# ./configure
进入10. Languages
把1. Default Language : 的en_US改成zh_CN。
进入8. Plugins,添加这三个插件
打开浏览器输入,用test@test.com登陆,你将会在屏幕的左上角看到邮箱的使用情况,你还会看到一条警告信息:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /var/www/squirrelmail/plugins/change_mysqlpass/functions.php on line 129
这是由于数据库结构不一致造成的,你只要把functions.php中的129行注释调即可(在行首加//)。
现在你还可以用选项中的change passwd修改你的密码了,不过这个模块是英文的,如果你想改成中文的,可以自己修改,squirrelmail网站上有介绍。或者请参考:
1、把change_mysqlpass.po与locale/zh_CN/LC_MESSAGES/squirrelmail.po合并
最简单的方法就是:
# cat change_mysqlpass.po >;>; /var/www/squirrelmail/locale/zh_CN/LC_MESSAGES/squirrelmail.po
2、执行:
# cd /var/www/squirrelmail/locale/zh_CN/LC_MESSAGES/
# msgfmt -o squirrelmail.mo squirrelmail.po
由于安全原因,建议把data目录移出web tree,比如移到/usr目录下,设置权限
# cp -R /var/www/squirrelmail/data/ /var/data
# chown -R vmail.vmail /var/data
# chmod 730 -R /var/data
---------------------------