场景:
业务系统需要操纵:每个用户的通讯录,日程安排,并及时同步到用户的手机上。
解决方案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
添加:
mail
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了。。