专栏首页云计算教程系列如何在CentOS 6上安装DavMail
原创

如何在CentOS 6上安装DavMail

介绍

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

安装

在CentOS 6上安装DavMail需要添加第三方存储库。下载.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

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

davmail.allowRemote=true
davmail.bindAddress=

在Outlook Web App / Outlook Web Access URL设置davmail.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,它应设置为您的电子邮件客户端将访问的域名或IP地址(例如davmail.mydomain.com或123.123.123.123)。只需按Enter即可将其他字段保留为默认值,或者可以填写任何字段:

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

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

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

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

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

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

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

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

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

service davmail-root start

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

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》

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在Ubuntu 16.04上安装Puppet 4

    Puppet是一种配置管理工具,可帮助系统管理员自动化服务器基础架构的准备、配置和管理。提前规划并使用Puppet等配置管理工具可以减少重复基本任务所花费的时间...

    丰一川
  • 如何在Ubuntu 16.04上安装和使用PostgreSQL

    关系数据库管理系统是许多网站和应用程序的关键组件。它们提供了一种存储,组织和访问信息的结构化方法。

    丰一川
  • 如何在Debian 9上为用户目录设置vsftpd

    FTP是文件传输协议的缩写,是一种曾经广泛用于在客户端和服务器之间移动文件的网络协议。它已被更快,更安全,更方便的文件传输方式所取代。很多休闲互联网用户希望直接...

    丰一川
  • 时序数据库InfluxDB基本概念小结

    InfluxDB作为时序数据库,与传统的关系型数据库相比而言,还是有一些区别的,下面尽量以简单明了的方式介绍下相关的术语概念

    一灰灰blog
  • AJP纵向研究:抑郁儿童脑发育与快感缺乏及其青春期物质依赖风险的联系

    用户1279583
  • 网红直播时的瘦脸、磨皮等美颜功能是如何实现的?

    随着移动设备的发展,美颜已成为多媒体内容生成链路中不可缺少的一种基本能力,尤其是在来疯直播秀场业务的场景下,主播的颜值就意味着生产力,直接影响主播及平台的收入。

    AI科技大本营
  • 【CDAS 2017】电商大数据分论坛:大数据引领电商营销

    作者 CDA 数据分析师 前言 2017年7月29日,由CDA数据分析师主办,以“跨界互联 数据未来”为主题的CDAS 2017第四届中国数据分析师行业峰会...

    CDA数据分析师
  • 【干货】如何打造高质量的NLP数据集

    无论是做研究还是解决业务问题,做数据集都是绕不开的问题。很多刚入行的同学觉得发布一个数据集是最容易灌水的了,燃鹅如果你真的做过就会发现,随意产生一个数据集很容易...

    zenRRan
  • 关于二进制世界的秘密

    我们都知道,计算机的底层都是使用二进制数据进行数据流传输的,那么为什么会使用二进制表示计算机呢?或者说,什么是二进制数呢?在拓展一步,如何使用二进制进行加减乘除...

    纯洁的微笑
  • 锦囊篇|Java中的SPI机制

    Service Provider Interface翻译成中文就是服务提供接口,简称SPI,它是JDK内置的一种机制,用途就是本地服务发现和提供。

    ClericYi

扫码关注云+社区

领取腾讯云代金券