[Linux] 邮件服务器的架设

这篇文章介绍如何在 Linux 上建立一个邮件服务器。使用的是 Postfix 作为 MTA、Dovecot 作为 IMAP 和 POP3 服务器、Courier-authlib 来作为安全认证程序、MySQL 来存储虚拟用户、ExtMail 作为 WebMail 的前台并且使用 ExtMan 来管理帐号

在建立邮件服务器之前,首先要建立网页服务器来运行 ExtMail 和 ExtMan,可以选择 LNMP(Linux+Nginx+MySQL+PHP)环境

首先安装必要的程序

前往 http://www.courier-mta.org/download.html#authlib 下载 courier-authlib,我们需要手动编译使其支持 MySQL 登陆

如果在 configure 的过程中出现找不到 mysqlclient.so 之类的情况,到 /usr/lib64/mysql 目录下看看是否有 libmysqlclient.so 这个文件,如果没有,创建一个符号连接把旁边的链接过来

然后需要安装 Unix-Syslog,这是 ExtMan 和 ExtMail 所需要的

添加一个用户(这个 uid 和 gid 以后会用到)

在这些都做完之后就可以开始配置邮件服务器了

修改 /etc/postfix/main.cf

修改 /etc/dovecot/dovecot.conf

修改 /etc/dovecot/conf.d/10-ssl.conf

修改 /etc/dovecot/conf.d/10-auth.conf

关闭 pop3 端口开启 pop3s 端口,修改 /etc/dovecot/conf.d/10-master.conf

然后关闭 Sendmail 服务(如果有的话),并且启动 Postfix 和 Dovecot

现在开始安装 ExtMan 和 ExtMail,前往 http://www.extmail.org/download 下载 ExtMail(WebMail 帐号登陆) 和 ExtMan(WebMail 帐号管理)

修改 /var/www/extsuite/extmail/webmail.cf

编辑 /var/www/extsuite/extman/webman.cf

然后建立临时目录

现在导入数据库,首先进入 /var/www/extsuite/extman/docs 目录,然后登陆 mysql 服务

之后运行

在导入 extmail.sql 的时候可能会出现一些问题比如说 'TYPE=MyISAM' 什么什么的,这是说明你现在的数据库比较新,但是这个 sql 脚本是给原来的数据个编写的,只要用 sed 替换一下就好了

现在开始配置 Postfix 使其支持虚拟用户,首先生成配置文件

编辑 /etc/postfix/main.cf 在末尾添加如下内容

编辑 /etc/postfix/master.cf

并且在末尾添加(/usr/libexec/dovecot/deliver 的位置可能不一样)

编辑 /etc/dovecot/conf.d/10-auth.conf

编辑 /etc/dovecot/conf.d/10-mail.conf

编辑 /etc/dovecot/conf.d/10-logging.conf

编辑 /etc/dovecot/conf.d/10-master.conf

编辑 /etc/dovecot/conf.d/auth-sql.conf.ext

新建文件 /etc/dovecot/auth-sql.conf.ext

现在编辑 Courier-authlib 的配置文件

编辑 /etc/authdaemonrc

编辑 /etc/authmysqlrc

编辑 /etc/sasl2/smtpd.conf

运行

现在启动 courier-authlib 的服务程序

好!现在来测试一下

如果你看见下面的输出,那么就说明成功了

接下来我们来配置 nginx 来让外部能够访问站点,编辑 /usr/local/nginx/conf/nginx.conf(如果用的是 yum 安装是 /etc/nginx/nginx.conf)

编辑 /usr/local/nginx/conf/conf.d/extsuite.conf

然后重新启动 nginx 服务

然后编辑 /usr/lib/systemd/system/extsuite-cgi.service 来创建一个脚本自动启动

之后运行

现在你可以访问你的 WebMail 了!

Miskcoo's Space,版权所有丨如未注明,均为原创
转载请注明转自:http://blog.miskcoo.com/2015/03/linux-how-to-config-mail-server

miskcoo

顺利从福州一中毕业!感觉大学周围都是聚聚十分可怕QAQ 想要联系的话欢迎发邮件:miskcoo [at] gmail [dot] com

3 thoughts on “[Linux] 邮件服务器的架设

  1. 到 /usr/lib64/mysql 目录下看看是否有 libmysqlclient.so 这个文件,如果没有,创建一个符号连接把旁边的链接过来.这一步具体怎么做呢,Linux小白翻了一下午GOOGLE还是没做好。

    1. 首先如果你的系统是 32 位的东西应该是在 /usr/lib/mysql 下面

      你确保你真的装了 mysql,如果连 /usr/lib64/mysql 这个目录都没有可能就是没装或者装在其他地方 然后到 /usr/lib64/mysql 看下有没有以 libmysqlclient.so 这个文件,没有的话到前面一个目录,也就是 /usr/lib64 看看有没有这个文件,有就可以不用理它

      没有的话在 /usr/lib64 运行

      然后看看有没有什么 libmysqlclient.so.18 之类后面带数字的有的话(比如就是叫 libmysqlclient.so.18)

      大概这样

Leave a Reply

Your email address will not be published. Required fields are marked *

NOTE: If you want to add mathematical formulas, use $$ to wrap them. For example, use $$x_0$$ to get $$x_0$$.

If you want to get a newline, hit Enter twice, that is, use double newlines to get a newline.