sudo apt update && sudo apt dist-upgrade -y && sudo apt install vim htop mc net-tools -y && sudo ufw disable && sudo reboot now
sudo apt install -y openjdk-11-jdk openjdk-11-jdk-headless imagemagick libjpeg62 zlib1g-dev && \
sudo add-apt-repository ppa:libreoffice/ppa && sudo apt update && sudo apt install libreoffice -y
Выбираем OpenJava 11, если установлено больше одной версии:
sudo update-alternatives --config java
sudo vi /etc/ImageMagick-6/policy.xml
В файле меняем:
<policy domain="coder" rights="none" pattern="PS" />
<policy domain="coder" rights="none" pattern="PDF" />
на
<!-- <policy domain="coder" rights="none" pattern="PS" /> -->
<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
sudo apt install -y sox mariadb-server ffmpeg vlc curl && \
sudo systemctl enable mariadb && sudo systemctl start mariadb && sudo mysqladmin -u root password ec85b5401344bc448beff20907b8d
после "-p" дописываем пароль, установленный выше без пробела
sudo mysql -u root -pec85b5401344bc448beff20907b8d
CREATE DATABASE open600 DEFAULT CHARACTER SET 'utf8';
GRANT ALL PRIVILEGES ON open600.* TO 'open600admin'@'localhost' IDENTIFIED BY 'ec85b5401344bc448beff20907b8d' WITH GRANT OPTION;
quit
Записываем на будущее параметры доступа к БД:
DB=open600, USER=open600admin, PASSWORD=ec85b5401344bc448beff20907b8d
Скачиваем актуальную версию OpenMeetings, коннектор Tomcat, создаем несколько папок для записей комнат:
cd /opt
sudo wget https://archive.apache.org/dist/openmeetings/6.1.0/bin/apache-openmeetings-6.1.0.tar.gz && \
sudo tar xzvf apache-openmeetings-6.1.0.tar.gz && sudo mv apache-openmeetings-6.1.0 open600 && \
sudo mkdir -p /opt/open600/webapps/openmeetings/data/streams/{1..14} && \
sudo mkdir -p /opt/open600/webapps/openmeetings/data/streams/hibernate && \
sudo chmod -R 750 /opt/open600/webapps/openmeetings/data/streams && sudo chown -R nobody:nogroup /opt/open600
cd /opt && sudo wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.22/mysql-connector-java-8.0.22.jar && \
sudo cp /opt/mysql-connector-java-8.0.22.jar /opt/open600/webapps/openmeetings/WEB-INF/lib && \
sudo wget https://cwiki.apache.org/confluence/download/attachments/27838216/tomcat3 && \
sudo cp tomcat3 /etc/init.d/ && sudo chmod +x /etc/init.d/tomcat3
Открываем на редактирование и добавляем после #!/bin/sh
sudo vi /etc/init.d/tomcat3
### BEGIN INIT INFO
# Provides: tomcat3
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: tomcat3...
### END INIT INFO
Добавляем Tomcat в автозагрузку, ставим докер и запускаем в контейнере Kurento
sudo systemctl enable tomcat3 && sudo apt install -y apt-transport-https ca-certificates software-properties-common && \
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" && \
sudo apt install -y docker-ce && sudo usermod -aG docker ${USER} && su - ${USER}
sudo docker run --restart=always -d --name kms -p 8888:8888 --mount type=bind,source=/opt/open600/webapps/openmeetings/data,target=/opt/open600/webapps/openmeetings/data kurento/kurento-media-server
Я отключаю https, т.к. буду использовать Nginx Reverse Proxy: открываем на редактирование и в двух местах меняем:
sudo vi /opt/open600/conf/server.xml
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
на
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
и
<Connector port="5080" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
на
<Connector port="5080" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="false">
Далее идем по адресу тачки, например, http://192.168.0.167:5443/openmeetings
Тип БД - MySQL
DB=open600, USER=open600admin, PASSWORD=85b5401344bc448beff209sHjhn
Заводим пользователя с административными правами и вбиваем данные:
Username = Имя пользователя с административными правами
Userpass = его же пароль
Email = его же почта
User Time Zone = часовой пояс
Name = например, openmeetings - группа администраторов.
Вперед, настройки почтовика и т.д., в строке OpenOffice/LibreOffice Path for jodconverter прописываем /usr/lib/libreoffice
По окончании установки сначала перезапускаем tomcat:
sudo systemctl restart tomcat3
Ждём секунд 30, а затем нажимаем ссылку ВХОД В ПРИЛОЖЕНИЕ.
Далее ставим и включаем Coturn, раскомментируя строку TURNSERVER_ENABLED=1:
sudo apt install coturn -y && sudo vi /etc/default/coturn
Создаем папку логов:
sudo mkdir -p /var/log/turnserver
Создаем безопасный пароль и записываем, понадобится в дальнейшем (типа такого af881ec85b5401344bc448beff20907b8d44bebb1c5dc61a):
sudo openssl rand -hex 32
Раскомментируем следующие строки и заполняем:
sudo vi /etc/turnserver.conf
use-auth-secret
static-auth-secret=af881ec85b5401344bc448beff20907b8d44bebb1c5dc61a1a
realm=DNS-имя вашего сайта, например openmeetings.domain.ru
stale-nonce=0
log-file=/var/log/turnserver/turnserver.log
В секции ### Kurento ### меняем следующие строки:
sudo vi /opt/open600/webapps/openmeetings/WEB-INF/classes/openmeetings.properties
kurento.turn.url="Внешний IP-адрес для обращения к серверу, на котором NginX proxy висит":3478
kurento.turn.user=coturnuserexternal
kurento.turn.secret=af881ec85b5401344bc448beff20907b8d44bebb1c5dc61a
Приведу рабочую конфигурацию для NginX Reverse Proxy
upstream openmeetings {
server 192.168.0.167:5080;
}
server {
listen 443;
server_name "DNS-имя вашего сайта, например openmeetings.domain.ru";
location / {
proxy_pass http://openmeetings;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
Осталось только пробросить порты на роутере и можно подключаться извне:
TCP to NginX Proxy 5443,3478,8888
UDP to OpenMeetings server 3478,49152-65535
Опционально настраиваем на тачке UFW (Ubuntu FireWall):
sudo ufw allow OpenSSH
sudo ufw allow 5443,3478,8888/tcp
sudo ufw allow 3478,49152:65535/udp
sudo ufw enable