Zimbra郵件服務器管理手冊(2)

vim /etc/hosts
---------------------------------
127.0.0.1       localhost.localdomain    localhost
192.168.9.34  mail.ej5800.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.ej5800.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 [email protected]  黑名
whitelist_from *@yahoo.net   白名
zmmtactl restart && zmamavisdctl restart 重啓

/opt/zimbra/conf/salocal.cf.in
blacklist_from [email protected]  白
whitelist_from [email protected]   黑

不要自動投遞到“垃圾郵件”而是收件箱
解決:
$ 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 [email protected] 123456

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected] 這裏是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 [email protected] test123 zimbraIsAdminAccount TRUE

下面的命令將把一個已有的賬號升級爲管理員賬號:
zmprov ma [email protected] zimbraIsAdminAccount TRUE

要改變密碼:
zmprov sp [email protected] 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 [email protected] 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 [email protected] getRestURL "//?fmt=tgz" > /tmp/bak/$USER.tgz
done < /tmp/user.txt
 
PS:user.txt裏是用戶名,不需要跟域名
 
恢復用戶的郵件
zmmailbox -z -m [email protected] 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)
    '[email protected]'                        => -3.0,
    '[email protected]'              => -3.0,
    '[email protected]'                    => -3.0,
    '[email protected]'                  => -3.0,
    '[email protected]'              => -3.0,
    '[email protected]'       => -3.0,
    '[email protected]'      => -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 “Software Only Install”. 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 “zimbra_uid” 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 –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 – zimbra
# zmcontrol start
All logs are in “/opt/zimbra/log/”  main ones are “mailbox.log” “zmconfigd.log” but check them all!

8) Last thing is to update the allowed relay hosts, otherwise  you get this error “554 5.7.1 : Relay access denied
code: mail.SEND_ABORTED_ADDRESS_FAILURE” :-
Where “MYHOST.COM” is your host name  and” xxx.xxx.xxx.xx/32″ is your servers IP
# zmprov modifyServer MYHOST.COM zimbraMtaMyNetworks ’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的成功遷移

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章