场景:
业务系统需要操纵:每个用户的通讯录,日程安排,并及时同步到用户的手机上。
解决方案1:gmail及其API,被墙。
解决方案2:自己搭exchange server, 25用户,60K+,太贵
解决方案3:自己搭open source 的 类似exchange server 的东西。
于是百度,bing, 偶尔google. 找到了zimbra, yahoo的,后又转卖给了vmware。据说很NB的样子。
www.zimbra.com
有两个版本: Network Edition, OpenSource Edition.
NWE版本2个月试用。然后收费。
OSE版本免费,但是不支持手机同步(安装后,才知道!),有网友自己做了兼容ActiveSync的服务端。Z-push。
太不爽,pass/ 接着搜索,,找到了 Kolab , 慕尼黑的市政府都在用它,以德国人的严谨,应该不会差。
文档看似齐全,但在安装,配置的几个关键点上,要么一笔带过,要么版本老旧。一番折腾,终于搞定,记录下来,以后备用。
安装环境: ubuntu server 12.04 64bit
一: 内网使用,安装DNS。 假定域名是 :xxx.com , 邮件服务器的主机名是: mail , 邮件服务器的二级域名是: mail.xxx.com, 内网IP 是 192.168.88.6
1.1 编辑 /etc/hosts :
添加:
192.168.88.6 mail.xxx.com mail
1.2 编辑 /etc/hostname
添加:
1.3 sudo nano /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 192.168.88.6 netmask 255.255.255.0 gateway 192.168.88.254 # 根据你的内网,设置 dns-nameservers 192.168.88.6 dns-search xxx.com
1.4 编辑 resolv.conf, 但是ubuntu中的的rersolv.conf 会被自动覆盖。网上说如下即可 :
sudo nano /etc/resolvconf/resolv.conf.d/base
search xxx.com nameserver 192.168.88.6 #根据你的实际环境 nameserver 192.168.88.254 # 根据你的实际环境 nameserver 112.124.47.27
1.5 安装 bind9 DNS
sudo apt-get install bind9
1.6 sudo nano /etc/bind/named.conf.local
// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; zone "xxx.com" IN { type master; file "/etc/bind/db.xxx.com"; allow-update {none;}; }; zone "88.168.192.in-addr-arpa" IN { type master; file "/etc/bind/db.88.168.192.in-addr-arpa"; allow-update {none;}; };
1.7 sudo nano /etc/bind/db.xxx.com
$TTL 86400 @ IN SOA xxx.com. admin.xxx.com. ( 42 ; serial(d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D) ; mininum @ IN NS mail.xxx.com. @ IN MX 10 mail.xxx.com. mail IN A 192.168.88.6注意域名最后的点号!!
1.8 sudo nano /etc/bind/db.99.168.192.in-addr.arpa
$TTL 86400 @ IN SOA xxx.com. admin.xxx.com. ( 42 ; serial(d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D) ; mininum @ IN NS mail.xxx.com. @ IN MX 10 mail.xxx.com. 6 IN PTR mail.xxx.com.
安装完毕。最好reboot一下。。
二 。安装 kolab.
按以下步骤即可:
http://docs.kolab.org/installation-guide/ubuntu.html
在文中的第二步,需要在
apt-key add -
前加 sudo
三。 配置 kolab
3.1 sudo setup-kolab
需要你设置一堆的密码。建议统一用一个。
唯一需要注意的是: 在设置ldap的用户名和组时输入: dirsrv 作为用户名和组,而不是网上说的nobody.
3.2 设置完毕登陆邮箱管理。
http://mail.xxx.com/kolab-webadmin/
用户名: cn=Directory Manager #没错,就这个!
密码:你自己在 setup-kolab里设置过的。
在这里可以新建邮箱用户,,给用户赋予角色等等,。,。
3.3 查看kolab-syncroton 是否正确安装:
访问: http://mail.xxx.com/Microsoft-Server-ActiveSync
提示输入用户名,密码,用3.2步新建的邮箱用户登陆,即可。
给出一下提示:
It works! Your userid is: X and your IP address is: x.x.x.x.
但是,我在安装时,访问该网址,网页白屏,,什么都没有,查看: /var/log/apache2/error.log.
报错: ZendLog找不到,之类的,对php不熟。网上找的解决方案:
sudo nano /usr/share/kolab-syncroton/lib/init.php
在37行,即最后一个 $include_path之前,添加:
$include_path .= '/usr/share/php/libzend-framework-php' . PATH_SEPARATOR;
即可!
3.4 配置手机同步。
3.4.1: 选择exchange方式。
3.4.2: EAS服务器: mail.xxx.com
3.4.3: 端口 80
3.4.4:SSL : NO!
3.4.5: 其他的用户名,密码,就是常规设置即可。
到此,全部OK。。
可以自己随意折腾了,,不用怕gmail消失,也不用再等国内的企业邮箱,提供联系人,日程 API了。。