CentOS 7.0下安装Zimbra 8.5简单步骤及故障排查

以前曾经发过一篇《CentOS 6.0下安装Zimbra简单步骤及故障排查》的博文,Zimbra 8.5也已经发布到Beta3版本了,也可以在CentOS7下进行安装,下面简要叙述一下Zimbra 8.5在CentOS7上安装的简单步骤和可能存在的问题。

最小化安装CentOS 7.0。

yum -y install perl sysstat file openssh-clients nc sudo libaio perl-Digest perl-Sys-Syslog perl-Digest-MD5
cd /usr/lib/
ln -s /usr/lib64/libstdc++.so.6 .

通过visudo编辑/etc/sudoers文件,注释

#Defaults    requiretty

如果不注释这行,安装过程会提示:sudo: sorry, you must have a tty to run sudo
停止系统自带的MTA服务:

systemctl disable postfix.service
systemctl stop postfix.service

否则后台显示mta服务不正常。
运行

./install.sh --platform-override

进行安装,注意域名服务的配合。

如果多服务器安装:
1、记得以root身份运行:
/opt/zimbra/libexec/zmsyslogsetup
配置系统的syslog,将日志送到远程的log server。
2、以zimbra身份运行:
zmupdateauthkeys
PS:
1、如果没有安装file,在MTA会提示:“parts_decode_ext FAILED: Unix utility file(1) not available”导致邮件无法正常收发。
2、如果不安装nc,则会导致zimconfigd无法启动,提示“zmconfigd is not running”。
3、CentOS 6让rsyslogd接收远程的syslog,修改/etc/sysconfig/rsyslog文件,改成:SYSLOGD_OPTIONS=”-c 2 -r514″
4、如果系统所有组件不是安装在一台机器上,记得一定配置好zimbra-logger所在主机的rsyslog,否则管理界面将无法监控到其他服务器的运行状态。
5、libaio不安装会导致mysql无法启动,安装脚本不提示错误。
6、CentOS 7使用的nc是Nmap-netcat,在zmconfigctl脚本中使用nc -w 15 localhost 7171检查状态,nc默认使用::1这个回环地址,但是监听的是127.0.0.1,所以在hosts中注释::1即可,否则zmconfigd的状态始终是not running。

Funtoo下升级RabbitMQ至3.3.0后不定期crash

最近Funtoo系统的RabbitMQ版本升级至3.3.0,同时ErLang版本也升级到了17.0版本,升级后发现RabbitMQ不定期自动退出,且日志上没有任何提示,经过各种试验(包含重新初始化数据库),最终发现是由于ErLang升级至17.0导致的。

具体现象:对于重负载的系统,crash的频率较高,对于访问较小的系统,几乎不会crash。

解决办法:

1、在/etc/portage/package.mask文件中增加:

>=dev-lang/erlang-17.0

2、重新安装ErLang即可

emerge erlang

3、重启RabbitMQ即可,再也不会crash了。

Funtoo升级到dev-db/mariadb-5.5.37-r1后无法启动

由于新版本的启动脚本没处理好/var/run/mysqld目录问题,重启系统后run目录被清空,导致MariaDB在启动的时候无法创建mysqld.socket和mysqld.pid文件,所以MariaDB无法启动,直至连接超时。

解决办法:
1、在/etc/conf.d/mysql文件最后增加

[ -d /var/run/mysqld ] || mkdir /var/run/mysqld && chown mysql /var/run/mysqld

2、创建/etc/tmpfiles.d/目录,在目录下增加mysqld.conf文件,内容如下:

d       /var/run/mysqld 0755 mysql mysql - -

不过刚刚看到dev-db/mysql-init-scripts脚本有升级,不知道是否有解决这个问题

沈阳和平区换驾驶证步骤

驾驶证快过期,需要重新换领新驾驶证,由于不开车,所以对各个交警支队的服务内容也不了解,在网上搜索了一些相关的信息,写的都不是很全,特别是最后一项,去哪里换证,都是用一句:去就近的交警大队就可以了。可能对于那些经常开车的人来说,有这句话已经足够了,但是对我来说,似乎有点摸不着门。 继续阅读

Linux内核原生支持IPv6 NAT了

自从Linux内核3.7.0发布以来已经有一段时间了,这个内核的一大亮点(对我来说)就是支持IPv6 NAT了,虽然IPv6地址很多,为了保证端到端的特性,IPv6一直不推荐使用NAT技术,NAT技术在大家的记忆中似乎永远都是解决IP地址紧缺而产生的一个产物。

虽说NAT是在IPv4地址紧缺的环境中出现的一个折中方案,IPv4依赖NAT技术,在互联网这个历史长河中又多漂流了N个春秋,但是,大家在工作中、生活中已经无意识的接受了这种不被IPv6设计者看到的NAT技术,在现实中,有很多的设备是不需要有端到端需求的,这些设备仅仅是需要有访问互联网的需求而已,如果这些设备在NAT后面,那么对这些设备的安全配置就可以简化很多,不必担心来自互联网发起的攻击、扫描等攻击行为。对于运营商来说,无需去关心每个家庭需要分配多少个IP地址才够用。这些应该可以说是NAT的优势吧。

当然,Linux内核已经支持IPv6 NAT,这就充分说明了NAT在大家心里的地位,似乎在一些Linux发行版中也有使用3.7.0以上版本内核的,因此,只要内核版本符合要求,应该是可以支持IPv6 NAT的。

如果你熟悉IPv4 NAT,那么对于IPv6的NAT也不会陌生,命令几乎是完全一样的:

Test-funtoo ~ # uname -a
Linux Test-funtoo 3.9.0-gentoo #1 SMP Fri May 3 22:47:49 CST 2013 x86_64 Intel(R) Xeon(R) CPU E5645 @ 2.40GHz GenuineIntel GNU/Linux
Test-funtoo ~ # ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Test-funtoo ~ # ip6tables-save
# Generated by ip6tables-save v1.4.18 on Wed May 15 22:00:03 2013
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed May 15 22:00:03 2013

当然和IPv4一样,需要先打开系统的转发功能。

Client subnet in DNS requests

draft-vandergaast-edns-client-subnet-01

http://tools.ietf.org/html/draft-vandergaast-edns-client-subnet-01

效果:

test-gentoo dig # ./dig @8.8.8.8 0.pool.ntp.org +client=202.118.0.200

; <<>> DiG 9.7.3 <<>> @8.8.8.8 0.pool.ntp.org +client=202.118.0.200
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36594
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; CLIENT-SUBNET: 202.118.0.200/32/16
;; QUESTION SECTION:
;0.pool.ntp.org.                        IN      A

;; ANSWER SECTION:
0.pool.ntp.org.         144     IN      A       202.112.29.82
0.pool.ntp.org.         144     IN      A       202.112.31.197

;; Query time: 54 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Apr 25 13:26:14 2013
;; MSG SIZE  rcvd: 87

test-gentoo dig # ./dig @8.8.8.8 0.pool.ntp.org +client=74.220.215.104

; <<>> DiG 9.7.3 <<>> @8.8.8.8 0.pool.ntp.org +client=74.220.215.104
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2097
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; CLIENT-SUBNET: 74.220.215.104/32/18
;; QUESTION SECTION:
;0.pool.ntp.org.                        IN      A

;; ANSWER SECTION:
0.pool.ntp.org.         150     IN      A       192.155.93.101
0.pool.ntp.org.         150     IN      A       205.233.73.201
0.pool.ntp.org.         150     IN      A       149.20.68.17
0.pool.ntp.org.         150     IN      A       64.251.10.152

;; Query time: 102 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Apr 25 13:26:41 2013
;; MSG SIZE  rcvd: 119

Zimbra系统如何查看用户的限额及使用量

登录系统后台:

“管理”-“域名”-选择帐户所在的域名-“邮箱磁盘容量限制”

8.0.7是在“主页”-“配置”-“域名”-用户所在域名-“邮箱磁盘容量限制”

在这个地方就可以列出该域名下所有用户的限额及使用量。

如何查看Zimbra系统用户的邮件

在Zimbra 8.0以后,在后台的 “管理”-“帐户”后看不到系统的帐号,如:spam.xxxx、ham.xxxxx及virus-quarantine.xxxx帐号,所以无法通过后台查看这些帐号的邮件了。

新版本的Zimbra将这些特殊帐号移到别的地方显示了:

“配置”-“域名”-系统用户所在的域名-“相关”-“帐户”

在这就可以看到这些帐户了。