安装流程图

image

一、安装前的准备工作

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

image

image

 

image

[root@zyx ~]# service network restart

image

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

image

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

image

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

image

[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客户端

image

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

[root@mail Server]# yum install bind

image

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

image

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

image

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

image

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

image

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

image

image

image

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

image

[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

image

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

image

[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、上传文件

image 

2、创建组与帐号

[root@mail ~]# ll

image

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

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

image

[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   //查看端口

image

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

image

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

image

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

image

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

[root@mail zyx]# ll

image

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

image

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

image

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

image

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

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

image

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

image

[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

image

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

image

8、编辑配置文件

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

image

image

image

image

image

image

说明:
myorigin
      --------参数用来指明发件人所在的域名;
mydestination  -----参数指定postfix接收邮件时收件人的域名,即您的postfix系统要接收到哪个域名的邮件;
myhostname  ------参数指定运行postfix邮件系统的主机的主机名,默认情况下,其值被设定为本地机器名;
mydomain     -------参数指定您的域名,默认情况下,postfix将myhostname的第一部分删除而作为mydomain的值;
mynetworks  -------参数指定你所在的网络的网络地址,postfix系统根据其值来区别用户是远程的还是本地的,如果是本地网络用户则允许其访问
inet_interfaces -----参数指定postfix系统监听的网络接口;

[root@mail ~]# service postfix restart

image

三、为postfix开启基于cyrus-sasl的认证功能

1、编辑postfix的配置文件

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

image

添加以下内容:

image

[root@mail ~]# cd /usr/lib/sasl2/
[root@mail sasl2]# ll

image

[root@mail sasl2]# cp -p Sendmail.conf smtpd.conf     // 拷贝并生成文件

[root@mail sasl2]# vim smtpd.conf  //编辑生成的文件

2、添加验证机制

image

[root@mail sasl2]# service saslauthd start
Starting saslauthd:                                        [  OK  ]
[root@mail sasl2]# chkconfig  saslauthd on
[root@mail sasl2]# telnet mail.a.org 25

image

四、安装Courier authentication library

1、安装Courier authentication library

[root@mail ~]# ll

image

[root@mail ~]# tar -jxvf courier-authlib-0.63.0.tar.bz2 -C /usr/local/src/  //解压到相应目录下

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

image

[root@mail src]# cd courier-authlib-0.63.0/

[root@mail courier-authlib-0.63.0]# ./configure --prefix=/usr/local/courier-authlib --sysconfdir=/etc --with-authmysql --with-mysql-libs=/usr/lib/mysql --with-mysql-includes=/usr/include/mysql --with-redhat --with-authmysqlrc=/etc/authmysqlrc --with-authdaemonrc=/etc/authdaemonrc --with-ltdl-lib=/usr/lib --with-ltdl-include=/usr/include

[root@mail courier-authlib-0.63.0]# make //编译

[root@mail courier-authlib-0.63.0]# make install  //安装

[root@mail courier-authlib-0.63.0]# chmod 755 /usr/local/courier-authlib/var/spool/authdaemon   //修改权限

[root@mail courier-authlib-0.63.0]# cp /etc/authdaemonrc.dist  /etc/authdaemonrc  //拷贝文件

[root@mail courier-authlib-0.63.0]# cp /etc/authmysqlrc.dist  /etc/authmysqlrc  //拷贝文件

2、修改/etc/authdaemonrc 文件

[root@mail courier-authlib-0.63.0]# vim /etc/authdaemonrc

image

image 

image //此处可以不改

3、编辑/etc/authmysqlrc 为以下内容,其中2525,2525 为postfix 用户的UID和GID

[root@mail courier-authlib-0.63.0]# vim /etc/authmysqlrc   //编辑文件

image  //这时为后文要用的数据库的所有者的用户名

image   //指定你的mysql监听的端口,这里使用默认的3306

image

image

image

image

image

image

image

image

image

4、编辑courier-authlib的启动方式

[root@mail courier-authlib-0.63.0]# cp courier-authlib.sysvinit /etc/init.d/courier-authlib
[root@mail courier-authlib-0.63.0]# chmod 755 /etc/init.d/courier-authlib  //修改权限

[root@mail courier-authlib-0.63.0]# service courier-authlib start //启动服务
Starting Courier authentication services: authdaemond

[root@mail courier-authlib-0.63.0]# chkconfig --add courier-authlib    //设为开机时启动
[root@mail courier-authlib-0.63.0]# chkconfig courier-authlib on

[root@mail courier-authlib-0.63.0]# echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf.d/courier-authlib.conf

[root@mail courier-authlib-0.63.0]# ldconfig –v  //调用文件

[root@mail courier-authlib-0.63.0]# service courier-authlib restart   //重启服务
Stopping Courier authentication services: authdaemond
Starting Courier authentication services: authdaemond

5、新建虚拟用户邮箱所在的目录,并将其权限赋予postfix用户:

[root@mail courier-authlib-0.63.0]# mkdir -pv /var/mailbox
mkdir: created directory `/var/mailbox'
[root@mail courier-authlib-0.63.0]# chown -R postfix /var/mailbox
[root@mail courier-authlib-0.63.0]# ll -d /var/mail
lrwxrwxrwx 1 root root 10 Sep 12 17:50 /var/mail -> spool/mail
[root@mail courier-authlib-0.63.0]# ll -d /var/mailbox/
drwxr-xr-x 2 postfix root 4096 Sep 18 15:08 /var/mailbox/  //虚拟帐号所在的目录

6、接下来重新配置SMTP 认证,编辑 /usr/local/lib/sasl2/smtpd.conf ,确保其为以下内容:

[root@mail courier-authlib-0.63.0]# vim /usr/lib/sasl2/smtpd.conf

image

[root@mail courier-authlib-0.63.0]# service saslauthd restart   //重启服务

image

[root@mail courier-authlib-0.63.0]# service courier-authlib restart //重启此服务
Stopping Courier authentication services: authdaemond
Starting Courier authentication services: authdaemond

五、让postfix支持虚拟域和虚拟用户

1、编辑/etc/postfix/main.cf,添加如下内容:

[root@mail courier-authlib-0.63.0]# vim /etc/postfix/main.cf

image

2、使用extman源码目录下docs目录中的extmail.sql和init.sql建立数据库:

[root@mail ~]# ll

image

[root@mail ~]# tar -zxvf  extman-1.1.tar.gz   //展开此文件

[root@mail ~]# cd extman-1.1/docs
[root@mail docs]# ll

image

[root@mail docs]# mysql -u root -p <extmail.sql
Enter password:
[root@mail docs]#  mysql -u root -p &lt;init.sql
Enter password:
[root@mail docs]# mysql -u root –p     //进行验证
Enter password:                                //此处密码均为"redhat”

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| extmail            |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.01 sec)

mysql&gt; use extmail;

mysql&gt; show tables;  
+-------------------+
| Tables_in_extmail |
+-------------------+
| alias             |
| domain            |
| domain_manager    |
| mailbox           |
| manager           |
+-------------------+    //增加了mailbox
5 rows in set (0.00 sec)

[root@mail docs]# ll

image

[root@mail docs]# cp mysql*  /etc/postfix/

3、授予用户extmail访问extmail数据库的权限

mysql&gt; GRANT all privileges on extmail.* TO extmail@localhost IDENTIFIED BY 'extmail';
Query OK, 0 rows affected (0.00 sec)

mysql&gt; GRANT all privileges on extmail.* TO extmail@127.0.0.1 IDENTIFIED BY 'extmail';
Query OK, 0 rows affected (0.00 sec)

mysql&gt; FLUSH PRIVILEGES;    //让设置的内容生效
Query OK, 0 rows affected (0.00 sec)

[root@mail docs]# service  postfix  restart

image

说明:启用虚拟域以后,需要取消中心域,即注释掉myhostname, mydestination, mydomain, myorigin几个指令;当然,你也可以把mydestionation的值改为你自己需要的。

六、配置dovecot

1、修改dovecot配置文件

[root@mail docs]# vim /etc/dovecot.conf

image

image

image

image

image

image

image

2、修改postfix的配置文件

[root@mail docs]# vim  /etc/postfix/main.cf

image

[root@mail docs]#  vi /etc/dovecot-mysql.conf

image

3、接下来启动dovecot服务:

[root@mail docs]# service dovecot start
Starting Dovecot Imap:                                     [  OK ]
[root@mail docs]# chkconfig dovecot on

七、安装Extmail-1.2  (先安装httpd)

1、安装

[root@mail extsuite]# tar -zxvf extmail-1.2.tar.gz //展开文件

[root@mail extsuite]# mkdir -pv /var/www/extsuite //新建目录

[root@mail extsuite]# mv extmail-1.2 /var/www/extsuite/extmail

[root@mail extsuite]# mv extman-1.1 /var/www/extsuite/extman

[root@mail extsuite]# cd /var/www/extsuite/

[root@mail extsuite]# ll

image

 

[root@mail extsuite]# cd extmail/
[root@mail extmail]# ll

image

[root@mail extmail]# cp webmail.cf.default webmail.cf  //拷贝文件

2、修改主配置文件

image 

image

image

image

[root@mail extmail]# service httpd start

[root@mail extmail]# chkconfig httpd on

3、apache相关配置

[root@mail extmail]# vim /etc/httpd/conf/httpd.conf

image

image

4、修改 cgi执行文件属主为apache运行身份用户:

root@mail extmail]# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/  //修改权限

[root@mail extmail]# service httpd restart  //重启apache

5、在浏览器中测试一下页面

image

6、依赖关系的解决

image

[root@mail extman]# cd
[root@mail ~]# ll

image

[root@mail ~]# tar -zxvf Unix-Syslog-0.100.tar.gz  //展开文件

[root@mail Unix-Syslog-0.100]# ll

image

[root@mail Unix-Syslog-0.100]# perl Makefile.PL

[root@mail Unix-Syslog-0.100]# make //编译

[root@mail Unix-Syslog-0.100]# make install  //安装

[root@mail Unix-Syslog-0.100]# service httpd restart   //重启apache服务

 

八、安装Extman-1.1

1、安装

[root@mail extmail]# cd /var/www/extsuite/

[root@mail extsuite]# ll

image

[root@mail extsuite]# cd extman
[root@mail extman]# ll

image

[root@mail extman]# cp webman.cf.default webman.cf
[root@mail extman]# vim webman.cf

image

image 

2、修改cgi目录的属主:

[root@mail extman]# chown -R postfix.postfix /var/www/extsuite/extman/cgi/

在apache的主配置文件中Extmail的虚拟主机部分,添加如下两行:

[root@mail extman]# vim /etc/httpd/conf/httpd.conf

image 

3、创建其运行时所需的临时目录,并修改其相应的权限:

[root@mail extman]# mkdir  -pv  /tmp/extman    //创建新目录
mkdir: created directory `/tmp/extman'
[root@mail extman]# chown postfix.postfix  /tmp/extman  //修改权限

4、登录邮箱管理

(1)、选择管理即可登入extman进行后台管理了。默认管理帐号为:root@extmail.org  密码为:extmail*123*

image

(2)、进入邮箱管理页面

image

(3)、添加域(a.org)

image

image

image

 

image

(4)、添加域(b.org)

image

image

(5)、查看域列表

image

5、注册用户

(1)、在域a.org上注册用户

image

注册用户zyx@a.org

image 

image

注册用户zyx1@a.org

image

(2)、在域b.org上注册用户

image

注册用户lucy@b.org

image

 

 image

6、修改postfix的配置文件

root@mail Unix-Syslog-0.100]# vim /etc/postfix/main.cf   //禁用此项

image

[root@mail Unix-Syslog-0.100]# service postfix restart    //重启postfix服务
Shutting down postfix:                                     [  OK ]
Starting postfix:                                          [ OK  ]

7、登录邮箱并发送邮件

image

 

image

(1)、相同域用户间的邮件互发

image

image

image

(2)、不同域用户见的邮件互发

image

image

 

image

image

回复邮件

image

收到回复

image