Свой сервер: подготовка веб-сервера и сертификатов: различия между версиями

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску
+SSL
(Новая страница: «Ниже приводится список команд, необходимых для настройки веб-сервера и получения сертификатов для своего jabber-сервера на примере Debian 12. Первым делом ставим необходимые пакеты. Тут и далее команды выполняются от пользователя root. apt-get install apache2 certbot a2enmod h...»)
 
(+SSL)
Строка 7: Строка 7:


Вторая команда включает поддержку установки header'ов для отдаваемого контента - это пригодится в дальнейшем для настройки [https://xmpp.org/extensions/xep-0156.html XEP-0156].
Вторая команда включает поддержку установки header'ов для отдаваемого контента - это пригодится в дальнейшем для настройки [https://xmpp.org/extensions/xep-0156.html XEP-0156].
Создаем конфиг-файл для веб-сервера:
Создаем конфиг-файл для веб-сервера. Здесь и далее вместо указанных IP-адресов используем адрес своего сервера, а вместо EXAMPLE.COM - свой домен.


{{Hider hiding
{{Hider hiding
Строка 80: Строка 80:


После успешного выполнения команд будет выдана информация о созданном сертификате, в том числе 2 файла - цепочка ключей и приватный ключ - сохраните эти пути для дальнейшего использования, они нам еще пригодятся. Всего получится 10 файлов. certbot обновляет сертификаты автоматически, если срок их истечения составляет менее 30 дней - т.е., обновление происходит раз в 2 месяца.
После успешного выполнения команд будет выдана информация о созданном сертификате, в том числе 2 файла - цепочка ключей и приватный ключ - сохраните эти пути для дальнейшего использования, они нам еще пригодятся. Всего получится 10 файлов. certbot обновляет сертификаты автоматически, если срок их истечения составляет менее 30 дней - т.е., обновление происходит раз в 2 месяца.
В дальнейшем, для использования созданных на веб-сервере доменов - например, для размещения сайта, посвященного jabber-серверу, или размещения чат-логов конференций - можно включить в Apache2 поддержку SSL. Делается это следующим образом:
a2enmod ssl
Создаем конфиг-файл:
{{Hider hiding
|title=Конфиг-файл /etc/apache2/sites-available/ssl.jabber_service_domain_EXAMPLE.COM.conf
|content=<pre>
<VirtualHost 185.161.208.130:443 [2a07:c801:0:1e::]:443>
        ServerAdmin    webmaster@EXAMPLE.COM
        DocumentRoot    /var/www/html/EXAMPLE.COM/htdocs
        ServerName      EXAMPLE.COM
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/EXAMPLE.COM/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/EXAMPLE.COM/privkey.pem
        <Location ~ "/\.well-known/host-meta(\.json)?">
            Header set Access-Control-Allow-Origin "*"
        </Location>
</VirtualHost>
<VirtualHost 185.161.208.130:443 [2a07:c801:0:1e::]:443>
        ServerAdmin    webmaster@upload.EXAMPLE.COM
        DocumentRoot    /var/www/html/upload.EXAMPLE.COM/htdocs
        ServerName      upload.EXAMPLE.COM
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/upload.EXAMPLE.COM/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/upload.EXAMPLE.COM/privkey.pem
</VirtualHost>
<VirtualHost 185.161.208.130:443 [2a07:c801:0:1e::]:443>
        ServerAdmin    webmaster@pubsub.EXAMPLE.COM
        DocumentRoot    /var/www/html/pubsub.EXAMPLE.COM/htdocs
        ServerName      pubsub.EXAMPLE.COM
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/pubsub.EXAMPLE.COM/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/pubsub.EXAMPLE.COM/privkey.pem
</VirtualHost>
<VirtualHost 185.161.208.130:443 [2a07:c801:0:1e::]:443>
        ServerAdmin    webmaster@conference.EXAMPLE.COM
        DocumentRoot    /var/www/html/conference.EXAMPLE.COM/htdocs
        ServerName      conference.EXAMPLE.COM
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/conference.EXAMPLE.COM/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/conference.EXAMPLE.COM/privkey.pem
</VirtualHost>
<VirtualHost 185.161.208.130:443 [2a07:c801:0:1e::]:443>
        ServerAdmin    webmaster@proxy.EXAMPLE.COM
        DocumentRoot    /var/www/html/proxy.EXAMPLE.COM/htdocs
        ServerName      proxy.EXAMPLE.COM
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/proxy.EXAMPLE.COM/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/proxy.EXAMPLE.COM/privkey.pem
</VirtualHost>
</pre>
}}
И включаем его:
a2ensite ssl.jabber_service_domain_mychat.name.conf
systemctl restart apache2


[[Category:Свой сервер]]
[[Category:Свой сервер]]

Навигация