/ 中存储网

使用Postfix搭建基于虚拟帐号的邮件系统

2014-12-28 20:24:19 来源:中存储网

安装流程图

一、安装前的准备工作

1、给主机配置ip地址并修改主机名

[root@zyx ~]# service network restart

[root@zyx ~]# vim /etc/resolv.conf  //dns指向

[root@zyx ~]# vim /etc/sysconfig/network //修改主机名

[root@zyx ~]# vim /etc/hosts   //修改hosts文件

[root@zyx ~]# hostname mail.a.org  //重新命名主机名,建议重启系统

[root@mail ~]# hostname  //重新登录,查看主机名是否已改
mail.a.org

2、编辑yum客户端

[root@mail ~]# mkdir /mnt/cdrom
[root@mail ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@mail ~]# cd /mnt/cdrom/Server/

[root@mail Server]# vim /etc/yum.repos.d/rhel-debuginfo.repo  //编辑yum客户端

3、安装dns服务器并做相应配置

[root@mail Server]# yum install bind

[root@mail Server]# yum install bind-chroot  

[root@mail Server]# yum install caching-nameserver

[root@mail Server]# cd /var/named/chroot/etc/
[root@mail etc]# ll

[root@mail etc]# cp -p named.caching-nameserver.conf named.conf //生成主配置文件

[root@mail etc]# vim named.conf  //编辑主配置文件

[root@mail etc]# vim named.rfc1912.zones  //编辑区域文件

[root@mail etc]# cd ../var/named/  //切换到区域文件所存放的位置
[root@mail named]# pwd  //查看路径
/var/named/chroot/var/named

[root@mail named]# cp -p localhost.zone a.org.zone  //拷贝并生成域文件
[root@mail named]# ll

[root@mail named]# vim a.org.zone  //编辑域文件

[root@mail named]# service named start   //启动dns服务器
Starting named:                                            [ OK  ]
[root@mail named]# rndc reload
server reload successful
[root@mail named]# chkconfig named on  //设为开机时启动

4、安装所需的rpm包,这包括以下这些:
httpd, php, php-mysql, mysql, mysql-server, mysql-devel, openssl-devel, dovecot, perl-DBD-MySQL, tcl, tcl-devel, libart_lgpl, libart_lgpl-devel, libtool-ltdl, libtool-ltdl-devel, expect

5、关闭sendmail,并将它的随系统自动启动功能关闭:

[root@mail named]# service sendmail stop //关闭系统中的sendmail服务
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
[root@mail named]# chkconfig sendmail off //设为开机时关闭

6、启动mysql数据库,并给mysql的root用户设置密码:

[root@mail named]# service mysqld start

[root@mail named]# chkconfig mysqld on

---------------------------------授权本地用户

[root@mail named]# mysql
mysql> SET  PASSWORD FOR root@'localhost'=PASSWORD('redhat');

mysql> SET  PASSWORD FOR root@'127.0.0.1'=PASSWORD('redhat');

mysql> FLUSH PRIVILEGES;

-------------------------------授权远程用户

mysql> GRANT  ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'redhat';

mysql> FLUSH PRIVILEGES;

二、安装配置postfix

1、上传文件

 

2、创建组与帐号

[root@mail ~]# ll

[root@mail ~]# tar -zxvf postfix-2.8.2.tar.gz -C /usr/local/src/  //解压文件到相应目录

[root@mail ~]# cd /usr/local/src/
[root@mail src]# ll

[root@mail src]# cd postfix-2.8.2/

[root@mail postfix-2.8.2]# groupadd -g 2525 postfix   //创建组
[root@mail postfix-2.8.2]# useradd -g postfix -u 2525 -s /sbin/nologin -M postfix  //创建帐号
[root@mail postfix-2.8.2]# groupadd -g 2526 postdrop   //创建组
[root@mail postfix-2.8.2]# useradd -g postdrop -u 2526 -s /bin/false -M postdrop  //创建帐号

3、生成makefile文件

[root@mail postfix-2.8.2]# make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl  -DUSE_TLS ' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2   -lssl lcrypto'  //生成makefile文件

[root@mail postfix-2.8.2]# make  //编译

[root@mail postfix-2.8.2]# make install  //安装

提示:按照以下的提示输入相关的路径([]号中的是缺省值,”]”后的是输入值,省略的表示采用默认值)

install_root: [/] /
tempdir: [/usr/local/src/ postfix-2.6.5] /tmp
config_directory: [/etc/postfix] /etc/postfix
daemon_directory: [/usr/libexec/postfix]
command_directory: [/usr/sbin]
queue_directory: [/var/spool/postfix]
sendmail_path: [/usr/sbin/sendmail]
newaliases_path: [/usr/bin/newaliases]
mailq_path: [/usr/bin/mailq]
mail_owner: [postfix]
setgid_group: [postdrop]  
       html_directory: [no] /var/www/postfix_html
       manpages: [/usr/local/man]
       readme_directory: [no]

4、生成别名二进制文件,这个步骤如果忽略,会造成postfix效率极低:
[root@mail postfix-2.8.2]# newaliases

[root@mail postfix-2.8.2]# postfix start   //启动postfix
postfix/postfix-script: starting the Postfix mail system
[root@mail postfix-2.8.2]# netstat -tupln |less   //查看端口

[root@mail postfix-2.8.2]# postconf m   //查看模块,是否支持mysql

[root@mail postfix-2.8.2]# postconf a  //是否支持验证

5、将postfix的启动方式设置为标准启动方式

[root@mail postfix-2.8.2]# mkdir /tmp/zyx   //新建目录
[root@mail postfix-2.8.2]# cd /tmp/zyx/
[root@mail zyx]# cp /mnt/cdrom/Server/postfix-2.3.3-2.1.el5_2.i386.rpm ./   //将光盘的文件拷贝到当前目录
[root@mail zyx]# ll

[root@mail zyx]# rpm2cpio postfix-2.3.3-2.1.el5_2.i386.rpm |cpio id    //展开此文件
16333 blocks

[root@mail zyx]# ll

[root@mail zyx]# pwd
/tmp/zyx
[root@mail zyx]# cd etc/
[root@mail etc]# ll

[root@mail etc]# cd rc.d/
[root@mail rc.d]# ll

[root@mail rc.d]# cd init.d/
[root@mail init.d]# ll

[root@mail init.d]# cp postfix /etc/init.d/ //将postfix拷贝到/etc/init.d/

6、测试一下postfix是否能正常启动
[root@mail init.d]# service postfix stop

[root@mail init.d]# service postfix start

[root@mail init.d]# chkconfig --add postfix
[root@mail init.d]# chkconfig --list |grep postfix
postfix            0:off    1:off    2:on   3:on    4:on   5:on    6:off

7、进行一些基本配置,测试启动postfix并进行发信

本地主机用户之间的发信

[root@mail ~]# useradd user1
[root@mail ~]# telnet 127.0.0.1 25

[root@mail ~]# su user1  //切换到user1用户
[user1@mail ~]$ mail   //查看邮件

8、编辑配置文件

[root@mail ~]# vim /etc/postfix/main.cf  //编辑配置文件

说明:
myorigin      --------参数用来指明发件人所在的域名;
mydestination  -----参数指定postfix接收邮件时收件人的域名,即您的postfix系统要接收到哪个域名的邮件
myhostname  ------参数指定运行postfix邮件系统的主机的主机名,默认情况下,其值被设定为本地机器名;
mydomain     ------