一、安装前的准备工作:

编写DNS指向:

[root@localhost ~]# vim /etc/resolv.conf

wps_clip_image-21698

卸载sendmail取消依赖性:

[root@localhost ~]# rpm -e sendmail --nodeps

查看是否还有25端口:

[root@localhost ~]# netstat -tupln |grep 25

tcp        0      0 0.0.0.0:1005                0.0.0.0:*                   LISTEN      2519/rpc.statd     

udp        0      0 0.0.0.0:999                 0.0.0.0:*                               2519/rpc.statd     

udp        0      0 0.0.0.0:1002                0.0.0.0:*                               2519/rpc.statd

编写一个小仓库:

[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo

wps_clip_image-25835

创建挂载目录进行挂载:

[root@localhost ~]# mkdir /mnt/cdrom

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/

mount: block device /dev/cdrom is write-protected, mounting read-only

安装DNS包(bind  bind-chroot   caching-nameserver)

[root@localhost ~]# yum install bind bind-chroot caching-nameserver

安装需要的rpm包组:(四大开发工具)

[root@localhost ~]# yum grouplist |less

 Development Libraries        开发工具

   Development Tools         开发库

Legacy Software Development     老的软件开发    

X Software Development       X 软件开发

先做DNS:

[root@localhost ~]# cd /var/named/chroot/etc/

[root@localhost etc]# ll

total 16

-rw-r--r-- 1 root root   405 Feb  8 16:30 localtime

-rw-r----- 1 root named 1230 Jul 30  2009 named.caching-nameserver.conf

-rw-r----- 1 root named  955 Jul 30  2009 named.rfc1912.zones

-rw-r----- 1 root named  113 Apr  9 13:35 rndc.key

[root@localhost etc]# cp -p named.caching-nameserver.conf  named.conf

编辑配置服务器:

[root@localhost etc]# vim named.conf

wps_clip_image-1663

做区域声明:

[root@localhost etc]# vim named.rfc1912.zones

wps_clip_image-22154

产生数据库:

[root@localhost etc]# cd ../var/named/

[root@localhost named]# ll

total 36

drwxrwx--- 2 named named 4096 Aug 26  2004 data

-rw-r----- 1 root  named  198 Jul 30  2009 localdomain.zone

-rw-r----- 1 root  named  195 Jul 30  2009 localhost.zone

-rw-r----- 1 root  named  427 Jul 30  2009 named.broadcast

-rw-r----- 1 root  named 1892 Jul 30  2009 named.ca

-rw-r----- 1 root  named  424 Jul 30  2009 named.ip6.local

-rw-r----- 1 root  named  426 Jul 30  2009 named.local

-rw-r----- 1 root  named  427 Jul 30  2009 named.zero

drwxrwx--- 2 named named 4096 Jul 27  2004 slaves

[root@localhost named]# cp -p localhost.zone  a.org.db

[root@localhost named]# vim a.org.db

wps_clip_image-1862

设置成开机启动:

[root@localhost named]# chkconfig named on

启动named:

[root@localhost named]# service named start

Starting named:                                            [  OK  ]

[root@localhost named]# rndc reload

server reload successful

测试:进行域名解析

wps_clip_image-5354

wps_clip_image-17705

更改主机名:

[root@localhost named]# vim /etc/sysconfig/network

wps_clip_image-16086

重新启动:

[root@localhost named]# init 6

在挂载光盘:

[root@mail ~]# mount /dev/cdrom /mnt/cdrom/

mount: block device /dev/cdrom is write-protected, mounting read-only

清除缓存:

[root@mail ~]# yum clean all              

Loaded plugins: rhnplugin, security

Cleaning up Everything

安装所需的rpm包:

[root@mail ~]# yum install 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

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

[root@mail ~]# chkconfig mysqld on     设置成开机启动

[root@mail ~]# service mysqld start

Starting MySQL:                                            [  OK  ]

[root@mail ~]# netstat -tupln |grep mysql    查看端口

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      4805/mysqld

wps_clip_image-12483

[root@mail ~]# mysqladmin -u root -p password 'redhat'

Enter password:         初始密码为空

再次的访问mysql就不行了:

[root@mail ~]# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

wps_clip_image-916

二:安装配置postfix

[root@mail ~]# groupadd -g 2525 postfix                        

[root@mail ~]# useradd -g postfix -u 2525 -s /sbin/nologin -M postfix

[root@mail ~]# groupadd -g 2526 postdrop

[root@mail ~]# useradd -g postdrop -u 2526 -s /bin/false -M postdrop

所需要的包:courier-authlib-0.63.1.20111230.tar.bz2   extmail-1.2.tar.gz   extman-1.1.tar.gz   postfix-2.8.2.tar.gz   Unix-Syslog-1.1.tar.gz

wps_clip_image-264

[root@mail ~]# tar -zxvf postfix-2.8.2.tar.gz

[root@mail ~]# cd postfix-2.8.2

[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'

[root@mail postfix-2.8.2]# make

[root@mail postfix-2.8.2]# make install

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

install_root: [/] /

tempdir: [/usr/local/src/ postfix-2.8.2] /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]

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

[root@mail postfix-2.8.2]# newaliases         

[root@mail postfix-2.8.2]# cp /etc/postfix/main.cf /etc/postfix/main.cf.bak

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

wps_clip_image-4820

wps_clip_image-23531

wps_clip_image-10659

wps_clip_image-368

[root@mail postfix-2.8.2]# service postfix restart  

wps_clip_image-17242

[root@mail postfix-2.8.2]# cd

[root@mail ~]# mkdir abc

[root@mail ~]# cd abc/

[root@mail abc]# cp /mnt/cdrom/Server/postfix-2.3.3-2.1.el5_2.i386.rpm  ./

wps_clip_image-15642

[root@mail abc]# rpm2cpio postfix-2.3.3-2.1.el5_2.i386.rpm  |cpio -id

16333 blocks

wps_clip_image-32524

[root@mail abc]# cd etc

[root@mail etc]# ls

pam.d  postfix  rc.d

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

wps_clip_image-8852

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

wps_clip_image-22293

wps_clip_image-2743

[root@mail init.d]# chkconfig --add postfix

[root@mail init.d]# chkconfig  postfix on

[root@mail init.d]# chkconfig --list |grep  postfix  

wps_clip_image-12562

连接postfix,验正服务启动状况:

wps_clip_image-7217

打开日志进行监控:

[root@mail ~]# tar -f /var/log/maillog

wps_clip_image-6770

用户进行收信查看:

wps_clip_image-4677

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

查看cyrus-sasl:

wps_clip_image-32439

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

wps_clip_image-31376

[root@mail init.d]# vim usr/lib/sasl2/smtpd.conf

wps_clip_image-19620

wps_clip_image-10749

wps_clip_image-27109

四:安装Courier authentication library

[root@mail ~]# tar -jxvf courier-authlib-0.63.1.20111230.tar.bz2

[root@mail ~]# cd courier-authlib-0.63.1.20111230

[root@mail courier-authlib-0.63.1.20111230]# ./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.1.20111230]# make

[root@mail courier-authlib-0.63.1.20111230]# make install

[root@mail courier-authlib-0.63.1.20111230]# cd /usr/local/courier-authlib/var/spool/

[root@mail spool]# ll

total 4

drwxr-x--- 2 daemon daemon 4096 Apr  9 17:22 authdaemon

[root@mail spool]# chmod -R 755 authdaemon/

[root@mail spool]# ll

total 4

drwxr-xr-x 2 daemon daemon 4096 Apr  9 17:22 authdaemon

[root@mail spool]# cp /etc/authdaemonrc.dist  /etc/authdaemonrc                                      

[root@mail spool]# cp /etc/authmysqlrc.dist  /etc/authmysqlrc

修改/etc/authdaemonrc 文件

[root@mail spool]# vim /etc/authdaemonrc

wps_clip_image-27209

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

[root@mail spool]# vim /etc/authmysqlrc

wps_clip_image-4342

wps_clip_image-11470

wps_clip_image-21702

wps_clip_image-3816

wps_clip_image-19527

wps_clip_image-13450

wps_clip_image-12176

wps_clip_image-9281

[root@mail spool]# cd

[root@mail ~]# cd courier-authlib-0.63.1.20111230

cp courier-authlib.sysvinit /etc/init.d

[root@mail courier-authlib-0.63.1.20111230]# ll /etc/init.d/courier-authlib.sysvinit

-rw-r--r-- 1 root root 943 Apr  9 18:15 /etc/init.d/courier-authlib.sysvinit

[root@mail courier-authlib-0.63.1.20111230]# chmod a+x  /etc/init.d/courier-authlib.sysvinit

[root@mail courier-authlib-0.63.1.20111230]# mv /etc/init.d/courier-authlib.sysvinit  /etc/init.d/courier-authlib         

[root@mail courier-authlib-0.63.1.20111230]# service courier-authlib start

Starting Courier authentication services: authdaemond

[root@mail courier-authlib-0.63.1.20111230]# netstat -tupln |grep cour

wps_clip_image-20818

[root@mail courier-authlib-0.63.1.20111230]# chkconfig --add courier-authlib

[root@mail courier-authlib-0.63.1.20111230]# chkconfig  courier-authlib on

[root@mail courier-authlib-0.63.1.20111230]# cd /usr/local/courier-authlib/

wps_clip_image-13158

[root@mail courier-authlib]# cd lib

[root@mail lib]# pwd

/usr/local/courier-authlib/lib

[root@mail lib]# ldconfig -v |grep cour

[root@mail lib]# vim /etc/ld.so.conf.d/courier-authlib.conf

wps_clip_image-28994

[root@mail lib]# ldconfig -v |grep cour

/usr/local/courier-authlib/lib:

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

[root@mail lib]# mkdir -pv /var/mailbox

mkdir: created directory `/var/mailbox'

[root@mail lib]# chown -R postfix /var/mailbox/

重新配置SMTP 认证,编辑 /usr/local/lib/sasl2/smtpd.conf 

[root@mail lib]# vim /usr/lib/sasl2/smtpd.conf

wps_clip_image-27536

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

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

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

wps_clip_image-116

wps_clip_image-6160

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

[root@mail ~]# tar -zxvf extman-1.1.tar.gz

wps_clip_image-26959

[root@mail ~]# cd extman-1.1

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

wps_clip_image-7309

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

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

wps_clip_image-83

wps_clip_image-17706

六、配置dovecot

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

wps_clip_image-11292

wps_clip_image-1299

wps_clip_image-1587

wps_clip_image-32376

wps_clip_image-941

postfix的配置文件也要该

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

wps_clip_image-18224

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

wps_clip_image-27577

wps_clip_image-14231

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

wps_clip_image-21373

1:解压安装:

[root@mail ~]# tar -zxvf extmail-1.2.tar.gz  -C /var/www/extsuite/

[root@mail ~]# tar -zxvf extman-1.1.tar.gz  -C /var/www/extsuite/

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

wps_clip_image-15736

[root@mail extsuite]# mv extmail-1.2 extmail

[root@mail extsuite]# mv extman-1.1  extman

[root@mail extsuite]# cd extmail/

[root@mail extmail]# cp webmail.cf.default webmail.cf

2:修改主配置文件:

[root@mail extmail]# vim webmail.cf

wps_clip_image-20980

wps_clip_image-15084

wps_clip_image-29613

wps_clip_image-31134

3:apache相关配置:

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

wps_clip_image-30110

wps_clip_image-15578

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

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

 

4:依赖关系的解决:

[root@mail extmail]# cd

[root@mail ~]# tar -zxvf Unix-Syslog-1.1.tar.gz

[root@mail ~]# cd Unix-Syslog-1.1

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

[root@mail Unix-Syslog-1.1]# make

[root@mail Unix-Syslog-1.1]# make install

5:启动apache服务:

wps_clip_image-18273

wps_clip_image-4421

只可以登录但是不可以注册邮箱

八:安装Extman-1.1

1:安装及基本配置:

[root@mail Unix-Syslog-1.1]# cd /var/www/extsuite/

[root@mail extsuite]# cd extman

修改配置文件以符合本例的需要:

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

[root@mail extman]# vim webman.cf

wps_clip_image-6302

修改cgi目录的属主:

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

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

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

wps_clip_image-12088

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

[root@mail init.d]# mkdir  /tmp/extman

[root@mail init.d]# chown postfix.postfix  /tmp/extman

重新启动apache服务器后,在浏览器中输入指定的虚拟主机的名称进行访问:

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

wps_clip_image-4712

新添加一个域:a.org

wps_clip_image-11539

wps_clip_image-9426

wps_clip_image-26882

用user1用户登陆:

wps_clip_image-21019

用户给管理员发送邮件查看日志:

wps_clip_image-3591

wps_clip_image-27660

完成自己给自己的邮件发送:

wps_clip_image-30286

wps_clip_image-7559

wps_clip_image-32013

用户user1给用户a发送邮件:

wps_clip_image-10586

wps_clip_image-9346

wps_clip_image-20686