如何在CentOS6上设置DavMail

来自菜鸟教程
跳转至:导航、​搜索

状态:已弃用

本文介绍了不再受支持的 CentOS 版本。 如果您目前正在运行运行 CentOS 6 的服务器,我们强烈建议您升级或迁移到受支持的 CentOS 版本。

原因CentOS 6 已于 2020 年 11 月 30 日结束生命周期 (EOL) ,不再接收安全补丁或更新。 因此,不再维护本指南。

请参阅:本指南可能仍可用作参考,但可能不适用于其他 CentOS 版本。 如果可用,我们强烈建议使用为您正在使用的 CentOS 版本编写的指南。


介绍


如果您的工作场所或学校将 Microsoft Exchange 用于电子邮件,您可能希望从不支持 Exchange 协议的电子邮件客户端访问您的 Exchange 电子邮件帐户。 DavMail 提供了一种解决方案,将 Microsoft Exchange 转换为开放协议,如 POP、IMAP、SMTP、Caldav、Carddav 和 LDAP。

安装


在 CentOS 6 上安装 DavMail 需要添加第 3 方存储库。 下载 .repo 文件并更新您的 yum 缓存:

sudo curl -o /etc/yum.repos.d/home:marcindulak.repo http://download.opensuse.org/repositories/home:/marcindulak/CentOS_CentOS-6/home:marcindulak.repo
sudo yum update

然后,使用 yum 安装 DavMail:

sudo yum install davmail

您将必须安装一个附加包,以便包含的 init 脚本正常运行:

sudo yum install redhat-lsb-core

基本配置


DavMail 的配置文件位于 /etc/davmail.properties。 在您喜欢的文本编辑器中打开它:

sudo nano /etc/davmail.properties

将 DavMail 设置为服务器模式,这样就不需要 X11:

davmail.server=true

启用远程模式并将绑定地址设置为您的 Droplet 的 IP 地址或将其设置为空白:

davmail.allowRemote=true
davmail.bindAddress=

davmail.url 设置为您的 Outlook Web App/Outlook Web Access URL,通常以 /owa 结尾:

davmail.url=https://yourcompany.com/owa 

DavMail 使用的默认端口是非标准的,您可能希望更改它们以简化设置电子邮件客户端的过程。 要将 DavMail 配置为使用 SSL 加密的 IMAP 和 SMTP 的默认端口,请更改 davmail.imapPortdavmail.smtpPort 选项:

davmail.imapPort=993
davmail.smtpPort=465

保存并关闭配置文件。

创建 SSL 证书


为了启用 SSL 加密,您将需要 PEM 格式的 SSL 证书和 SSL 私钥。 如果您从证书颁发机构购买了证书,那么您应该已经拥有证书和密钥。 如果是这样,请继续下面的配置 SSL 部分。 否则,您可以按照以下步骤生成自签名证书。

使用 OpenSSL 生成 RSA 密钥:

sudo openssl genrsa -out /etc/pki/tls/private/davmail.key 2048

确保密钥归 root 所有并且权限设置正确:

sudo chown root:root /etc/pki/tls/private/davmail.key
sudo chmod 600 /etc/pki/tls/private/davmail.key

现在,创建一个证书签名请求:

sudo openssl req -new -key /etc/pki/tls/private/davmail.key -out /etc/pki/tls/certs/davmail.csr

OpenSSL 现在会问你几个问题。 唯一重要的字段是 Common Name,应设置为您的电子邮件客户端将访问的 Droplet 的域名或 IP 地址(例如 davmail.mydomain.com 或 123.123.123.123 )。 其他字段可以通过按回车键保留默认值,也可以填写任何内容:

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:US
State or Province Name (full name) []:New York
Locality Name (eg, city) [Default City]:New York City
Organization Name (eg, company) [Default Company Ltd]:Lolcats United
Organizational Unit Name (eg, section) []:Keyboard Cat Department 
Common Name (eg, your name or your server's hostname) []:mydomain.com
Email Address []:me@mydomain.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

使用您的私钥签署证书请求,使用 -days 参数设置到期日期:

sudo openssl x509 -req -signkey /etc/pki/tls/private/davmail.key -in /etc/pki/tls/certs/davmail.csr -out /etc/pki/tls/certs/davmail.crt -days 365

通过上述设置,证书将在 365 天(一年)后过期。

您现在拥有自己的 SSL 证书!

配置 SSL


现在您有了 SSL 证书,您必须将其转换为 DavMail 可以理解的格式。 以下示例将使用我们上面生成的密钥和证书。 如果您从证书颁发机构购买了证书,则使用这些文件代替 davmail.keydavmail.crt

首先将您的证书和密钥文件与 cat 结合起来:

sudo cat /etc/pki/tls/private/davmail.key /etc/pki/tls/certs/davmail.crt > /etc/pki/tls/certs/davmail.pem

再次设置权限,以便只有 root 可以访问密钥文件:

sudo chown root:root /etc/pki/tls/certs/davmail.pem
sudo chmod 600 /etc/pki/tls/certs/davmail.pem

现在将您的组合密钥和证书转换为 pkcs12 文件:

openssl pkcs12 -export -in /etc/pki/tls/certs/davmail.pem -out /etc/pki/tls/certs/davmail.p12 -name “davmail”

系统将提示您输入导出密码。 这不能是空白! 您必须设置密码,否则 DavMail 将无法正常工作。

设置权限:

sudo chown root:root /etc/pki/tls/certs/davmail.pem
sudo chmod 600 /etc/pki/tls/certs/davmail.pem

现在再次打开您的 DavMail 配置:

sudo nano /etc/davmail.properties

添加以下配置选项以告知 DavMail 您刚刚生成的 pkcs12 文件的位置以及您设置的密码:

davmail.ssl.keystoreType=PKCS12
davmail.ssl.keystoreFile=/etc/pki/tls/certs/davmail.p12
davmail.ssl.keyPass=password
davmail.ssl.keystorePass=password

davmail.ssl.keyPassdavmail.ssl.keystorePass 应该具有相同的值。 保存配置文件。

启动 DavMail


由于 Linux 系统的工作方式,我们使用的端口(993 和 465)需要 root 访问权限才能打开。 这意味着 DavMail 必须以 root 身份运行。 默认情况下,DavMail 包附带的 init 脚本以“davmail”用户身份启动 Davmail,并且无法使用我们的配置启动。 这可以通过对初始化脚本的小调整来解决。

制作默认初始化脚本的副本:

sudo cp /etc/init.d/davmail /etc/init.d/davmail-root

在您喜欢的文本编辑器中打开副本:

sudo nano /etc/init.d/davmail-root

start() 函数中搜索以 su - davmail 开头的行,并将 davmail 替换为 root。 该行现在应该如下所示:

[...]
su - root -s /bin/sh -c "exec nohup $DAVMAIL_HOME/davmail $DAVMAIL_CONF >> $LOGFILE 2>&1 &"
[...]

保存并关闭文件。 使用修改后的初始化脚本启动 DavMail:

service davmail-root start

最后,将 DavMail 配置为在启动时启动:

chkconfig davmail-root on

客户端配置

现在虚拟服务器正在运行,您已准备好配置您的电子邮件客户端。 使用电子邮件客户端的“手动”选项创建一个新帐户。 IMAP 和 SMTP 服务器都将是您的 Droplet 的域名或 IP 地址,具体取决于您在 SSL 证书上用于公用名的内容。 IMAP 和 SMTP 的用户名都是您的电子邮件地址,没有域名。 示例:您的电子邮件是 bob@yourcompany.com,所以您的用户名是 bob。 确保 IMAP 和 SMTP 都设置为使用 SSL/TLS,并且 不是 * STARTTLS。

由于您使用的是自签名证书,您将收到来自您的电子邮件客户端的警告。 在这种情况下接受证书是安全,因为你是创建它的人。

DavMail 的网站 上提供了有关 Thunderbird、Mac OSX 和 iOS 的具体说明。

您现在应该能够使用开放技术使用您的 Microsoft Exchange 电子邮件帐户发送/接收电子邮件!

提交者:http: [[“%3Ca|//jtekrony.com]] [[“%3C/a|”>杰西·泰克罗尼]]