Настройка сервера VideoMost для работы по HTTPS

 

Сервис работает только при настройке https. Поэтому понадобится SSL-сертификат для сайта. Сертификат может быть самоподписанным, но в этом случае не будут работать мобильные приложения. Рекомендуется получить SSL-сертификат доверенного центра сертификации.

 

1. Включите модуль SSL сервера Apache для Debian/Ubuntu, выполнив команду:

# a2enmod ssl

 

2. Из папки /root/https.conf/ скопируйте файл конфигурации vm.conf для Apache в следующие директории:

-   для Debian/Ubuntu — в /etc/apache2/sites-available;

-   для CentOS/RHEL/RedOS — в /etc/httpd/conf.d.

Файл vm.conf имеет следующее содержание:

 

 <VirtualHost *:80>

      ServerAdmin admin@videomost.com

      ServerName videomost.local

      ServerAlias vm

      DocumentRoot /usr/share/videomost

      <Directory /usr/share/videomost/>

                  Options +FollowSymLinks

                  AllowOverride All

                  Order allow,deny

                  allow from all

      </Directory>

      ErrorLog /var/log/apache2/error-videomost.log

      # Possible values include: debug, info, notice, warn, error, crit,

      # alert, emerg.

      LogLevel warn

      CustomLog /var/log/apache2/access-videomost.log common

 </VirtualHost>

 <VirtualHost *:443>

      ServerAdmin admin@videomost.com

      ServerName videomost.local

      ServerAlias vm

         DocumentRoot /usr/share/videomost

      <Directory /usr/share/videomost/>

                  Options +FollowSymLinks

                  AllowOverride All

                  Order allow,deny

                  allow from all

      </Directory>

      ErrorLog /var/log/apache2/error-videomost.log

      # Possible values include: debug, info, notice, warn, error, crit,

      # alert, emerg.

      LogLevel warn

      CustomLog /var/log/apache2/access-videomost.log common

      SSLEngine on

 #               SSLCertificateFile /etc/apache2/ssl/apache.pem

 #    SSLCertificateChainFile /etc/ssl/private/STAR_videomost_com.ca-bundle

      SSLCertificateFile      /etc/ssl/private/selfsigned_videomost.crt

      SSLCertificateKeyFile /etc/ssl/private/selfsigned_videomost.key

 </VirtualHost>

 

3. В этом файле необходимо заменить предустановленные значения на фактические в следующих строках:

ServerAdmin admin@videomost.com

ServerName videomost.local

ServerAlias vm

SSLCertificateFile            /etc/ssl/private/selfsigned_videomost.crt

SSLCertificateKeyFile /etc/ssl/private/selfsigned_videomost.key

 

4. Если цепочка сертификатов центра сертификации поставляется отдельным файлом (обычно это файл с расширением .ca-bundle), раскомментируйте в конфигурационном файле строчку и вставьте фактический путь файла сертификации:

 #   SSLCertificateChainFile /etc/ssl/private/STAR_videomost_com.ca-bundle

 

Важно!

Для CentOS/RHEL/RedOS необходимо указывать путь до логов: /var/log/httpd

Если существует файл /etc/httpd/conf.d/ssl.conf, то его следует удалить или переименовать файл vm.conf таким образом, чтобы имя файла было раньше имени ssl.conf в алфавитном порядке.

 

5. Для Debian/Ubuntu необходимо перейти в каталог /etc/apache2/sites-enabled и выполнить команду:

 

6. Из /root/https.conf необходимо скопировать в /usr/share/videomost файл .htaccess.

 

7. Для Debian/Ubuntu включите на сервере Apache mod_proxy, mod_proxy_http и перезапустите http-сервер:

# a2enmod proxy

# a2enmod proxy_http

 

8. Перезапустите Apache-сервер:

# systemctl restart apache2 - для Debian/Ubuntu

# systemctl restart - для CentOS/RHEL/RedOS

 

Если применяется сертификат доверенного центра сертификации, то необходимо установить этот SSL-сертификат на Openfire (см. следующий раздел). Установка данного сертификата на Openfire обеспечивает возможность участия в конференциях пользователей с мобильных устройств. Для мобильных приложений обязательно наличие доверенного сертификата.

Установка SSL-сертификата на Openfire

Для связи с XMPP-сервером («Openfire»), необходимым для работы WebRTC-конференции, используется один из двух методов на базе «websockets» или «BOSH». Метод с использованием «websockets» обеспечивает большую скорость работы и меньшую нагрузку на веб-сервер. При выборе используемого метода проверяется доступность «websockets». В случае неудачи проверяется доступность «BOSH». В случае отсутствия возможности использовать «BOSH», выводится сообщение о невозможности подключения к XMPP-серверу.

Эта глава содержит информацию о том, как настроить режим «websockets» или установить сертификат «SSL» на «Openfire», а также о том, как включить режим «BOSH».

Чтобы настроить работу в режиме websockets, выполните установку SSL-сертификата.

Для этого надо объединить два SSL-сертификата, выданных официальным доверенным CA-центром (типа COMODO) в один файл. Один из них — публичный сертификат, другой — цепочка (bundle) сертификатов данного CA.  Например, для сертификатов от COMODO выпущенных для videomost.com:

# cat STAR_videomost_com.crt STAR_videomost_com.ca-bundle > openfire.crt

Удалите самоподписанные сертификаты Openfire, которые создаются автоматически при установке:

1.       Зайдите на сайт, где установлен Openfire под учетной записью администратора по ссылке http://videomost.example.com:9090.

2.       Выберите вкладку Сертификаты TLS/SSL (TLS/SSL Certificates).

3.       Выберите любое из Хранилищ удостоверений (Identity store) и кликните ссылку Управление содержимым хранилища (Manage Store Contents) под ним.

Удалите два показанных там самоподписанных сертификата.

Добавьте сертификат:

1.       В сообщении «Отсутствует один или несколько сертификатов. Нажмите здесь, чтобы создать самозаверенный   сертификат или здесь, чтобы импортировать подписанный сертификат и его закрытый ключ.» (One or more certificates are missing. Click here to generate self-signed certificates or here to import a signed certificate and its private key.) выберите второй вариант: здесь, чтобы импортировать подписанный сертификат и его закрытый ключ.

2.       Заполните поля:

Фразы, используемые для создания закрытого ключа (Pass Phrase used for creating Private Key) — если есть

Содержимое файла закрытого ключа (Content of Private Key file) — вставить содержимое key-файла сертификата.

Содержимое файла сертификата (Content of Certificate file) – вставить содержимое подготовленного ранее файла сертификата openfire.crt.

3.       Перезапустите Openfire:

# systemctl restart openfire