1.准备工作
介绍
这是配置邮件服务器的多部分教程。在最后,你将拥有一个能够为多个域提供标准电子邮件服务的邮件服务器。我将使用 Postfix、Dovecot、PostgreSQL 和 Postfixadmin。
在此之前,我将假设你拥有自己的服务器或 CentOS 7 最小的虚拟专用服务器 (VPS)。我还假设你有自己的域名。
开始使用
在进行设置postfix之前,我们需要一些做一些事情。更新你的yum。
yum update -y
设置主机名
重新设置你的主机名,你可以用"hostnamectl"指令设置你的主机名。
hostnamectl set-hostname mail.domain.com
验证你的更改是否有效
hostnamectl status
禁用selinux
接下来,我们关闭selinux。编辑“/etc/selinux/config”或“/etc/sysconfig/selinux“来完成此操作。
vim /etc/selinux/config
将SELINUX选项改为”disabled“,编辑完成后你的文件如下图所示。
接下来,我们先进行PostgreSQL的安装与配置。
2.PostgreSQL安装与配置
我们将安装最新版本的PostgreSQL,你可以去官网(“PostgreSQL: Linux downloads (other)”)选择你自己喜欢的版本,或者和我一样,使用以下命令安装14版本的PostgreSQL:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql14-server
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
接下来修改配置文件:
vim /var/lib/pgsql/14/data/postgresql.conf
找到以下内容修改为:
listen_addresses = '*'
这意味着它监听所有的地址,或者你只想监听本机的地址,那么你可以将"*"替换成你自己的ip地址。 postgresql默认监听的端口是5432,如果你想修改,将“#port = 5432”注释取消并修改为你想要的端口。
接着修改"/var/lib/pgsql/14/data/pg_hba.conf"认证配置文件。
vim /var/lib/pgsql/14/data/pg_hba.conf
在文件最后,修改IPv4下面的
host all all 0.0.0.0/0 md5
如果你使用的 IPv6,那你应该修改对应下面的这行。
运行并设置开机启动:
systemctl start pgsql-14
systemctl enable pgsql-14
安装 PostgreSQL 时,会为数据库服务器创建一个超级用户postgres,但它没有密码。以 root 身份使用以下命令设置密码,在这种情况下不要忘记“sudo”,因为您实际上想以另一个用户身份运行该命令。
sudo -u postgres psql
现在你应该在“postgres=#”提示符下。使用以下命令设置 postgres 用户的密码:
ALTER USER postgres PASSWORD 'your-new-password';
如果密码设置成功,服务器应该响应“ALTER ROLE”。
创建数据库
由于我们将使用 PostfixAdmin 来管理用户和域,因此我们需要为其创建一个用户和一个数据库。为了方便,我们将创建名为postfix的用户和数据库。以下命令将创建用户和用户密码:
CREATE USER postfix WITH password 'YOUR_PASSWORD';
创建数据库并将权限赋予角色:
CREATE DATABASE postfix ENCODING 'utf8';
GRANT ALL privileges ON DATABASE postfix TO postfix;
重启服务:
systemctl restart pgsql-14
使用以下命令退出:
\q
记住,你必须在服务器上打开的你5432