在CentOS Stream 8和CentOS Stream 9上安装opendkim的步骤(临时)
以下是在CentOS Stream 8、CentOS Stream 9上安装opendkim-2.11的步骤。
由于无法找到正确的安装配置方法的文档,因此以下步骤是根据尝试和错误得出的结果,请不要过分依赖。
另外,由于省略了每个配置文件的内容,请参考软件文档和其他专家的信息。
2023年6月添加更多内容
启用CRB存储库
按照这个步骤,将从CRB仓库中安装libmilter和libmemcached,具体如下:
确认 CentOS Stream 9 中已启用的软件库。
# dnf repolist --all
・・・
crb CentOS Stream 9 - CRB disabled
・・・
激活CRB存储库。
# dnf config-manager --set-enabled crb
# dnf repolist --all
・・・
crb CentOS Stream 9 - CRB enabled
・・・
只要确认在/etc/yum.repos.d/centos.repo中添加了CRB存储库的设置,就可以了。
然后,使用dnf命令安装opendkim和opendkim-tools。
dnf --enablerepo=epel install opendkim opendkim-tools
前提条件
-
- postfix がインストールされていること
- dnfコマンドがEPELリポジトリを参照できること
1.安装opendkim
# dnf --enablerepo=epel install opendkim opendkim-tools
如果不安装opendkim-tools,opendkim-keygen命令将无法安装。
另外,对于CentOS Stream 9,
・・・
Error:
Problem: conflicting requests
- nothing provides libmilter.so.1.0()(64bit) needed by opendkim-2.11.0-0.28.el9.x86_64
- nothing provides libmemcached.so.11()(64bit) needed by opendkim-2.11.0-0.28.el9.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
在安装opendkim时发现需要libmilter.so.1.0和libmemcached.so.11。请在网站pkg.org上找到适当的rpm包并下载安装。
# cd /usr/local/src
# wget http://mirror.stream.centos.org/9-stream/CRB/x86_64/os/Packages/sendmail-milter-8.16.1-10.el9.x86_64.rpm
# dnf install sendmail-milter-8.16.1-10.el9.x86_64.rpm
# wget http://mirror.stream.centos.org/9-stream/CRB/x86_64/os/Packages/libmemcached-awesome-1.1.0-12.el9.x86_64.rpm
# dnf install libmemcached-awesome-1.1.0-12.el9.x86_64.rpm
我认为 CentOS Stream 8、9 特有的问题就是以上所述。从第二步开始,应该和其他平台的步骤相同。
2. 配置opendkim
创建密钥文件(公钥和私钥),并且更改权限以便opendkim服务能够读取。如果忘记更改权限,opendkim服务启动时会出现权限错误。
# mkdir /etc/opendkim/keys/xxxxxx
# opendkim-genkey --directory=/etc/opendkim/keys/xxxxxx --domain=xxxxxx -s yyyyyy
# chown opendkim:opendkim -R /etc/opendkim/keys/xxxxxx
根据每个网站的设置调整配置文件。
# vi /etc/opendkim/KeyTable
# vi /etc/opendkim/SigningTable
# vi /etc/sysconfig/opendkim
# cp /etc/opendkim.conf /etc/opendkim.conf.org
# vi /etc/opendkim.conf
3.后缀设置
# vi /etc/postfix/main.cf
末尾に追加
milter_default_action = accept
non_smtpd_milters = $smtpd_milters
smtpd_milters = inet:127.0.0.1:8891
在中文中,这句话可以这样表达:「4. 启动 opendkim 服务并在操作系统启动时启用它,重新启动 postfix。」
# systemctl start opendkim
# systemctl enable opendkim
# systemctl restart postfix
五.DNS的设置
根据创建的公钥yyyyyy.txt的内容添加DNS记录。但不能直接注册,需要进行适当的修正,如双引号的匹配。
# cat /etc/opendkim/keys/xxxxxx/yyyyyy.txt
我們還添加了一個名為_adsp._domainkey的記錄。
ADSP(Author Domain Signing Practice)似乎是用於在發送方公開指示如何處理DKIM驗證結果的政策,在此只是提到。
dkim=unknown
办理了。
此外,您可以使用以下类似的检查器来验证是否正确设置了DKIM的DNS。
https://mxtoolbox.com/dkim.aspx
尝试向Gmail地址发送电子邮件。
邮件头部的 Authentication-Results: 包含了
dkim=pass
我认为只要得到这个便好。
以上 -> 这上面 (zhè