- Подробности
- Опубликовано 05.11.2012 22:36
Почтовый сервер поднятый на Zimbra Collaboration Suite прост в эксплуатации и в обновление. Разработчики заботятся о своем продукте и они постарались в настройке и отладке обновления до упрощения. Обновление Zimbra займет всего 10 минут в зависимости от производительности вашего сервера.
Недавно столкнулся с проблемой, что Gmail попал в черный список DNSBL. ORG, который я использую для проверки на спам в Zimbra. Чтобы исправить эту ситуацию необходимо:
‘gmail.com’ => -10.0,
4. Сохраняем файл и перезапускаем антиспам командой:
zmamavisdctl stop && zmamavisdctl start
- Блокировка почтовых доменов в Zimbra
- RRD tool time offset (Zimbra 8.8 and above)
- Шпаргалка по Zimbra
- Основные команды
- Запуск/перезапуск
- Перезапуск postfix (например, если правили конфиг)
- Информация о почтовом ящике
- Переиндексировать ящик
- Посчитать количество писем в Inbox (getAllFolders)
- Если в логах сообщения со словами NO_SUCH_BLOB
- Работа с аккаунтом galsync
- Узнать аккаунт (user account) по номеру ящика (MailboxId)
- Апдейт правил spamassasin
- Очистка ящиков от удаленных писем
- Популярные сообщения из этого блога
- Добавление домена в белый список антиспама Zimbra
- Горячие клавиши в mcedit (Midnight Commander)
- Просмотр почтовых логов в Zimbra. Утилита zmmsgtrace.
- Процесс обновления Zimbra.
- Подготовка к обновлению Zimbra.
Блокировка почтовых доменов в Zimbra
Бывает так, что антиспам пропускает письма с ненужным содержанием и никакого желания кроме как заблокировать домен отправителя не возникает. Делается все довольно просто.
Опишу некоторые средства диагностики почтового сервера на ZIMBRA CS.
/opt/zimbra/libexec/zmfixperms -extended -verbose — скрипт исправляющий права на системные папки и файлы ZImbra.
zmcontrol status — Проверка запущенных сервисов Zimbra
postfix check — проверка MTA агента (Postfix).
/var/log/zimbra.log — системные сообщения. Сообщения MTA, postfix, amavisd.
Дополнительные логи (/opt/zimbra/log/):
Очистка всех сообщений из очереди (при спам атаках):
* выполняется от root. Все сообщения в очереди будут удалены. осторожно!
- Подробности
- Опубликовано 20.06.2013 20:39
Почтовый сервер Zimbra
состоит из служб. Запущенные службы можно посмотреть через веб интерфейс или консоль на сервере. Но если служба не запущен или необходимо его перезагрузить, то не надо перезагружать весь сервер. Рассмотрим пример перезапуска службы amavisd.
Все модули можно увидеть набрав в консоле сервера команду и увидеть:
# service zimbra status
Host mail.it-article.ru
antispam Running
antivirus Running
ldap Running
logger Running
mailbox Running
mta Running
opendkim Running
snmp Running
spell Running
stats Running
zmconfigd Running
Или через Веб-интерфейс » Монитор
» — » Состояние сервера
«.
Почтовый сервер запущен под пользователем zimbra
и все манипуляции также необходимо делать под данным пользователем, таккак все службы работают из под данного пользователя, служба amavisd не исключение. Для перезапуска amavisd службы необходимо зайти под пользователем zimbra.
[aleksey@mail ~]$ sudo su
[sudo] password for aleksey:
[root@mail aleksey]# su zimbra
[zimbra@mail aleksey]$ /opt/zimbra/bin/zmamavisdctl restart
Stopping amavisd. done.
Starting amavisd.done.
[zimbra@mail aleksey]$ /opt/zimbra/bin/zmamavisdctl status
amavisd is running.
[zimbra@mail aleksey]$
Zimbra have an old problem with its monitoring page. You might see all stopped status on Server Status page even when all Services are running.

To fix this issue:
1) Check the permissions of /var/spool/cron/zimbra
file. It should be owned by zimbra and should be 600. If not please run:
chown zimbra:zimbra /var/spool/cron/zimbra
chmod 600 /var/spool/cron/zimbra
Wait for 30 minutes for any change to take effect.
If the above doesn’t fix your problem,
3) Then restart zmstatctl service
zmstatctl restart
4) Run the status logger manually:
/opt/zimbra/libexec/zmstatuslog
Again, wait for 30 minutes for any change to take effect.
Monitor server status for couple of hours to make sure that the status hasn’t changed back.
RRD tool time offset (Zimbra 8.8 and above)
Another issue that might cause the zimbra server status to fail could be because of RRD tool time offset. R RD is now being used in the latest ZCS versions to display the graphical output under Zimbra Monitor. This issue can come if for some reason the timezone or time of the zimbra host machine is changed after the installation of zimbra.
To verify the rrd time offset you should get this error message in '/opt/zimbra/log/zmlogswatch.out'
illegal attempt to update using time <EpocTime> when last update time is <EpocTime>
This happens because RRD tool does not have the permission to update time in the database where it is storing the logs.
An easy fix that works for me is to remove all the RRD db files so that it can be regenerated
zmcontrol start|stop|restart|status Перезапуск postfix (например, если правили конфиг)
zmmtactl reload postfix reload Информация о почтовом ящике
zmprov getMailboxInfo sharre@diamondplatinumrealty.com zmprov reIndexMailbox valynkin .pavel@propertyminder.com start|status|stop Посчитать количество писем в Inbox (getAllFolders)
zmmailbox -z -m system@propertyminder.com gaf | grep Inbox | awk '{print $4}' Если в логах сообщения со словами NO_SUCH_BLOB
то это значит, что произошло рассогласование между метаданными ящика и физическими файлами с письмами. Ну т.е. в метаданных есть ссылки на письма, а по факту файлов уже нет. Устраняется путем перестроения метаданных на основе существующих файлов с письмами в ящике.
Для того, что бы найти ящики, у которых проблема:
grep -B2 NO_SUCH_BLOB /opt/zimbra/log/mailbox.lo* |grep mailbox= |sed -r 's/.*mailbox=([0-9]*).*$/\1/' |sort -u zmblobchk --mailboxes 6919 --export-dir /tmp --missing-blob-delete-item start|status|stop
zmblobchk --mailboxes 4600 --export-dir /tmp/3 --missing-blob-delete-item --unexpected-blob-list /tmp/3/blob-list start Работа с аккаунтом galsync
Информация об источниках данных (getDataSources)
zmprov gds galsync@vpstest.ru Удалить аккаунт galsync
zmgsautil deleteAccount -a galsync@vpstest.ru su - zimbra
mysql
use zimbra;
select comment from mailbox where id=257;
+----------------------+
| comment |
+----------------------+
| user@domain.com |
+----------------------+
1 row in set (0.00 sec) zimbramon /bin/sa-update Очистка ящиков от удаленных писем
Зимбра производит операцию purge_mailbox только для тех ящиков, которые находятся в момент выполнения операции в памяти (т.е. к ним кто то законнечен). По этому для редко используемых ящиков очистка не срабатвает. В ручном режиме:
Получаем ZimbraID ящика
zmprov -l ga letterbackup@propertyminder.com zimbraId Загружаем ящик в память выполнив пустую операцию
zmmailbox -z -m letterbackup@propertyminder.com noOp zmsoap -v -z PurgeMessagesRequest/mbox @id=1ab5cf73-b393-4ae0-9723-05ee92131980 [zimbra@mail ~]$ zmprov -l ga letterbackup@propertyminder.com zimbraId # name letterbackup@propertyminder.com zimbraId: 1ab5cf73-b393-4ae0-9723-05ee92131980
[zimbra@mail ~]$ zmmailbox -z -m letterbackup@propertyminder.com noOp
[zimbra@mail ~]$ zmsoap -v -z PurgeMessagesRequest/mbox @id=1ab5cf73-b393-4ae0-9723-05ee92131980 <PurgeMessagesRequest xmlns="urn:zimbraAdmin"> <mbox id="1ab5cf73-b393-4ae0-9723-05ee92131980"/> </PurgeMessagesRequest> <PurgeMessagesResponse xmlns="urn:zimbraAdmin"> <mbox id="1ab5cf73-b393-4ae0-9723-05ee92131980" mbxid="6867" s="3030290"/> </PurgeMessagesResponse> Можно пройтись по всем ящикам вот таким скриптом purge-all.sh:
#!/bin/bash
# purge-all.sh
# run as user zimbra
# $ ./purge-all.sh
# or crontab monthly/weekly
# 0 1 1 * * /usr/local/bin/purge-all.sh
# config
TMPDIR="/var/tmp"
LOGDIR="/opt/zimbra/log"
SLEEP=10
if [ "$USER" != "zimbra" ]; then echo "Error: Must be run as user zimbra" exit 1
fi
DATE="`date '+%Y%m%d-%H%M%S'`"
exec >> $LOGDIR/purgeall-$DATE.log
echo "`date`: START $0"
zmprov -l gaa -s `zmhostname` > $TMPDIR/purgeall-list.out
for MYUSER in `cat $TMPDIR/purgeall-list.out`
do echo "`date`: Starting user: $MYUSER" ACCOUNT_ID="`zmprov -l ga $MYUSER zimbraId | awk '/^zimbraId:/ {print $2}'`" if [ -n "$ACCOUNT_ID" ]; then zmmailbox -z -m $MYUSER noOp && \ zmsoap -v -z PurgeMessagesRequest/mbox @id=$ACCOUNT_ID if [ $? = 0 ]; then echo "`date`: Finished user: $MYUSER" else echo "`date`: Error: $MYUSER" fi fi sleep $SLEEP
done
echo "`date`: END $0"
exit 0 Спецзаказ перевозка цветов в Верхних Кигах Служба доставки среди цветов
.
Шпаргалка по Zimbra
Основные команды
Вообще все выполняется от пользователя zimbra!!!
т.е. сперва всегда su — zimbra
Запуск/перезапуск
zmcontrol start|stop|restart|status
Перезапуск postfix (например, если правили конфиг)
Информация о почтовом ящике
zmprov getMailboxInfo sharre@diamondplatinumrealty.com
Переиндексировать ящик
zmprov reIndexMailbox valynkin .pavel@propertyminder.com start|status|stop
Посчитать количество писем в Inbox (getAllFolders)
zmmailbox -z -m system@propertyminder.com gaf | grep Inbox | awk '{print $4}' Если в логах сообщения со словами NO_SUCH_BLOB
то это значит, что произошло рассогласование между метаданными ящика и физическими файлами с письмами. Ну т.е. в метаданных есть ссылки на письма, а по факту файлов уже нет. Устраняется путем перестроения метаданных на основе существующих файлов с письмами в ящике.
Для того, что бы найти ящики, у которых проблема:
grep -B2 NO_SUCH_BLOB /opt/zimbra/log/mailbox.lo* |grep mailbox= |sed -r 's/.*mailbox=([0-9]*).*$/\1/' |sort -u
zmblobchk --mailboxes 6919 --export-dir /tmp --missing-blob-delete-item start|status|stop zmblobchk --mailboxes 4600 --export-dir /tmp/3 --missing-blob-delete-item --unexpected-blob-list /tmp/3/blob-list start
Работа с аккаунтом galsync
Информация об источниках данных (getDataSources)
zmprov gds galsync@vpstest.ru
Удалить аккаунт galsync
zmgsautil deleteAccount -a galsync@vpstest.ru
Узнать аккаунт (user account) по номеру ящика (MailboxId)
su - zimbra mysql use zimbra; select comment from mailbox where id=257; +----------------------+ | comment | +----------------------+ | user@domain.com | +----------------------+ 1 row in set (0.00 sec)
Апдейт правил spamassasin
Очистка ящиков от удаленных писем
Зимбра производит операцию purge_mailbox только для тех ящиков, которые находятся в момент выполнения операции в памяти (т.е. к ним кто то законнечен). По этому для редко используемых ящиков очистка не срабатвает. В ручном режиме:
Получаем ZimbraID ящика
zmprov -l ga letterbackup@propertyminder.com zimbraId
Загружаем ящик в память выполнив пустую операцию
zmmailbox -z -m letterbackup@propertyminder.com noOp
zmsoap -v -z PurgeMessagesRequest/mbox @id=1ab5cf73-b393-4ae0-9723-05ee92131980
[zimbra@mail ~]$ zmprov -l ga letterbackup@propertyminder.com zimbraId # name letterbackup@propertyminder.com zimbraId: 1ab5cf73-b393-4ae0-9723-05ee92131980 [zimbra@mail ~]$ zmmailbox -z -m letterbackup@propertyminder.com noOp [zimbra@mail ~]$ zmsoap -v -z PurgeMessagesRequest/mbox @id=1ab5cf73-b393-4ae0-9723-05ee92131980
Можно пройтись по всем ящикам вот таким скриптом purge-all.sh:
Популярные сообщения из этого блога
Добавление домена в белый список антиспама Zimbra
Горячие клавиши в mcedit (Midnight Commander)
Горячие клавиши Midnight Commander Ctrl+k — Удалить часть строки до конца строки Ctrl+s — Включить или выключить подсветку синтаксиса Ctrl+u — Отменить действия F3 — Начать выделение текста. Повторное нажатие F3 закончит выделение Shift+F3 — Начать выделение блока текста. Повторное нажатие F3 закончит выделение F5 — Скопировать выделенный текст F6 — Переместить выделенный текст F8 — Удалить выделенный текст Meta+i — Переключение режима «Автовыравнивание возвратом каретки», удобно при вставке отформатированного текста из буфера обмена Meta+l — Переход к строке по её номеру Meta+q — Вставка литерала (непечатного символа). См. таблицу ниже Meta+t — Сортировка строк выделенного текста Meta+u — Выполнить внешнюю команду и вставить в позицию под курсором её вывод Ctrl+f — Занести выделенный фрагмент во внутренний буфер обмена mc (записать во внешний файл) Ctrl+k — Удалить часть строки до конца строки Ctrl+n — Создать новый файл Ctrl+s — Включить или выключить
Просмотр почтовых логов в Zimbra. Утилита zmmsgtrace.
Процесс обновления Zimbra.
Для обновления необходимо запустить процесс установку, мастер установки определит версию уже установленного почтового сервера и предложит обновить:
# ./install.sh --platform-override
Параметр —platform-override позволяет опускать проверку OS. Это иногда необходимо. После запуска мастера установки будет предложено согласиться на лицензионное соглашение, если вы с ним согласны то подтверждаете свое согласие.
После проходит проверка на конфликт с софтом.
Предложит проверить на наличие предупреждений в базе данных.
Данное предупреждение как описано на официальном сайте не несет краху базы данных, это просто предупреждение, они его обещали исправить. Далее идет проверка пакета на наличие всех приложения и после предлагается обновить.
Checking for installable packages
Found zimbra-core
Found zimbra-ldap
Found zimbra-logger
Found zimbra-mta
Found zimbra-snmp
Found zimbra-store
Found zimbra-apache
Found zimbra-spell
Found zimbra-memcached
Found zimbra-proxy
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.
Мастер установки обновления проставляет флаги на пакетах которые необходимо будет проставить и спрашивает если у вас не установлены пакеты какие либо приложения не установлены, то появится вопрос на установку их.
Select the packages to install
Upgrading zimbra-core
Upgrading zimbra-ldap
Upgrading zimbra-logger
Upgrading zimbra-mta
Upgrading zimbra-snmp
Upgrading zimbra-store
Upgrading zimbra-apache
Upgrading zimbra-spell
Installing:
zimbra-core
zimbra-ldap
zimbra-logger
zimbra-mta
zimbra-snmp
zimbra-store
zimbra-apache
zimbra-spell
You appear to be installing packages on a platform different
than the platform for which they were built.
This platform is CentOS6_64
Packages found: RHEL6_64
This may or may not work.
Using packages for a platform in which they were not designed for
may result in an installation that is NOT usable. Your support
options may be limited if you choose to continue.
Далее пойдет процесс обновления и с остановки всех сервисов (самый долгий процесс) и обновлением пакетов. По ходу обновления будет сохранены текущие настройки, почта и все что необходимо для установки. По окончанию установки он предложит вывести процесс установки в отчет и даст ссылку и начнет запускать сервисы. Ход установки приведу ниже, но не весь.
Shutting down zimbra mail
Removing existing packages
Removing deployed webapp directories
Installing packages
Moving /tmp/zmsetup.11052012-221240.log to /opt/zimbra/log
Configuration complete - press return to exit
Если были ошибки во время обновления мастер установки также отобразит в своем отчете. Обновление Zimbra завершен успешно. При обновление на zcs-8.0.0_GA_5434 лицензионные правила расширяются, но процесс обновления не изменяется.
Примечание.
После обновления на версию Zimbra 8.0 изменится и интерфейс административной части и для просмотра дальнейших обновления можно по ветке "Домашний" - "Средства и миграция" - "Обновление программного обеспечения"
. После очередного выхода обновлений, опишу процесс на сайте www.it-article.ru.
Подготовка к обновлению Zimbra.
1. critical. Version: 8.0.0_20120907144639_5434, URL: http://files2.zimbra.com/downloads/8.0.0_GA/zcs-8.0.0_GA_5434.RHEL6_64.20120907144639.tgz
2. critical. Version: 7.2.1_20120815212147_2790, URL: http://files2.zimbra.com/downloads/7.2.1_GA/zcs-7.2.1_GA_2790.RHEL6_64.20120815212147.tgz
Если вы не делали давно обновлений советую их ставить по возрастанию во избежания накладок.
Получив ссылку на пакет обновление загружаем и распаковываем:
# wget http://files2.zimbra.com/downloads/7.2.1_GA/zcs-7.2.1_GA_2790. RHEL6_64.20120815212147.tgz </p
# tar xvfz zcs-7.2.1_GA_2790. RHEL6_64.20120815212147.tgz
# cd zcs-7.2.1_GA_2790. RHEL6_64.20120815212147

