Product SiteDocumentation Site

19.3.5. Настройка веб-приложения Jitsi Meet

Получить SSL/TLS-сертификат для домена.

Примечание

Можно создать сертификат без обращения к УЦ. При использовании такого сертификата в браузере будут выводиться предупреждения.
Для создания самоподписанного сертификата следует:
  • создать корневой ключ:
    # openssl genrsa -out rootCA.key 2048
    
  • создать корневой сертификат:
    # openssl req -x509 -new -key rootCA.key -days 10000 -out rootCA.crt -subj "/C=RU/ST=Russia/L=Moscow/CN=SuperPlat CA Root"
    
  • сгенерировать ключ:
    # openssl genrsa -out jitsi2.test.alt.key 2048
    
  • создать запрос на сертификат (тут важно указать имя сервера: домен или IP):
    # openssl req -new -key jitsi2.test.alt.key -out jitsi2.test.alt.csr -subj "/C=RU/L=Moscow/CN=jitsi2.test.alt"
    
  • подписать запрос на сертификат корневым сертификатом:
    # openssl x509 -req -in jitsi2.test.alt.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out jitsi2.test.alt.crt -days 5000
    Signature ok
    subject=C = RU, CN = jitsi2.test.alt
    Getting CA Private Key
    
Положить ключ и сертификат в папку /etc/jitsi/meet/:
# cp jitsi2.test.alt.crt /etc/jitsi/meet/
# cp jitsi2.test.alt.key /etc/jitsi/meet/
В пакете jitsi-meet-web-config есть примеры конфигурации для веб-клиента (*-config.js) и веб-сервера (*.example.apache, *.example).
Создать файл /etc/jitsi/meet/jitsi2.test.alt-config.js на основе /usr/share/jitsi-meet-web-config/config.js:
# cp /usr/share/jitsi-meet-web-config/config.js /etc/jitsi/meet/jitsi2.test.alt-config.js
Внести изменения в файл /etc/jitsi/meet/jitsi2.test.alt-config.js в соответствии с настройками серверной части:
var config = {
    // Connection
    //

    hosts: {
        // XMPP domain.
        domain: 'jitsi2.test.alt',

        muc: 'conference.jitsi2.test.alt'
    },

    // BOSH URL. FIXME: use XEP-0156 to discover it.
    bosh: '//jitsi2.test.alt/http-bind',

    // Websocket URL
    // websocket: 'wss://jitsi-meet.example.com/xmpp-websocket',

    // The name of client node advertised in XEP-0115 'c' stanza
    clientNode: 'http://jitsi.org/jitsimeet',

[...]

}
Так как в Альт Сервер по умолчанию установлен веб-сервер apache, то ниже рассмотрена настройка именно этого веб-сервера. Пример конфигурации можно взять в файле /usr/share/doc/jitsi-meet-web-config-4109/jitsi-meet/jitsi-meet.example-apache
Создать файл /etc/httpd2/conf/sites-available/jitsi2.test.alt.conf на основе /usr/share/doc/jitsi-meet-web-config-4109/jitsi-meet/jitsi-meet.example-apache:
# cp /usr/share/doc/jitsi-meet-web-config-4109/jitsi-meet/jitsi-meet.example-apache /etc/httpd2/conf/sites-available/jitsi2.test.alt.conf
Внести изменения в файл /etc/httpd2/conf/sites-available/jitsi2.test.alt.conf (изменить имя, указать сертификат):
<VirtualHost *:80>
    ServerName jitsi2.test.alt
    Redirect permanent / https://jitsi2.test.alt/
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

<VirtualHost *:443>

  ServerName jitsi2.test.alt

  SSLProtocol TLSv1 TLSv1.1 TLSv1.2
  SSLEngine on
  SSLProxyEngine on
  SSLCertificateFile /etc/jitsi/meet/jitsi2.test.alt.crt
  SSLCertificateKeyFile /etc/jitsi/meet/jitsi2.test.alt.key
  SSLCipherSuite "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED"
  SSLHonorCipherOrder on
  Header set Strict-Transport-Security "max-age=31536000"

  DocumentRoot "/usr/share/jitsi-meet"
  <Directory "/usr/share/jitsi-meet">
    Options Indexes MultiViews Includes FollowSymLinks
    AddOutputFilter Includes html
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  ErrorDocument 404 /static/404.html

  Alias "/config.js" "/etc/jitsi/meet/jitsi2.test.alt-config.js"
  <Location /config.js>
    Require all granted
  </Location>

  Alias "/external_api.js" "/usr/share/jitsi-meet/libs/external_api.min.js"
  <Location /external_api.js>
    Require all granted
  </Location>

  ProxyPreserveHost on
  ProxyPass /http-bind http://localhost:5280/http-bind/
  ProxyPassReverse /http-bind http://localhost:5280/http-bind/

  RewriteEngine on
  RewriteRule ^/([a-zA-Z0-9]+)$ /index.html
 </VirtualHost>
Установить пакет apache2-mod_ssl, если он еще не установлен:
# apt-get install apache2-mod_ssl
Выполнить команды:
# a2enmod rewrite
# a2enmod ssl
# a2enmod headers
# a2enmod proxy
# a2enmod proxy_http
# a2enport https
# a2dissite 000-default
Включить конфигурацию Apache:
# a2ensite jitsi2.test.alt
Запустить веб-сервер Apache2 и добавить его в автозагрузку:
# systemctl enable --now httpd2