Установка 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 подписчиков
Правила сообщества
Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.