41

Установка Let's Encrypt SSL сертификата в Zimbra [2024]

На сайте с вики зимбры есть отличный гайд https://wiki.zimbra.com/wiki/Installing_a_LetsEncrypt_SSL_Ce...

Но как обычно это бывает с зимброй, гайд либо не полный, либо для определенных условий. Знаю, что подобные посты не набирают рейтинга, но он здесь исключительно для индексации в поисковиках, поэтому я решил поделиться небольшими дополнениями, возможно кому-то пригодится и человек не станет тратить время на поиск решений.

Имеем: Zimbra Collaboration Suite 8.7.10 GA 1829 на базе Ubuntu Server 16

Дистрибутив уже пропал в ссылках на офф. сайте, но его можно загуглить по: zcs-8.7.10_GA_1829.UBUNTU16_64.20170524161336.tgz

На самом деле, версия самой зибры не имеет значения, тут скорее ньюанс с самой убунтой.

Двигаясь по гайду выше, я постоянно натыкался на проблемы.

Из гайда:

apt install -y python3 python3-venv libaugeas0

Там этот вариант не подходит, используем:

add-apt-repository ppa:deadsnakes/ppa

apt update

apt install -y python3.8 python3.8-venv libaugeas0

update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

Для проверки, мало ли:

python3 -V

Должны увидеть: Python 3.8.1

Почему именно 3.8? Потому что во-первых на самых свежих версиях питона у меня ничего не взлетело, а во-вторых потому что на данной версии все отработало как нужно)

Далее из гайда:

ln -s /opt/certbot/bin/certbot /usr/local/sbin/certbot

/usr/local/sbin/certbot certonly -d $(hostname --fqdn) --standalone --preferred-chain "ISRG Root X2" --agree-tos --register-unsafely-without-email

И работать это у нас не будет! pyopenssl 23.2.0, который идет в комплекте, не подходит для certbot'a.

Поэтому сначала делаем:

/opt/certbot/bin/pip install -U "pyopenssl==23.1.0"

Далее, при выполнении скрипта из crontab:

/etc/cron.daily/letsencrypt-zimbra

не пройдет верификация сертификата из-за устаревших корневых сертификатов. Лечится это следующим образом:

wget -O /tmp/ISRG-X1.pem https://letsencrypt.org/certs/isrgrootx1.pem.txt

cat /tmp/ISRG-X1.pem >> /etc/letsencrypt/live/$(hostname --fqdn)/chain.pem

И уже после этого, можно запускать скрипт из кронтаба, который успешно задеплоит сертификат в зимбру:

/etc/cron.daily/letsencrypt-zimbra

Вот и все. Не забываем рестартнуть сервер:

su zimbra -c '/opt/zimbra/bin/zmcontrol restart'

И радуемся полученному результату.

P.S.: надеюсь заметки из данного поста пригодятся хотя бы одному человеку. Тогда эта простыня текста будет не напрасной.

Лига Сисадминов

2.4K пост18.9K подписчиков

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.