Интеграция letsencrypt c vesta панелью: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Автоматизируем)
(mail.nntc.nnov.ru)
Строка 47: Строка 47:
 
Добавляем строчку в cron
 
Добавляем строчку в cron
 
  01 01 1 * * root /opt/ssl-key-update-mail.nntc.nnov.ru.sh
 
  01 01 1 * * root /opt/ssl-key-update-mail.nntc.nnov.ru.sh
 +
 +
===Zimbra===
 +
Автоматизацию настройки Zimbra мы делали по этой статье https://wiki.zimbra.com/wiki/Installing_a_LetsEncrypt_SSL_Certificate
 +
 +
cat /opt/install-keys-to-zimbra.sh
 +
 +
<pre>
 +
#!/bin/bash
 +
 +
if [ -e /home/sslmngr/renewed.txt ]
 +
then
 +
cat /home/sslmngr/mail.nntc.nnov.ru/chain.pem /home/sslmngr/X3-root-cert.pem > /home/sslmngr/mail.nntc.nnov.ru/chain-and-root.pem
 +
/opt/zimbra/bin/zmcertmgr verifycrt comm /home/sslmngr/mail.nntc.nnov.ru/privkey.pem /home/sslmngr/mail.nntc.nnov.ru/cert.pem /home/sslmngr/mail.nntc.nnov.ru/chain-and-root.pem
 +
 +
cp /home/sslmngr/mail.nntc.nnov.ru/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key
 +
/opt/zimbra/bin/zmcertmgr deploycrt comm /home/sslmngr/mail.nntc.nnov.ru/cert.pem /home/sslmngr/mail.nntc.nnov.ru/chain-and-root.pem
 +
 +
rm /home/sslmngr/renewed.txt
 +
#sudo -u zimbra /opt/zimbra/bin/zmcontrol restart
 +
su zimbra -c "/opt/zimbra/bin/zmcontrol restart" -
 +
fi
 +
</pre>
 +
 +
В cron добавляем
 +
01 05 * * * root /opt/install-keys-to-zimbra.sh
  
 
==gitlab.nntc.nnov.ru==
 
==gitlab.nntc.nnov.ru==

Версия 14:54, 19 мая 2016

mail.nntc.nnov.ru

Vesta

Предарительные настройки Vesta

Изменяем настройки шаблона, чтобы папка .well-known была доступна прямо на proxy

cat /usr/local/vesta/data/templates/web/nginx/zimbra-force-https.tpl


server {
    listen      %ip%:%proxy_port%;
    server_name %domain_idn% %alias_idn%;
    location /.well-known {
    	default_type text/plain;
    	root /etc/letsencrypt/webroot;
	}
    location /(?!\.well-known) {
        rewrite ^(.*) https://%domain_idn%$1 permanent;
    } 
}

Даем команду vesta панели на перегенирацию конфигурационного файла nginx для всех хостов пользователя http_proxy

/usr/local/vesta/bin/v-rebuild-web-domains http_proxy

После выполнения этой команды изменения попадут в файл /home/http_proxy/conf/web/nginx.conf

Запрашиваем ключи у LetsEncrypt

letsencrypt-vesta http_proxy mail.nntc.nnov.ru

Будьте внимательны, Vesta для каждого домена поднимает поддомен www. Если он не прописан в DNS удалите этот alias из web-интерфейса vesta-панели.

Автоматизируем

cat /opt/ssl-key-update-mail.nntc.nnov.ru.sh
 
#!/bin/bash

letsencrypt-vesta http_proxy mail.nntc.nnov.ru

rcp -o StrictHostKeyChecking=no -r /etc/letsencrypt/live/mail.nntc.nnov.ru sslmngr@mail.nntc.nnov.ru:~
touch /tmp/renewed.txt
rcp -o StrictHostKeyChecking=no /tmp/renewed.txt sslmngr@mail.nntc.nnov.ru:~
rm /tmp/renewed.txt

Добавляем строчку в cron

01 01	1 * *	root	/opt/ssl-key-update-mail.nntc.nnov.ru.sh

Zimbra

Автоматизацию настройки Zimbra мы делали по этой статье https://wiki.zimbra.com/wiki/Installing_a_LetsEncrypt_SSL_Certificate

cat /opt/install-keys-to-zimbra.sh 
#!/bin/bash

if [ -e /home/sslmngr/renewed.txt ]
then 
cat /home/sslmngr/mail.nntc.nnov.ru/chain.pem /home/sslmngr/X3-root-cert.pem > /home/sslmngr/mail.nntc.nnov.ru/chain-and-root.pem
/opt/zimbra/bin/zmcertmgr verifycrt comm /home/sslmngr/mail.nntc.nnov.ru/privkey.pem /home/sslmngr/mail.nntc.nnov.ru/cert.pem /home/sslmngr/mail.nntc.nnov.ru/chain-and-root.pem 

cp /home/sslmngr/mail.nntc.nnov.ru/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key
/opt/zimbra/bin/zmcertmgr deploycrt comm /home/sslmngr/mail.nntc.nnov.ru/cert.pem /home/sslmngr/mail.nntc.nnov.ru/chain-and-root.pem

rm /home/sslmngr/renewed.txt
#sudo -u zimbra /opt/zimbra/bin/zmcontrol restart
su zimbra -c "/opt/zimbra/bin/zmcontrol restart" -
fi

В cron добавляем

01 05	* * *	root	/opt/install-keys-to-zimbra.sh

gitlab.nntc.nnov.ru

Vesta

Предарительные настройки Vesta

Изменяем настройки шаблона, чтобы папка .well-known была доступна прямо на proxy

cat /usr/local/vesta/data/templates/web/nginx/gitlab_forcehttps_proxy.tpl
server {
    listen      %ip%:%proxy_port%;
    server_name %domain_idn% %alias_idn%;
    location /.well-known {
    	default_type text/plain;
    	root /etc/letsencrypt/webroot;
	}
    location /(?!\.well-known) {
        rewrite ^(.*) https://%domain_idn%$1 permanent;
    } 
}

Даем команду vesta панели на перегенирацию конфигурационного файла nginx для всех хостов пользователя http_proxy

/usr/local/vesta/bin/v-rebuild-web-domains http_proxy

После выполнения этой команды изменения попадут в файл /home/http_proxy/conf/web/nginx.conf

Запрашиваем ключи у LetsEncrypt

letsencrypt-vesta http_proxy gitlab.nntc.nnov.ru

Будьте внимательны, Vesta для каждого домена поднимает поддомен www. Если он не прописан в DNS удалите этот alias из web-интерфейса vesta-панели.

Автоматизируем

cat /opt/ssl-key-update-gitlab.nntc.nnov.ru.sh 
#!/bin/bash

letsencrypt-vesta http_proxy gitlab.nntc.nnov.ru

rcp -o StrictHostKeyChecking=no -r /etc/letsencrypt/live/gitlab.nntc.nnov.ru sslmngr@gitlab.nntc.nnov.ru:~
touch /tmp/renewed.txt
rcp -o StrictHostKeyChecking=no /tmp/renewed.txt sslmngr@gitlab.nntc.nnov.ru:~/
rm /tmp/renewed.txt

Добавляем строчку в cron

01 05	1 * *	root	/opt/ssl-key-update-gitlab.nntc.nnov.ru.sh