CentOS下Extmail的搭建

1 Extmail概述

ExtMail Solution 是一个基于优秀开源软件的电子邮件系统解决方案,核心部件包括了Postfix、Amavisd-new、ClamAV、ExtMail、ExtMan、Courier系列软件。是一个功能相对比较齐全的免费电子邮件系统。

而其中Extmail 是一个以perl语言编写,面向大容量/ISP级应用,免费的高性能Webmail软件,主要包括ExtMail、Extman两个部分的程序套件。ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面。

2 Extmail工作原理

CentOS下Extmail的搭建

Extmail的核心部分是postfix,是一种web页面,可以创建账号,可以收发邮件。extman可以账号注册。账号存放在mysql里面。postfix发信件,dovecot收信件。利用outlook收信件(docecot)和发信件(postfix)都要通过mysql查询。发信件(postfix)要提取mysql账号信息要通过courier-authlib。是基于虚拟帐号的邮件系统。

3 Extmail服务器搭建

3.1 安装相关软件包 

[root@Qserver ~]# yum --disablerepo=\* --enablerepo=c6-media install httpd 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

安装开发工具包

[root@Qserver ~]# yum --disablerepo=\* --enablerepo=c6-media grouplist 查看

"Development Libraries""Development Tools""Server Platform Development"

 

3.2 启动httpd mysqld服

[root@Qserver ~]# service httpd start

[root@Qserver ~]# service mysqld restart

[root@Qserver ~]# chkconfig httpd on

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

[root@Qserver ~]# netstat -tupln |grep httpd

[root@Qserver ~]# netstat -tupln |grep mysqld

[root@Qserver ~]# mysqladmin -u root -p password '123' 为数据库设置密码

 

3.3 安装Postfix

(1)删除原有postfix 新建用户

[root@Qserver ~]# rpm -qa postfix 查看已安装postfix

postfix-2.6.6-2.2.el6_1.i686

[root@Qserver ~]# yum --disablerepo=\* --enablerepo=c6-media remove postfix 卸载postfix

[root@Qserver ~]# rpm -qa postfix 删除用户和组

[root@Qserver ~]# groupdel postfix

[root@Qserver ~]# rm -rf /var/spool/postfix 删除用户目录

 

[root@Qserver ~]# groupadd -g 2525 postfix 创建用户组

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

[root@Qserver ~]# groupdel postdrop

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

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

查看/etc/passwd/

CentOS下Extmail的搭建

(2)安装postfix

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

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

已有makefile文件,不需要./configure

[root@Qserver 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'

错误 :

CentOS下Extmail的搭建

安装 db4-devel 和gcc

[root@Qserver postfix-2.8.2]make && 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@Qserver postfix-2.8.2]# newaliases 生成别名二进制文件步骤如果忽略,会造成postfix效率低

创建临时目录,把光盘上的postfix rpm软件包拷到临时目录下,这个包里面有postfix的控制脚本

[root@Qserver cdrom]# cp /media/cdrom/Packages/postfix-2.6.6-2.2.el6_1.i686.rpm /tmp/abc/

[root@Qserver cdrom]# cd /tmp/abc/

[root@Qserver abc]# rpm2cpio postfix-2.6.6-2.2.el6_1.i686.rpm |cpio -id 拆解rpm包

CentOS下Extmail的搭建

[root@Qserver init.d]# cp -p postfix /etc/init.d/

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

CentOS下Extmail的搭建

[root@Qserver ~]# tail -f /var/log/maillog 查看日志

warning: not owned by postfix: /var/lib/postfix/./master.lock 文件无所有者

[root@Qserver ~]# chown -R postfix /var/lib/postfix/ 修改权限

[root@Qserver ~]# chkconfig --add postfix

[root@Qserver ~]# chkconfig postfix on 开机自启

(5)postfix配置

[root@Qserver ~]# vim /etc/postfix/main.cf

75 myhostname = mail.cj.com

83 mydomain = cj.com

98 myorigin = $myhostname

99 myorigin = $mydomain

113 inet_interfaces = all

161 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

260 mynetworks = 192.168.30.0/24, 127.0.0.0/8 网络为本机网络

相关推荐