当前位置: > CentOS > CentOS服务器 >

Mail服务器Postfix+Dovecot+Extmail+Extman基于虚拟账号

时间:2014-03-04 00:45来源:linux.it.net.cn 作者:IT网

Mail服务器(Postfix+Dovecot+Extmail+Extman基于虚拟账号)

 

实验拓扑

 

171225900.png

LAMPLinux+Apache+MySQL+PHP)环境搭建

 

首先需要搭建LAMP环境

 

安装Apache

 

[root@mail apr-1.4.6]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/

 

[root@mail apr-1.4.6]# cd /usr/local/src/apr-1.4.6/

 

[root@mail apr-1.4.6]# ./configure --prefix=/usr/local/apr

 

[root@mail apr-1.4.6]# make

 

[root@mail apr-1.4.6]# make install

 

[root@mail src]# cd apr-util-1.5.1/

 

[root@mail apr-util-1.5.1]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config

 

[root@mail apr-util-1.5.1]# make

 

[root@mail apr-util-1.5.1]# make install

 

[root@mail cdrom]# cd /mnt/cdrom/Server/

 

[root@mail Server]# rpm -ivh /mnt/cdrom/Server/pcre-devel-6.6-2.el5_1.7.i386.rpm

 

安装http

 

[root@mail ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/

 

[root@mail ~]# cd /usr/local/src/httpd-2.4.4/

 

[root@mail httpd-2.4.4]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre -with-z --enable-mpms-shared=all

 

[root@mail httpd-2.4.4]# make

 

[root@mail httpd-2.4.4]# make install

 

[root@mail ~]# cd /etc/init.d/

 

[root@mail init.d]# chmod a+x httpd

 

[root@mail init.d]# ln -s /usr/local/apache/include/ /usr/include/apche

 

[root@mail init.d]# vim /etc/man.config

 

171226429.png

安装mysql

 

[root@mail ~]# groupadd mysql

 

[root@mail ~]# useradd -r -g mysql mysql

 

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

 

[root@mail local]# ln -s /usr/local/src/mysql-5.5.15-linux2.6-i686/ mysql

 

[root@mail mysql]# chown -R mysql .

 

[root@mail mysql]# chgrp -R mysql .

 

[root@mail mysql]# scripts/mysql_install_db --user=mysql

 

[root@mail mysql]# chown -R root .

 

[root@mail mysql]# chown -R mysql data

 

[root@mail mysql]# cp support-files/my-medium.cnf /etc/my.cnf

 

[root@mail mysql]# cp support-files/mysql.server /etc/init.d/mysqld

 

[root@mail mysql]# service mysqld start

 

Starting MySQL..... [ OK ]

 

[root@mail mysql]# chkconfig --add mysqld

 

配置mysql环境变量

 

[root@mail mysql]# vim /etc/profile

 

171226970.png

[root@mail mysql]# . /etc/profile

 

创建mysql.conf文件并添加库文件路径

 

[root@mail mysql]# vim /etc/ld.so.conf.d/mysql.conf

 

 

 

/usr/local/mysql/lib

 

[root@mail mysql]# ldconfig

 

171227242.png

处理头文件

 

[root@mail mysql]# ln -s include /usr/include/mysql

 

mysql数据库添加密码

 

171227941.png

安装php

 

[root@mail php-5.4.13]# tar -jxvf php-5.4.13.tar.bz2 -C /usr/local/src/

 

[root@mail php-5.4.13]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --enable-xml --with-png-dir --with-png --with-jpeg-dir --with-zlib --enable-mbstring --with-freetype-dir

 

 

 

[root@mail php]# make

 

[root@mail php]# make install

 

编辑/etc/profile

 

171227739.png

171227707.png

库文件处理

 

171228698.png

[root@mail php]# ldconfig

 

处理头文件

 

 

 

[root@mail php]# ln -s /usr/local/php/include/ /usr/include/php

 

编辑apache的配置文件支持php模块

 

171228374.png

171229173.png

 

 

下面进行exymail的搭建

 

本次主要来搭建北京地区extmail

 

关闭开发平台的sendmail功能,因为要搭建extmail

 

171230175.png

更改主机名和dns指向

 

171230383.png

171230877.png

171230331.png

 

 

关闭sendmail并设为开机关闭

 

171230861.png

 

 

 

上传搭建extmail所需要的软件包

 

postfix-2.8.2.tar.gz

 

courier-authlib-0.63.0.tar.bz2

 

Unix-Syslog-0.100.tar.gz

 

extmail-1.2.tar.gz

 

extman-1.1.tar.gz

 

打开saslauth服务设为开机启动

 

171231248.png

安装其他软件包

 

Yum install mysql-devel

 

171231304.png

171232877.png

安装postfix

 

[root@host ~]# tar -zxvf postfix-2.8.2.tar.gz -C /usr/local/src/

 

[root@host ~]# cd /usr/local/src/postfix-2.8.2/

 

[root@host postfix-2.8.2]# group -g 2525 postfix

 

-bash: group: command not found

 

[root@host postfix-2.8.2]# groupadd -g 2525 postfix

 

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

 

[root@host postfix-2.8.2]# groupadd -g 2526 postdrop

 

[root@host postfix-2.8.2]# useradd -g postdrop -u 2526 -s /bin/false -M postdro

 

Mysql的路径一定要正确

 

171232679.png

[root@host postfix-2.8.2]# make && make install

install_root: [/] /

 

tempdir: [/usr/local/src/ postfix-2.6.5] /tmp

 

config_directory: [/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]

 

执行/usr/bin/newaliases生成新的别名文件,提高postfix的效率

 

[root@host postfix-2.8.2]# /usr/bin/newaliases

 

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

 

#vi /etc/postfix/main.cf

 

171233779.png

171233900.png

为了管理postfix服务的启动关闭,创建脚本,复制postfixrpm包的控制脚本

 

[root@host ~]# cd /tmp/

 

[root@host tmp]# mkdir abc

 

[root@host tmp]# cd abc/

 

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

 

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

 

171234497.png

171234480.png

编辑postfix配置文件

 

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

 

171235141.png

配置邮件服务器的中继

 

171236546.png

171236170.png

发送邮件测试

 

171237454.png

为postfix开启基于rycus-sasl认证功能.

 

vim /etc/postfix/main.cf

 

添加认证功能

 

171238337.png

171239825.png

171240471.png

 

 

四、安装Courier authentication library

 

[root@host ~]# tar jxvf courier-authlib-0.63.0.tar.bz2 -C /usr/local/src/

 

[root@host ~]# cd /usr/local/src/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/local/mysql/lib \

 

> --with-mysql-includes=/usr/local/mysql/include \

 

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

 

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

 

171241976.png

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

 

171242732.png

171356294.png

171356483.png

171356513.png

171357262.png

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

 

[root@mail courier-authlib-0.63.0]# cp courier-authlib.sysvinit /etc/init.d

 

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

 

# chmod 755 /etc/init.d/courier-authlib

 

# chkconfig --add courier-authlib

 

# chkconfig --level 2345 courier-authlib on

 

 

 

#echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf.d/courier-authlib.conf

 

# ldconfig -v

 

启动服务

 

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

 

Starting Courier authentication services: authdaemond

 

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

 

#mkdir -pv /var/mailbox

 

#chown R postfix /var/mailbox

 

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

 

pwcheck_method: authdaemond

 

log_level: 3

 

mech_list:PLAIN LOGIN

 

authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket

 

171357863.png

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

 

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

 

171359300.png

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

 

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

 

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

 

由于mysql版本的原因。导入数据库之前我们需要对extmail.sql进行更改,extmail.sql中所包含的的text的行把后面的default ‘ ’删掉,把TYPE=MyISAMCOMMENT=ExtMail - Virtual Mailboxes‘行删除,把87行改成can_signup varchar(255).

 

171400694.png

171401580.png

171402397.png

171404845.png

171405555.png

[root@mail docs]# mysql -u root -p < extmail.sql

 

mysql数据库导入初始化init.sql脚本

 

[root@mail docs]# mysql -u root -p < init.sql

 

导入后查看数据库验证

 

171405222.png

171406607.png

171406973.png

六、配置dovecot

之前已经安装过

 

配置dovecot

 

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

 

171406582.png

171406690.png

171406379.png

创建dovcotmysql连接时的配置文件

 

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

 

171407484.png

171407122.png

设为开机启动

 

[root@mail Server]# chkconfig dovecot on

 

 

 

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

 

[root@mail ~]# mkdir -pv /var/www/extsuite

 

[root@mail ~]# tar -zxvf extmail-1.2.tar.gz

 

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

 

cp /var/www/extsuite/extmail/webmail.cf.default /var/www/extsuite/extmail/webmail.cf

 

编辑配置文件

 

171407741.png

171407688.png

171407410.png

171407328.png

apache相关配置

 

171408402.png

171408254.png

171409259.png

修改cgi 执行文件属于postfix运行身份用户

 

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

 

4、依赖关系的解决

 

[root@mail ~]# tar -zxvf Unix-Syslog-0.100.tar.gz -C /usr/local/src/

 

[root@mail ~]# cd /usr/local/src/Unix-Syslog-0.100/

 

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

 

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

 

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

 

重启httpd服务器

 

171409399.png

八、配置Extman-1.1

 

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

 

[root@mail ~]# cp /var/www/extsuite/extman/webman.cf.default /var/www/extsuite/extman/webman.cf

 

[root@mail ~]# vim /var/www/extsuite/extman/webman.cf

 

12 SYS_MAILDIR_BASE = /var/mailbox

 

21 SYS_CAPTCHA_ON = 0

 

127 SYS_MYSQL_USER = webman

 

128 SYS_MYSQL_PASS = webman

 

129 SYS_MYSQL_DB = extmail

 

130 SYS_MYSQL_HOST = localhost

 

131 SYS_MYSQL_SOCKET = /tmp/mysql.sock

 

apache的主配置文件中extmail的虚拟主机部分。添加一下两行

 

171410381.png

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

 

[root@mail ~]# mkdir -pv /tmp/extman

 

mkdir: created directory `/tmp/extman'

 

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

 

重启一下apache服务器

 

171410305.png

登录测试一下默认管理帐号为:root@extmail.org 密码为:extmail*123*

 

http//10.1.1.100

 

171411341.png

171411855.png

171412463.png

171502340.png

171503222.png

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容