Вводные данные:
- Система Debian 10 со всеми обновами по 20.04.2020
- iRedMail + веб сервер (Apache2 или Nginx)
- Просто установленный Apache2 веб сервер
Что требуется:
- Установить certbot
- Настроить сертификат для iRedMail
- Настроить сертификат для отдельного веб сервера apache2
1. Установка Certbot и получение сертификата для iRedMail
Первым делом обновим систему:
1 2 |
sudo apt update sudo apt upgrade |
Далее установим cerbot:
Для apache:
Debian 10
1 |
sudo apt install python-certbot-apache |
Debian 11
1 |
sudo apt install python3-certbot-apache |
Для nginx:
Debian 10
1 |
sudo apt install python-certbot-nginx |
Debian 11
1 |
sudo apt install python3-certbot-nginx |
Теперь запускаем cerbot без правок в конфигурационный файл веб сервера:
Для apache:
1 |
sudo certbot --apache certonly |
Для nginx:
1 |
sudo certbot --nginx certonly |
Далее после запуска Вас спросят ваш email адрес, потом принимаем соглашение, соглашаемся или отказываемся от подписки, далее вбиваем домен для которого будем делать сертификат, все сертификат и ключ готовы и лежат по пути:
Сам сертификат:
1 |
/etc/letsencrypt/live/example.com/fullchain.pem |
Ключ от него:
1 |
/etc/letsencrypt/live/example.com/privkey.pem |
ГДЕ example.com это имя вашего домена
2. iRedMail установка сертификата
После успешного получения сертификата и ключа приступим к установке. Но для начала сделаем бэкап старого сертификата и ключа:
1 2 |
sudo mv /etc/ssl/certs/iRedMail.crt{,.bak} sudo mv /etc/ssl/private/iRedMail.key{,.bak} |
Потом просто подменим старый сертификат и ключ полученными (я считаю что проще подменить чем заново прописывать пути в конфиг файлах)
1 2 |
sudo ln -s /etc/letsencrypt/live/mail.mydomain.com/fullchain.pem /etc/ssl/certs/iRedMail.crt sudo ln -s /etc/letsencrypt/live/mail.mydomain.com/privkey.pem /etc/ssl/private/iRedMail.key |
После этого делаем перезапуск служб:
- Postfix
- Dovecot
- Nginx или Apache
3. Apache настройка и установка сертификата
Выполняем все тоже самое что и при установке certbot, но только здесь нужно запустить его следующим образом:
1 |
sudo certbot --apache |
Если у Вас нормально настроен хост в апач то при запуске он спросит какой домен настроить, нужно ли перенаправлять весь http на https. После вышеописанного заходите на ваш сайт и проверяйте что https активирован. И напоследок проверим механизм обновление сертификата запустив:
1 |
sudo certbot renew --dry-run |
Если ошибок не будет, то сделайте скрипт со следующими строками и добавьте в cron:
1 |
sudo certbot renew |