Настройка сервера 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