zimbra管理

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
运维安全中心(堡垒机),企业双擎版|50资产|一周时长
简介:

转载:http://yang2001.blog.51cto.com/25307/737808


vim /etc/hosts
---------------------------------
127.0.0.1       localhost.localdomain    localhost
192.168.9.34  mail.myweb.com      mail

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
---------------------------------

echo mail.myweb.com > /etc/hostname

reboot
hostname -f

mv /bin/sh /bin/shbk
ln -s /bin/bash /bin/sh

apt-get install curl fetchmail libpcre3 libgmp3c2 libexpat1 libxml2 libtie-ixhash-perl

apt-get install sysstat
下载 zimbra压缩包
./install.sh

su - zimbra
zmcontrol status

vim /etc/resolv.conf
-----------------------
nameserver 192.168.1.8
-----------------------

=====================================================
ZCS自己具有垃圾邮件防范功能/opt/zimbra/conf/spamassassin的规则

/opt/zimbra/conf/amavisd.conf.in 白名单
blacklist_from sales@traveloforange.com  黑名
whitelist_from *@yahoo.net   白名
zmmtactl restart && zmamavisdctl restart 重启

/opt/zimbra/conf/salocal.cf.in
blacklist_from sales@traveloforange.com  白
whitelist_from bill@yahoo.net   黑

不要自动投递到“垃圾邮件”而是收件箱
解决:
$ su - zimbra        //更换到zimbra用户

$ zmprov gacf |grep Header    //查询相关参数
zimbraSpamHeader: X-Spam-Flag
zimbraSpamHeaderValue: YES
zimbraSpamReportSenderHeader: X-Zimbra-Spam-Report-Sender
zimbraSpamReportTypeHeader: X-Zimbra-Spam-Report-Type


//更改相关参数
$ zmprov mcf zimbraSpamHeader X-Cloudmark-Verdict
$ zmprov mcf zimbraSpamHeaderValue spam      /////这行不要执行哦,什么原因,看下楼下老大的话

$ zmprov gacf |grep Header    //再查询相关参数,确认已经更改
zimbraSpamHeader: X-Cloudmark-Verdict
zimbraSpamHeaderValue: spam
zimbraSpamReportSenderHeader: X-Zimbra-Spam-Report-Sender
zimbraSpamReportTypeHeader: X-Zimbra-Spam-Report-Type

//重启相关服务
$ zmcontrol stop
$ zmcontrol start

--------------------------------------------------
/opt/zimbra/store  邮件存放路径
数据存储,位于/opt/zimbra/db 下的MySQL 数据库

索引存储,位于/opt/zimbra/index

日志文件,位于/opt/zimbra/log

创建单个用户 zmprov ca user@abc.com 123456

galsync@suisseplace.com
panyu@suisseplace.com
galsync@welocca.com
admin@welocca.com
duyuwei@welocca.com
wiki@welocca.com
spam.kond2yuxq@welocca.com
ham.k0wqda0mv9@welocca.com 这里是zimbra自带的重要帐号

zmprov -l gaa >>/tmp/account

for i in `cat /tmp/account`
do
zmprov da $i;
done    批量删除脚本


zimbra小技巧之批量添加用户

NAMELIST=`cat userlist.txt`
DOMAIN=email.com
PASSWD=111111
ZMPROV=/opt/zimbra/bin/zmprov
for NAME in $NAMELIST
do
$ZMPROV ca $NAME@$DOMAIN $PASSWD
done

userlist.txt格式如下:
name1
name2
-----------------------------------------------------------------------
CentOS 6.0下安装Zimbra简单步骤及故障排查
yum install perl sysstat file openssh-clients nc fprintd-pam libstdc++.i686 
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服务:
 
chkconfig postfix off

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

运行

./install.sh --platform-override

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

如果/var/log/secure提示错误信息

 
Sep 17 18:31:29 Zimbra-Mailbox-01 sudo:   zimbra : TTY=unknown ; PWD=/opt/zimbra ; USER=root ;COMMAND=/opt/zimbra/libexec/zmmailboxdmgr status
Sep 17 18:31:29 Zimbra-Mailbox-01 sudo: PAM unable to dlopen(/lib64/security/pam_fprintd.so): /lib64/security/pam_fprintd.so: cannot open shared object file: No such file or directory
Sep 17 18:31:29 Zimbra-Mailbox-01 sudo: PAM adding faulty module: /lib64/security/pam_fprintd.so

有两个解决办法:

1)、禁用fingerprint验证
 
authconfig --disablefingerprint --update

2)、安装frpintd-pam程序
 
yum install fprintd-pam

如果多服务器安装:
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”。: yum install nc.x86_64
3、CentOS 6让rsyslogd接收远程的syslog,修改/etc/sysconfig/rsyslog文件,改成:SYSLOGD_OPTIONS=”-c 2 -r514″
4、如果系统所有组件不是安装在一台机器上,记得一定配置好zimbra-logger所在主机的rsyslog,否则管理界面将无法监控到其他服务器的运行状态。

===========================================================
zmlocalconfig -e mailboxd_java_heap_memory_percent=20
===========================================================

 

/opt/zimbra/libexec/zmsetup.pl 从配置那里安装


zmlocalconfig -e  zimbra_zmjava_options=”-Xms128m -Xmx128m”
修改java 内存
/opt/zimbra/libexec/zmfixperms -extended -verbose  修复zimbra
chown zimbra:root -R /opt/zimbra/jetty/logs/

 

如果要换机器或者从32到64之类的,最保险就是用zmailbox做导入导出.

zmbkpose工具是一个脚本,可以用来完成开源版本的账号的数据的热备份和恢复。

注意:本工具不能找代替灾难恢复工具
你可以从任何一台主机上运行这个工具,也就是说它可运行在其它一台已经存在的备份主机上。

这个工具是在ZCS 5.0.12以后才有的,因为这个版本提供了新的导入、导出功能,可以通过HTTP SOAP从远程获取所有用户的数据,再加上LDAP数据,就构成了ZCS的完整备份。所以,利用这个工具有可能备份已经被删除的用户的数据。

zmbkpose 1.0提供了如下特性:
所有账号的完整备份
任意账号的完整备份
所有账号的增量备份
任意账号的增量备份
显示已对完成的备份记录
将备份内容(邮件、联系人、日程安排等)恢复到任意账号
恢复已删除账号的数据

要运行zmbkpose,以下条件是必须的:

安装 ldap-utils 和 curl
建立目录:/etc/zmbkpose
建立配置文件/etc/zmbkpose/zmbkpose.conf
建立一个脚本,并使之有可运行的权限
直接输入zmbkpose,会显示该工具的用法


在进行mbox邮件迁移到zimbra的时候,运行脚本时遇到了
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 的提示
用户的inbox的文件比较大,将近4G
zimbra_zmjava_options 参数,该参数应该是用于控制JVM使用内存大小。
用以下命令查了一下服务器的配置
zmlocalconfig | grep zimbra_zmjava_options发现该参数设定比较小,才256M
用以下命令修改该参数
zmlocalconfig -e zimbra_zmjava_options='-Xmx2048m'
修改后,重启zimbra
重新运行该脚本,脚本顺利运行,问题解决。


$ zmprov gaaa      //列出所有管理员
下面的命令将创建一个新的管理员账号,密码是test123:
zmprov ca testadmin@domain.com test123 zimbraIsAdminAccount TRUE

下面的命令将把一个已有的账号升级为管理员账号:
zmprov ma testadmin@domain.com zimbraIsAdminAccount TRUE

要改变密码:
zmprov sp testadmin@domain.com NEW_PASSWORD

ZIMBRA命令行方式常用的操作
将HTTP登陆方式更改为HTTP\HTTPS登陆方式
$ zmprov ms <servername> zimbraMailSSLPort <https port> (将HTTPS更改成非443端口)
$ zmtlsctl http\https
$ tomcat restart
 
smtp认证错误的解决
zmprov ms `zmhostname` zimbraMtaAuthHost mail.example.com
 
日志服务器错误的解决
$ zmprov getConfig zimbraLogHostname
$ zmprov modifyConfig zimbraLogHostname mail.domain.com
 
查看系统参数
可以通过zmlocalconfig -s命令查看系统的参数
$ postconf                                             //查看postfix的所有配置
$ zmlocalconfig                                        //查看各种组件的配置信息
$ zmlocalconfig -s|grep zimbra_ldap_userdn       //查看zimbra帐号在LDAP中的DN
$ zmlocalconfig -s|grep zimbra_ldap_userdn             //查看zimbra帐号在LDAP中的密码
$ zmlocalconfig -s|grep zimbra_mysql                   //查看mysql的配置信息
 
更改系统最大邮件大小:
查看最大系统邮件大小,显示当前系统最大邮件为10M。
$ postconf message_size_limit
message_size_limit = 10240000
将系统最大邮件大小更改为20M。
$ zmprov modifyConfig zimbraMtaMaxMessageSize 2048000
$ postfix reload
 
更改系统最大附件大小:
将系统中所有帐户允许最大的附件更改为5M
$ zmprov modifyConfig zimbraFileUploadMaxSize 5000000
将系统中mail2.domain.com帐户允许最大的附件更改为20M
$ zmprov modifyServer mail2.domain.com zimbraFileUploadMaxSize 20000000
 
更改LDAP密码:
$ ldap status(start)
$ zmldappasswd --root newpass (root)
$ zmldappasswd newpass         (zimbra)
 
更改MYSQL Database密码:
$ mysql.server status(start)
$ zmmypasswd --root newrootpass
$ zmmypasswd newpass
 
更改Logger MYSQL Database密码:
$ logmysql.server status(start)
$ zmmylogpasswd --root newrootpass  (root)
$ zmmylogpasswd newpass             (zimbra)
 
清空邮箱
$ zmmailbox -z -m rootking@myweb.com emptyFolder /[inbox][chats][sent][drafts][junk][trash]
inbox(收件箱)  chats(聊天)  snet(已发送邮件)  drafts(草稿箱)  junk(垃圾邮件)  trash(已删除邮件)
 
备份还原LDAP
1、备份LDAP(两个命令是相等的)
1)、ldapsearch -h 服务器对外的地址 -x -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码 objectclass=* > 201014.ldif
2)、ldapsearch -h 服务器对外的地址 -x -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码 > 201014.ldif
 
2、还原LDAP
ldapadd -h 服务器对外的地址 -x -c -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码 < 20101214.ldif
 
导出导入用户的邮件
#!/bin/bash
while read  USER
do
TODAY=`date`
LOGFILE="/tmp/bak/backuplog.txt"
echo $TODAY  >> $LOGFILE
echo $USER >> $LOGFILE
/opt/zimbra/bin/zmmailbox -z -m $USER gms >> $LOGFILE
zmmailbox -z -m $USER@test.com getRestURL "//?fmt=tgz" > /tmp/bak/$USER.tgz
done < /tmp/user.txt
 
PS:user.txt里是用户名,不需要跟域名
 
恢复用户的邮件
zmmailbox -z -m $USER@test.com postRestURL "//?fmt=tgz&resolve=reset" tmp/bak/$USER.tgz
 
Zimbra之黑名单、白名单
由于zimbra采用ClamAV 做防病毒软件和SpamAssassin 做反垃圾邮件过滤器,但在WEB控制台中ClamAV+SpamAssassin只有6个调节选项。所以如果要想详细的调节防病毒、反垃圾邮件的功能只有更改相应的配置文件了。
例如调节SpamAssassin的配置文件实现黑名单、白名单的功能。
编辑/opt/zimbra/conf/amavisd.conf.in
寻找下列段落,然后加上你要信任的域:
{ # a hash-type lookup table (associative array)
    'nobody@cert.org'                        => -3.0,
    'cert-advisory@us-cert.gov'              => -3.0,
    'owner-alert@iss.net'                    => -3.0,
    'slashdot@slashdot.org'                  => -3.0,
    'bugtraq@securityfocus.com'              => -3.0,
    'ntbugtraq@listserv.ntbugtraq.com'       => -3.0,
    'security-alerts@linuxsecurity.com'      => -3.0,
-10就是无条件信任了,相反+10就是无条件阻挡了。然后存盘,
$ su zimbra
$ zmamavisdctl stop
$ zmamavisdctl start


一、Zimbra 建立黑名单、白名单

很可惜目前似乎还没有 GUI 设置界面,所需的设置如下:

1. 修改 /opt/zimbra/conf/amavisd.conf,加入以下2行

read_hash(\%whitelist_sender, '/opt/zimbra/conf/whitelist');read_hash(\%blacklist_sender,'/opt/zimbra/conf/blacklist');

2. 在 /opt/zimbra/conf 目录建立 blacklist、whitelist 2个档案,档案内每一行放一个 email address。

3. 以 zimbra 身份,执行以下指令重新启动 antispam 模组/opt/zimbra/bin/zmamavisdctl restart

二、Zimbra证书过期的解决

但是今天邮件客户端突然提示证书过期,原来安装zimbra的时候自己签发的证书有效期是365天,也就是1年。虽然过期证书不影响正常使用,但提示还是比较烦人,于是在网上查资料,重新签发了一个证书,而且有效期10年。命令如下:

/opt/zimbra/bin/zmcertmgr createca -new
/opt/zimbra/bin/zmcertmgr deployca
/opt/zimbra/bin/zmcertmgr createcrt -new -days 3650
/opt/zimbra/bin/zmcertmgr deploycrt self
/opt/zimbra/bin/zmcertmgr viewdeployedcrt

三、Zimbra domain 状态变更为 suspend 后无法删除

zmprov -l md <被 suspend 的 domain> zimbraDomainStatus active

完成后执行以下指令查看状态是否正确

zmprov -l gd <被 suspend 的 domain>

这时候以 administrator 登入就可以正常刪除 domain 了

 

http://opengeek.cn/thread-610-1-1.html
http://yang2001.blog.51cto.com/25307/634394
http://saicho.blog.163.com/blog/static/4793566420111104325999/
====================================================================================================
Hear is what I did. Commands are in Italics.

1) Stop the Zimbra server, ensure all  Zimbra process, this works well after zmcontrol :-
# zmcontrol stop
# pkill -9 -u zimbra

2) Tar up /opt/zimbra , ensure you grab all permissions.
# tar -zcvpf zimbra-migration.tgz /opt/zimbra

3) On the new server to a &ldquo;Software Only Install&rdquo;. Ensure you are using the same install tarball as the old server install!
# ./install.sh -s

4) Remove everything in /opt/zimbra
# cd /opt/zimbra
# rm -rf *

5) Untar the backup we made into /opt/zimbra :-
# cd/opt
# tar -zxvf zimbra-migration.tgz .

6) Find the PID of the zimbra user  in /etc/passwd then update the localconf.xml with the new PID :-
Look for the &ldquo;zimbra_uid&rdquo; section
# vim /opt/zimbra/conf/localconf.xml

6) Fix the permissions I had to fix one addition folder to:-
Run the zimbra tool first.
# /opt/zimbra/libexec/zmfixperms &ndash;extended -verbose
I also had to fix this:-
# chown zimbra:root -R /opt/zimbra/jetty/logs/

7)  Start up zimbra the normal way and check the logs
# su &ndash; zimbra
# zmcontrol start
All logs are in &ldquo;/opt/zimbra/log/&rdquo;  main ones are &ldquo;mailbox.log&rdquo; &ldquo;zmconfigd.log&rdquo; but check them all!

8) Last thing is to update the allowed relay hosts, otherwise  you get this error &ldquo;554 5.7.1 : Relay access denied
code: mail.SEND_ABORTED_ADDRESS_FAILURE&rdquo; :-
Where &ldquo;MYHOST.COM&rdquo; is your host name  and&rdquo; xxx.xxx.xxx.xx/32&Prime; is your servers IP
# zmprov modifyServer MYHOST.COM zimbraMtaMyNetworks &rsquo;127.0.0.0/8 xxx.xxx.xxx.xxx/32

====================================================================================================
操作系统:CentOS-5.5
zimbra版本:zcs-7.1.1_GA

一、准备备份。
在开始之前,确保你登录的用户可以执行这里列出的任务。
在不可预见的情况下备份您的zimbra始终是一个很好的做法。在备份期间,为了阻止对zimbra数据库的写入你需要执行:[zimbra@www ~]$ zmcontrol stop
在不确定关于zimbra的进程是否都关闭的情况下,执行:[zimbra@www ~]# ps auxww | grep zimbra
如有,则把该进程杀掉。
二、备份。
确保存放备份数据的地方足够大以用来存放数据。
由于zimbra需要的所有组件都存储在zimbra它自己的文件夹中,所以你可以简单的把这个文件夹备份到一个安全的地方,执行:[zimbra@www ~]# cp -rp /opt/zimbra [location of backup]/zimbra_backup 
这个过程会花费一些时间,这取决于你的硬盘和zimbra文件夹中的数据量。
三、恢复。
在恢复之前你应该确保与zimbra损坏或者失败有关的所有程序需要被终止掉。未能终止所有的进程可能产生可怕的结果。
(1)把zimbra文件夹重命名
执行:[zimbra@www ~]# mv /opt/zimbra /opt/zimbra_broken 
为了安装你也可以把它彻底地一处/opt文件夹。之后,把zimbra的备份数据拷贝到/opt文件夹下面。[zimbra@www ~]# cp -rp [location of backup]/zimbra_backup /opt 
[zimbra@www ~]# mv /opt/zimbra_backup /opt/zimbra 
(2)下载一个zimbra
我们需要知道你用的zimbra的版本号。如果你不知道它的版本号,你可以执行以下步骤来找到它。[zimbra@www ~]# cd /opt/zimbra
[zimbra@www ~]# cat .install_history
在输出的最下边有你上次安装的记录,如下:1314016745: INSTALL SESSION START

1314016784: UPGRADED zimbra-core-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016788: UPGRADED zimbra-ldap-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016790: UPGRADED zimbra-logger-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016811: UPGRADED zimbra-mta-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016820: UPGRADED zimbra-snmp-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016892: UPGRADED zimbra-store-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016899: UPGRADED zimbra-apache-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016907: UPGRADED zimbra-spell-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016907: INSTALL SESSION COMPLETE
(3)安装zimbra
解压:[zimbra@www ~]# tar -xvzf [name of file].tgz

[zimbra@www ~]# mv [name of file] zcs

[zimbra@www ~]# cd zcs

[zimbra@www ~]# ./install.sh --platform-override
警告:不要执行./install.sh -u,它会清除所有的备份数据。
如果一切顺利,你可以看到:The Zimbra Collaboration Suite appears already to be installed.

It can be upgraded with no effect on existing accounts,

or the current installation can be completely removed prior

to installation for a clean install.

Do you wish to upgrade? [Y] 
这会清除已经存在的软件包,并重新安装一遍。
(4)重设权限
如果服务已经启动且正在运行,你也许会遇到一个需要克服的障碍:权限。
你需要在存储邮件的地方重新设置权限,通过:[zimbra@www ~]# chown -R zimbra:zimbra /opt/zimbra/store

[zimbra@www ~]# chown -R zimbra.zimbra /opt/zimbra/index 
并且通过root用户执行:[zimbra@www ~]# /opt/zimbra/libexec/zmfixperms
 

-------------------------
Zimbra开源版在未被你破解之前只支持冷备份(至于如何破解,不好意思,本人也不会哈哈),个人建议可从以下几步进行备份和恢复操作:
Step One:停止zimbra邮件系统服务;
Step Two:创建zimbra备份文件夹,同步zimbra邮件系统数据(如果恢复至原先发生故障的服务器时,建议采用rsync命令,加-avHK参数,这样保持了文件的原有属性及权限,不会由此引发问题);
Step Three:启动zimbra邮件系统服务;
突然ZCS服务器当机,但OS系统正常,只需要将zimbra卸载(至于如何较干净的卸载,可以参看http://wiki.zimbra.com/wiki/UnInstalling_Zimbra_on_Linux),重装zimbra。
Step Four:停止zimbra邮件系统服务;
Step Five:恢复邮件到备份前状态(此时执行rsync时加-a --delete参数);
Step Six:启动zimbra邮件系统服务。

至于服务器崩溃,需要将以前的/opt/zimbra/备份出来的数据迁移至新的服务器或将服务器修好后重新装系统后重新迁移回去,这情况恢复时就要chown -R和/opt/zimbra/libexec/zmfixperms操作了。对于ZCS6及以上的版本,./install.sh会有预安装的选项,看看help进行操作,不需要完整的ZCS安装,预安装后将原/opt/zimbra/复制过去,然后进行chown -R和/opt/zimbra/libexec/zmfixperms操作,重启ZCS服务就OK了。

注意:不管是备份后的恢复还是备份后的迁移最好是保证软件环境相同,即OS平台相同,ZCS版本相同,IP地址不曾改变,hostname及zmhostname名相同及其他的配置文件相同。但如果对Linux系统内核及ZCS非常熟悉且熟悉得非常时,不排除跨OS平台跨ZCS版本外加32bit Switch 64bit的成功迁移

http://opengeek.cn/forum.php?mod=viewthread&tid=868&highlight=%E5%A4%87%E4%BB%BD




      本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1702535,如需转载请自行联系原作者




相关文章
|
网络协议 数据安全/隐私保护 Linux
|
存储 安全 关系型数据库
|
关系型数据库 数据安全/隐私保护
|
关系型数据库 MySQL 数据安全/隐私保护