如何在Debian 10上使用ISPConfig安装电子邮件服务器

如何在Debian 10上使用ISPConfig安装电子邮件服务器

本教程以单个服务器设置为例。在Debian 10.0,Buster上安装了ISPConfig 3.1(实际的服务器安装请参见ISPConfig Perfect Server安装教程),本指南的目的是向您展示安装初始版本后的步骤。服务器来为您自己的域名设置一个正常工作的邮件系统。在测试本教程期间,我将ISPConfig升级到3.1.15。

需要什么

要成功将本教程用于正常工作的电子邮件服务器,您需要

  • 安装ISPConfig(和操作系统)的主机
  • 我建议2 GB内存和4 GB交换空间,对于邮件服务器来说应该足够了。
  • 主机必须通过端口25打开Internet连接
  • 主机具有固定的IP地址
  • 主机的IP地址必须具有A记录(如果使用IPv6,则必须为AAAA)
  • 您必须创建 MX 记录到主机的DNS名称服务
  • 您必须获得主机反向DNS名称服务 PTR 与主机FQDN匹配的记录

内存要求适用于SPAM筛选器。如果有4 GB交换,则即使运行SPAM筛选器,也可以使用1 GB内存来避免出现内存不足的情况。

开放端口

邮件服务器的入站和出站端口必须同时打开25。在该主机上设置电子邮件服务器之前,请确保主机确实打开了该端口。

有一些方法可以使电子邮件即使在端口25未打开的情况下也能正常工作,但是它涉及到通过端口25已打开的另一台主机发送电子邮件。在该另一台主机上安装电子邮件服务器可能更有意义并就电子邮件而言完全忘记了第一个。

DNS名称服务条目

邮件服务器需要一个FQDN,完全合格的域名(有关详细信息,请参阅Wikipedia: 全称在此示例中,域名为taleman.ovh。为表明邮件服务器主机名不必为mail,我们使用posti作为主机名,因此FQDN为posti.taleman.ovh。

该主机安装在服务提供商系统上,它们提供注册域,名称服务和反向名称服务。

IP地址是178.33.154.66。我做了以下工作:

  • 注册了域名taleman.ovh
  • 将此IP地址作为A记录添加到名称为posti.taleman.ovh的DNS名称服务中
  • 为域taleman.ovh添加了MX记录,其值为posti.taleman.ovh
  • 为该IP地址添加了反向名称服务PTR记录,指向posti.taleman.ovh

MX记录是为电子邮件域创建的。因此,我为taleman.ovh创建了该记录,它指向posti.taleman.ovh,这是接收该域电子邮件的电子邮件服务器。

反向名称服务

从名称服务教程中阅读有关反向名称服务的信息。在本示例中,反向名称服务必须返回posti.taleman.ovh。

我的服务提供商在添加相应的PTR之前检查了A记录的存在,在发现这就是为什么添加失败之前,我遇到了一个问题。

测试名称服务

现在最好测试名称服务,因为如果名称服务设置不正确,则发送和接收电子邮件将无法正常工作。如果您的工作站是Windows而不是Linux或Unix,请使用nslookup命令而不是host。

$ host taleman.ovh taleman.ovh has address 188.165.143.5 taleman.ovh mail is handled by 10 posti.taleman.ovh.

上面的结果表明域名确实具有关联的IP编号(在这种情况下,该名称与电子邮件服务器的IP编号不同,但不影响电子邮件),并且有一个指向的MX记录posti.taleman.ovh。“邮件由…处理”部分来自MX记录。如果要发送到@ taleman.ovh地址的电子邮件要在posti.taleman.ovh上接收,则需要此MX记录。

然后检查邮件服务器FQDN的名称服务条目(在本例中为posti.taleman.fi)是否为A记录,并指向正确的IP号。

$ dig posti.taleman.ovh |grep "ANSWER SECTION" --after-context=3 ;; ANSWER SECTION: posti.taleman.ovh. 3600 IN A 178.33.154.66 ;; Query time: 56 msec

最后检查反向名称服务将IP编号解析回邮件服务器的FQDN。

$ host 178.33.154.66 66.154.33.178.in-addr.arpa domain name pointer posti.taleman.ovh.

您可以使用测试名称服务的网页来代替托管和挖掘命令。 进入DNSMXToolbox

如果无法使上述测试成功,则可以尝试此“设置名称服务”教程。

安装操作系统

我使用Debian版本10 Buster,所以我遵循此教程:

https://www.howtoforge.com/tutorial/debian-10-buster-minimal-server/

用您的值替换IP地址,主机名和域名。

由于本教程是用英语编写的,因此我选择英语作为语言,但选择芬兰作为国家,将United_Kingdom en_GB.UTF-8作为语言环境设置。

[email protected]:/tmp# cat /etc/debian_version 10.0
[email protected]:~# locale LANG=en_GB.UTF-8 LANGUAGE=en_GB:en LC_CTYPE="en_GB.UTF-8" LC_NUMERIC="en_GB.UTF-8" LC_TIME="en_GB.UTF-8" LC_COLLATE="en_GB.UTF-8" LC_MONETARY="en_GB.UTF-8" LC_MESSAGES="en_GB.UTF-8" LC_PAPER="en_GB.UTF-8" LC_NAME="en_GB.UTF-8" LC_ADDRESS="en_GB.UTF-8" LC_TELEPHONE="en_GB.UTF-8" LC_MEASUREMENT="en_GB.UTF-8" LC_IDENTIFICATION="en_GB.UTF-8" LC_ALL=[email protected]:~# cat /etc/timezone Europe/Helsinki

验证您是否正确设置了主机名。如果主机名错误,邮件系统配置ISPConfig将无法正常工作。

[email protected]:~# hostname posti[email protected]:~# hostname -f posti.taleman.ovh[email protected]:~#

安装ISPConfig

我选择将Apache安装为Web服务器,因此对于Debian Buster,请遵循《 Perfect Server指南》。

我在主机上安装了openssh-server并使用ssh密钥设置了root登录,因此可以直接以root身份ssh到主机。 使用OpenSSH进行无密码登录使用SSH保护无密码登录

[email protected]:/tmp# free -h

我更喜欢Emacs样式编辑器而不是nano,因此现在安装jed可以使编辑文件更加愉快。

安装完操作系统后,我已经正确设置了/ etc / host和/ etc / hostname,因此我只是根据《 Perfect Server Guide》验证了它们的正确性。请注意主机名和FQDN,如果您弄乱了它们会在可以修复您的电子邮件服务器,但可以从头开始更正它。

[email protected]:/tmp# hostname posti[email protected]:/tmp# hostname -f posti.taleman.ovh

对于其余的内容,我仅遵循《 Perfect Server指南》。请注意,您通常可以将指南中的命令剪切并粘贴到命令行。

我没有安装Mailman,也不打算在此主机上使用Mailman。此外,我省略了安装BIND DNS服务器,Webalizer,AWStats的步骤。我确实安装了Roundcube Webmail,因为此主机成为了电子邮件服务器。

在第18章(安装PHPMyAdmin数据库管理工具)中,我使用了命令

/usr/bin/apg -m 32 -x 32

生成32个字符长的河豚秘密。

使用系统

创建电子邮件域和邮箱

现在,我以管理员身份登录ISPConfig并

  • 新增客户
  • 添加新域(电子邮件域!),然后填写表格
  • 添加新邮箱

创建DKIM密钥并单击图像中编号顺序的按钮进行记录。 维基百科

在ISPConfig中创建邮件域

图1:创建邮件域

然后等待两分钟,或者直到ISPConfig面板上部的红色小球消失。

作为第一个测试,请使用上面创建的邮箱登录到Roundcube Webmail,然后将电子邮件发送到该地址.ISPConfig将欢迎消息发送到每个创建的邮箱,因此应该已经有一封邮件了。使用“撰写”按钮和编写简短的测试消息。

RoundCube登录

图2:Roundcube Webmail

在Roundcube中发送电子邮件

图3:从Roundcube发送

该消息应很快出现在邮箱中。

然后测试将电子邮件发送到您拥有的其他邮箱,并检查邮件是否到达该邮箱。下一次测试,您可以从其他地方发送到上面创建的邮箱。

请注意,如果为邮箱启用了灰名单功能,则从服务器外部发送的电子邮件不会立即到达邮箱。但是,您应该立即在尝试发送的邮件日志条目中看到该邮件,到达您的服务器。文件/var/log/mail.log中的灰名单条目看起来像这样:

Aug 29 19:08:42 posti postfix/smtpd[16911]: NOQUEUE: reject: 
  RCPT from mta-out1.inet.fi[62.71.2.194]: 450 4.2.0 
  <[email protected]>: Recipient address rejected: Greylisted, 
  see http://postgrey.schweikert.ch/help/taleman.ovh.html; 
  from=<****@*****.***> to=<[email protected]> proto=ESMTP 
  helo=<******.****.***>

您可以在这样的终端窗口中监视邮件日志,例如:

tail -f /var/log/mail.log

或者,如果仅对“灰名单”条目感兴趣,请使用以下命令:

tail -f /var/log/mail.log | grep Greylisted

grep Greylisted /var/log/mail.log

灰名单仅延迟从同一发件人到同一收件人的第一封电子邮件。一旦收到第一封电子邮件,随后的电子邮件将毫无延迟地到达。

就我而言,一切都一开始就可以正常工作,这表明《 ISPConfig完美服务器指南》确实有效。

连接电子邮件客户端

以Thunderbird为例,其他邮件客户端应用程序的工作方式与此类似。

ISPConfig使帐户名成为电子邮件地址。

雷鸟帐户设置

图4:雷鸟帐户设置

雷鸟服务器设置

图5:Thunderbird服务器设置

连接安全性STARTTLS表示连接不受保护,然后开始加密,如果双方都支持加密,则SSL / TSL表示会话从一开始就被加密。SSL/ TSL可能更安全,因此请尝试使用客户端。

雷鸟外发邮件服务器

图6:Thunderbird传出服务器设置

使用SPF

从阅读有关发件人策略框架的信息 维基百科SPF最初是Sender Permitted From(发件人允许发件人)的缩写,在记住SPF的含义之后,您可以自己创建记录,检查您的名称服务提供商是否可以生成SPF记录,或者使用Internet搜索引擎

SPF wizard

找到一个为您创建SPF名称服务记录的网站,然后将该记录剪切并粘贴到您的名称服务中。添加TXT记录,或者在某些DNS系统上添加SPF记录。

像这样检查名称服务中SPF的外观

$ dig taleman.ovh -t TXT | grep spf taleman.ovh. 3000 IN TXT "v=spf1 mx ~all"

或像这样:

$ dig +short taleman.ovh TXT "v=spf1 mx ~all" "1|www.taleman.ovh"

使用DKIM

从阅读有关DomainKeys标识的邮件 维基百科.ISPConfig在创建电子邮件域时为您创建了DKIM密钥(如果您记得选中DKIM框)。将作为公钥的DNS记录剪切并粘贴到您的名称服务中,作为TXT记录。您可以使用名称服务提供商。提供了一个使创建DKIM记录更容易的工具。请保留DKIM私钥秘密。

检查DKIM在名称服务中的外观,如下所示:

$ host -t txt default._domainkey.taleman.ovh. default._domainkey.taleman.ovh descriptive text "v=DKIM1;h=sha256;s=*;p=MIIB(I cut long string shorter)0rp" "sTGLXyK(cut shorter)B;t=s;"

如果是ISPConfig创建了DKIM密钥,则将私钥复制到amavis设置中的正确位置。

有网站 mail-tester.com 转到该网站,它会提供一个电子邮件地址,然后您从服务器发送一封电子邮件,然后请稍等片刻,然后再次检查该网站。

创建证书

ISPConfig可以创建自签名证书,除非您选择不创建,否则这些签名是在ISPConfig安装期间创建的。即使您创建了这些自签名证书,也最好创建适合浏览器,电子邮件程序和其他电子邮件的证书。服务器信任。

有一个很好的教程:使用免费的“让我们加密SSL证书”保护ISPConfig的安全

在学习完该教程之后,我注意到创建的网站显示了Debian默认网页,直到为该网站创建LE证书为止。此外,ISPConfig面板也很奇怪,因为它具有自签名证书,现在有了这个新证书或根本没有证书。在浏览器中刷新页面可以解决此问题。

设置证书后,在浏览器中输入服务器的https地址。单击浏览器地址栏左侧的图标,再用鼠标左键,即可显示证书信息。

转到ISPConfig面板的“系统”选项卡,“接口主配置”和“邮件”选项卡。

Use SSL/TLS encrypted connection for SMTP

到SSL。

可以使用网站上的工具对证书进行进一步的测试,将Internet搜索引擎与

ssl testing

这些工具通常会测试网站,当测试电子邮件服务器所拥有的证书时,会使用

ssl testing mail server

ISPConfig Roundcube插件

这些插件对Webmail用户有用。例如,它们允许在Roundcube中更改电子邮件密码。一些其他设置也可以在Roundcube中进行修改。它们都可以在ISPConfig面板中进行修改,但是某些电子邮件用户可能不想使用面板。

我在Debian 9上使用教程ISPConfig 3 Roundcube插件安装了ISPConfig Rouncube插件。该教程在Debian 10 Buster上可以正常使用,只是现在ispconfig3_account / config / config.inc.php还有一行:

$config['soap_validate_cert'] = true;

由于可以在本教程的前一章中正确设置并测试了证书,因此可以保持true值。但是,如果主机没有有效的证书,请将此设置更改为false。

我有一个问题。帐户部分中的某些项目弹出错误消息

An error occurred.
Soap Error: The login is not allowed from 

我通过在远程访问上打勾并为我按照教程创建的那个rcmail远程用户写posti.taleman.ovh来解决了这个问题。看起来教程是错误的,不需要在“远程访问”上打勾。单个服务器设置和带有单独电子邮件服务器的ISPConfig多服务器设置。

进一步使用

现在您可以创建另一个电子邮件域。记住要为该域创建MX记录,并将其指向您的电子邮件服务器。您可以对创建的所有电子邮件域使用相同的电子邮件服务器。通常这样做,因为为每个电子邮件域创建单独的电子邮件服务器将是非常浪费的。

故障排除

按照本教程,我全新设置的电子邮件服务器可以正常工作。如果您的电子邮件服务器不起作用,请检查您是否已遵循本教程,并且没有跳过某些步骤。

阅读论坛已表明,使主机名和主机名-f设置错误和/或文件/etc/postfix/main.cf中的错误是导致电子邮件服务器无法正常工作的常见方法。

如果您怀疑DNS名称服务出现问题,请使用ISPConfig -tutorial检查DNS问题。有一些用于检查DNS的网站工具,例如todns.com,dnschecker.com,mxtoolbox.com。

如果未收到或未发送电子邮件,则后缀将执行这些功能,并将它们记录到/var/log/mail.log。

tail -f /var/log/mail.log | grep postfix to see what happens when mail is being received or sent.

如果在与电子邮件客户端(例如,Thunderbird)连接时遇到问题,请使用此命令查看发生的情况:

tail -f /var/log/mail.log | grep dovecot

万一特定的电子邮件有问题,您可以使用该电子邮件的ID查找邮件日志条目,例如:

Sep 23 14:19:34 posti postfix/smtps/smtpd[10260]: A9F2880C76:
client=dsl-tkubng21-58c1ce-191.dhcp.inet.fi[99.99.99.99],
sasl_method=PLAIN, [email protected]

该电子邮件的ID为A9F2880C76。您可以使用以下命令查找该电子邮件的日志条目

# grep A9F2880C76 /var/log/mail.log

mailq命令显示后缀延迟队列中的电子邮件,即那些尚未传递的电子邮件,通常有一些最近的条目在那儿,电子邮件不能总是立即传递。您可以看到内容这些使用队列ID的电子邮件,例如:

# postcat /var/spool/postfix/deferred/A/A9F2880C76

Howtoforge有ISPConfig论坛,可在此处寻求建议。

Source

Sidebar