前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在CentOS 6上安装DavMail

如何在CentOS 6上安装DavMail

原创
作者头像
丰一川
发布2018-07-27 15:25:34
1.2K0
发布2018-07-27 15:25:34
举报
文章被收录于专栏:云计算教程系列

介绍

如果您的工作场所或学校使用Microsoft Exchange发送电子邮件,您可能希望从不支持Exchange协议的电子邮件客户端访问您的Exchange电子邮件帐户。DavMail提供了一种解决方案,将Microsoft Exchange转换为开放协议,如POP,IMAP,SMTP,Caldav,Carddav和LDAP。如果需要直接使用邮箱服务的话,可以使用腾讯云提供的企业邮箱(EXMAIL),这个是为企业量身订造的一套办公用邮箱系统。

安装

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

代码语言:txt
复制
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:

代码语言:txt
复制
sudo yum install davmail

您必须安装一个额外的软件包,以便init脚本正常运行:

代码语言:txt
复制
sudo yum install redhat-lsb-core

基本配置

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

代码语言:txt
复制
sudo nano /etc/davmail.properties

将DavMail设置为服务器模式,然后就可以不需要X11:

代码语言:txt
复制
davmail.server=true

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

代码语言:txt
复制
davmail.allowRemote=true
davmail.bindAddress=

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

代码语言:txt
复制
davmail.url=https://yourcompany.com/owa

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

代码语言:txt
复制
davmail.imapPort=993
davmail.smtpPort=465

保存并关闭配置文件。

创建SSL证书

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

使用OpenSSL生成RSA密钥:

代码语言:txt
复制
sudo openssl genrsa -out /etc/pki/tls/private/davmail.key 2048

确保密钥由root用户持有,并且权限设置正确:

代码语言:txt
复制
sudo chown root:root /etc/pki/tls/private/davmail.key
sudo chmod 600 /etc/pki/tls/private/davmail.key

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

代码语言:txt
复制
sudo openssl req -new -key /etc/pki/tls/private/davmail.key -out /etc/pki/tls/certs/davmail.csr

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

代码语言:txt
复制
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参数设置过期日期:

代码语言:txt
复制
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结合使用:

代码语言:txt
复制
sudo cat /etc/pki/tls/private/davmail.key /etc/pki/tls/certs/davmail.crt > /etc/pki/tls/certs/davmail.pem

再一次,设置权限,以便只有root用户才能访问密钥文件:

代码语言:txt
复制
sudo chown root:root /etc/pki/tls/certs/davmail.pem
sudo chmod 600 /etc/pki/tls/certs/davmail.pem

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

代码语言:txt
复制
openssl pkcs12 -export -in /etc/pki/tls/certs/davmail.pem -out /etc/pki/tls/certs/davmail.p12 -name “davmail”

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

设置权限:

代码语言:txt
复制
sudo chown root:root /etc/pki/tls/certs/davmail.pem
sudo chmod 600 /etc/pki/tls/certs/davmail.pem

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

代码语言:txt
复制
sudo nano /etc/davmail.properties

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

代码语言:txt
复制
davmail.ssl.keystoreType=PKCS12
davmail.ssl.keystoreFile=/etc/pki/tls/certs/davmail.p12
davmail.ssl.keyPass=password
davmail.ssl.keystorePass=password

启动DavMail

由于Linux系统的工作方式,我们使用的端口(993和465)需要root权限才能打开。这意味着DavMail必须以root身份运行。默认情况下,随DavMail程序包一起提供的init脚本启动Davmail作为“davmail”用户,并且无法启动我们的配置。这可以通过对init脚本的一个小调整来修复。

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

代码语言:txt
复制
sudo cp /etc/init.d/davmail /etc/init.d/davmail-root

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

代码语言:txt
复制
sudo nano /etc/init.d/davmail-root

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

代码语言:txt
复制
[...]
su - root -s /bin/sh -c "exec nohup $DAVMAIL_HOME/davmail $DAVMAIL_CONF >> $LOGFILE 2>&1 &"
[...]

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

代码语言:txt
复制
service davmail-root start

最后,配置DavMail以开机自启:

代码语言:txt
复制
chkconfig davmail-root on

客户端配置

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

您现在应该能够使用Microsoft Exchange电子邮件帐户发送/接收电子邮件啦!


参考文献:《How To Setup DavMail on CentOS 6》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 安装
  • 基本配置
  • 创建SSL证书
  • 配置SSL
  • 启动DavMail
  • 客户端配置
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档