1. 安装软件
1.1 更新yum源
yum update
1.2 排除默认Postfix源
CentOS 7主源中自带的Postfix版本并不支持MariaDB;所以,我们将从CentOS Plus源中进行安装。在此之前,我们在[base]
和[updates]
源中过滤掉Postfix,防止版本更新时,被不支持MariaDB的Postfix覆盖。
文件:/etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
exclude=postfix
#released updates
[updates]
name=CentOS-$releasever - Updates
exclude=postfix
1.3 安装必须的软件
yum --enablerepo=centosplus install postfix
yum install dovecot mariadb-server dovecot-mysql
以上安装了Postfix、Dovecot及MariaDB
下面,我们配置MariaDB数据库
2. 设置MariaDB
2.1 让MariaDB随系统启动
systemctl enable mariadb.service
/bin/systemctl start mariadb.service
2.2 初始化MariaDB
执行mysql_secure_installation
命令进行初始化。在初始化过程中,建议我们修改MariaDB的root密码、移除匿名账号、禁止root远端登录及移除测试数据库,最后会重新加载权限表。
mysql_secure_installation
2.3 打开MariaDB控制台
mysql -u root -p
2.4 创建邮箱服务数据库mail
CREATE DATABASE mail;
USE mail;
2.5 创建邮箱管理员账号mail_admin
创建后,我们为他分配mail
数据库的读写权限。
注意:将下面语句中的
mail_admin_password
替换为您自己的强密码
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost' IDENTIFIED BY 'mail_admin_password';
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost.localdomain' IDENTIFIED BY 'mail_admin_password';
FLUSH PRIVILEGES;
2.6 创建虚拟域(virtual domains)表:
CREATE TABLE domains (
domain varchar(50) NOT NULL,
PRIMARY KEY (domain)
);
2.7 创建邮件转发(mail forwarding)表
CREATE TABLE forwardings (
source varchar(80) NOT NULL,
destination TEXT NOT NULL,
PRIMARY KEY (source)
);
2.8 创建用户(users)表
CREATE TABLE users (
email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
PRIMARY KEY (email)
);
2.9 创建邮件传输(transports)表
CREATE TABLE transport (
domain varchar(128) NOT NULL default '',
transport varchar(128) NOT NULL