PostfixAdmin 安装部署

邮件发送

  1. 用户登录[email protected],在本地邮件客户端(MUA,如Thunderbird)中编写邮件,通过SMTP协议发送到邮件服务器(MTA,如Postfix)a.com
  2. 发件人邮件服务器DNS解析目标邮件服务器地址,通过SMTP协议发送邮件到b.com
  3. 目标目标邮件服务器接收邮件后,投递到目标本地邮件投递代理(MDA,如Dovecot)
  4. 目标客户端通过主动轮询或服务器推送,与目标本地邮件投递代理通过IMAP/POP3协议传递邮件

mail_2

        所以在这个过程中,涉及到Postfix与Dovecot两个之间的配置,比较麻烦,可以取巧只部署SMTP服务,邮件的接收通过cloudflare的电子邮件路由转寄到其他信箱。

域名解析

  1. 添加DNS解析记录,将mail子域名解析到ip
  2. 下载软件并解压到相关目录,例如mail:

    wget https://github.com/postfixadmin/postfixadmin/archive/refs/tags/postfixadmin-3.3.15.zip -P /apache/htdocs #下载软件包
    unzip /apache/htdocs/postfixadmin-3.3.15.zip -d /apache/htdocs #解压
    mv /apache/htdocs/postfixadmin-postfixadmin-3.3.15 /apache/htdocs/mail #修改目录名称
    chown -R apache:apache /usr/local/apache && chmod 777 -R /usr/local/apache #修改权限
  3. 修改apache的vhost与ssl配置文件,配置虚拟主机指向mail目录下的public目录,访问网站出现向导,访问页面中的install.txt,根据说明进行安装:

mail_3

创建数据库

        可以使用ssh连接数据库,使用语句建表,也可以使用phpMyAdmin进行创建

mail_4

mail_5

配置文件

        复制一份目录下的cp config.inc.php config.inc.php.bak,直接在config.inc.php进行修改。

  1. $CONF['configured'] = false;改为$CONF['configured'] = true;
  2. $CONF['database_name'] = '';为上步中创建的数据库名称
  3. $CONF['database_user'] = '';为上步中授权时创建的用户名
  4. $CONF['database_password'] = '';为上步中授权时使用的密码
  5. $CONF['encrypt'] = 'md5crypt';改为$CONF['encrypt'] = 'dovecot:SHA512';

mail_6

安装部署

        配置完成后,访问网站下的setup.php,该网页会对部署环境进行检测,并更新数据库

报错解决

        检测过程中会提示Password Hashing - attempted to use configured encrypt backend (dovecot:SHA512) triggered an error: /usr/bin/doveadm pw failed, see error log for details,解决该问题需要安装dovecot并修改ssl配置

  1. 安装软件:在终端中执行yum install -y dovecot dovecot-mysql
  2. 配置SSL:修改/etc/dovecot/conf.d/10-ssl.conf

    • ssl = yes
    • ssl_cert = <...your_domain.crt,配置apache使用的SSL的证书
    • ssl_key = <...your_domain.key,配置apache使用的SSL的密钥
  3. 设置权限:在终端中执行usermod -aG dovecot apache,这里的apache是web配置文件中配置的用户,根据情况修改
  4. 完成后刷新页面,进入下一步

设置管理员

        进入页面后显示如下界面

mail_7

  1. 输入任意符合要求的密码,点击按键生成哈希值
  2. 替换配置文件config.inc.php中的$CONF['setup_password'] = 'changeme';,用以验证管理员权限,再次刷新
  3. 创建超级管理员用户:第一行为第一步中输入的密码,第二行为完整邮箱

mail_8

  1. 在PostfixAdmin 根目录下创建 templates_c 目录,完成后刷新页面登录,登录后即可进行相关的用户操作

mail_9