Логин:
Пароль:
Поиск:

nextcloud ssl

28 августа 2023751admin
    

Установка сертификатов SSL Letsencrypt на NextCloud


disclaimer:
Рассматривается вариант установки NextCloud через snap и web-сервер Apache.
Именно так устанавливается NextCloud в Ubuntu Server, если чекнуть галочку в списке доп.программ при установке Ubuntu.


disclaimer 2:
SSL сертификаты выдаются только на домены! На IP нельзя сделать сертификат.
В этой статье предполагается что все необходимые NS-записи уже сделаны.
Т.е. для домена и поддомена subdomain3.subdomain2.ru сделана соответствующая А-запись для домена.
Letsencrypt - проверяет наличие этой записи, иначе будет ошибка.


По умолчанию NextCloud устанавливается для использования по протоколу HTTP, 80 порт.
Чтобы использовать протокол HTTPS надо установить сертификаты SSL.
В примере будут использоваться сертификаты от Letsencrypt.

Есть несколько вариантов установки сертификатов.

1. Установка сертификатов Letsencrypt средствами самого NextCloud.


По идее, это "самый правильный" вариант. Потому что лучше пользоваться средствами и инструментами, что дает сама система.
sudo snap run nextcloud.enable-https lets-encrypt

Дальше мастер установки будет задавать вопросы в интерактивном режиме - какую вводить почту, данные домена и т.д.
В конце должен сформировать сертификаты и автоматом запустить NextCloud по протоколу HTTPS.

Ключевое слово - "должен" ))
Но так как линукс - это какое-то недоразумение, а не операционная система, то..

У меня такой метод выдал ошибку:
find: Failed to restore initial working directory: /home/some-user: Permission denied

Linux он такой..
Беглый гугулеж говорит что это бага со snap.
Разбираться с багами линукса - не наш путь.

Поэтому используем более универсальный вариант:

2. Сгенерировать standalone сертификат.


В таком варианте мы можем получить сертификат и самому ручками подключить сертификат к нужному веб-серверу. Потому что веб-сервер может быть разным: apache, nginx, etc.

И способы подключения сертифов к веб-серверу могут быть разными. Поэтому генерируем standalone сертификат и подключаем ручками:
sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d subdomain3.subdomain2.ru

но тут мы тоже получим ошибку:

Could not bind TCP port 80 because it is already in use by another process on
this system (such as a web server). Please stop the program in question and then
try again.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(R)etry/(C)ancel: c


Потому что по умолчанию NextCloud уже запущен на 80 порту.
А certbot для генерации сертификата от Let’s Crypt нужны 80 и 443 порты.

Есть два варианта:
- либо временно глушим NextCloud вместе апачем
- либо переопределяем порты работы NextCloud (можно временно, можно на постоянку)

Переопределить порт работы апач можно в конфиграционном файле апач - httpd.conf.
Но так как у на софт установлен через snap - воспользуемся его интсрументами:

Как изменить порт работы NextCloud ( установленный через snap)


Переопределяем порты работы NextCloud:
sudo snap set nextcloud ports.http=81
и
sudo snap set nextcloud ports.https=444

и генерируем сертификаты:
sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d subdomain3.subdomain2.ru

Должно появиться следующее сообщение:

certbot certonly --standalone --agree-tos --preferred-challenges http -d subdomain3.subdomain2.ru
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for subdomain3.subdomain2.ru

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/subdomain3.subdomain2.ru/fullchain.pem
Key is saved at: /etc/letsencrypt/live/subdomain3.subdomain2.ru/privkey.pem
This certificate expires on 2023-11-23.
These files will be updated when the certificate renews.

NEXT STEPS:
- The certificate will need to be renewed before it expires. Certbot can automatically renew the certificate in the background, but you may need to take steps to enable that functionality. See https://certbot.org/renewal-setup for instructions.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Дальше снова переопределяем на стандартные порты 80 и 443.
Или оставляем на нестандартных – только надо не забывать дописывать порт в ссылке.

3. И не забывать продлевать сертификаты каждые 3 месяца!


Сертификаты от Let's Encrypt выдаются на 3 месяца (90 дней, если быть точным). Поэтому не забываем обновлять сертификаты.
- можно ручками:
certbot -q renew
Предварительно лучше проверить возможность обновления: certbot renew --dry-run

Иногда обновление может завершиться неудачей. Тогда можно обновиться принудительно:
certbot --force-renewal

- можно в cron добавить задачу:
Через редактор cron добавить задачу:
  sudo crontab -e  
и добавить следующую запись:
  0 0 * * 1 /usr/bin/certbot renew >> /var/log/sslrenew.log  

P.S.

Это не все варианты.
В зависимости от типа установки софта, используемого веб-сервера, доменов и/или поддоменов и т.д. возможны разные варианты установки. Приведенные выше примеры - ОДИН ИЗ ВАРИАНТОВ.
Не думайте, что это единственно возможный сценарий.
  • 0

Добавление комментария

Имя:
Пароль:
Email:

Последнии комментарии
Как конвертировать LSD в DSL
Автор testforasong (28.01.2024)
Здравствуйте, не нахожу байт за номером 5A9DD. Ест...
Как сменить версию php через .htacces
Автор anon (19.09.2022)
Спасибо!
Хоть у кого-то подробное объяснение!
Обновление NetBSD до STABLE
Автор anon (12.09.2022)
Кто-то еще пользуется этой системой?)
FreeSWITCH on NetBSD
Автор admin (27.11.2020)
2default
круто! хоть какой-то свежак)
да, netbsd.tea...
FreeSWITCH on NetBSD
Автор default (24.11.2020)
admin, Собрал, запустил, таки 1.8.7. С ним вполне ...
FreeSWITCH on NetBSD
Автор admin (20.11.2020)
Пробуем последнюю отсюда: https://files.freeswitch...
FreeSWITCH on NetBSD
Автор default (20.11.2020)
admin, Давай скооперируемся. И мне нужен. На FreeB...
i3lock
Автор admin (20.11.2020)
аха, спасибо. Исправили)
FreeSWITCH on NetBSD
Автор admin (20.11.2020)
default, если дело только в openssl можно старую в...
FreeSWITCH on NetBSD
Автор admin (20.11.2020)
default,
Я как-то скомпилировал FS, но версия была...
Календарь
« Апрель »
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
FreeServer.su