Установка OpenMeetings на CentOS 8
В двух словах, OpenMeetings предназначена для проведения видеоконференций, вебинаров, презентаций, дистанционного обучения. Ее можно установить как контейнер docker, применить готовый iso-образ виртуальной машины или выполнить ручную установку. Мы рассмотрим последний вариант. Сам процесс установки и настройки сервера OpenMeetings 5 выполним на Linux CentOS 8.
Подготовительные работы
Устанавливаем компоненты для OpenMeetings
Репозитории
OpenJava
LibreOffice
Ghostscript
ImageMagick и Sox
FFmpeg
Сервер баз данных
Установка OpenMeeting
Загрузка
Скрипт tomcat
Веб-установка
Автоматический запуск
Подготовка сервера
Для работы OpenMeetings необходимо настроить брандмауэр и отключить SELinux.
1. Firewalld
Создаем правила для разрешения портов 5080 и 5443:
firewall-cmd --permanent --add-port={5080,5443}/tcp
* где 5080 для запросов по http, а 5443 — https.
Применяем правила:
firewall-cmd --reload
2. SELinux
Отключаем SELinux — для этого вводим две команды:
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
* при желании настроить SELinux может оказаться полезной инструкция Настройка SELinux в CentOS.
Установка необходимых компонентов
OpenMeetings написан на Java и для корректной работы требует установки соответствующей платформы и дополнительных компонентов.
1. Дополнительные репозитории
Устанавливаем репозиторий EPEL:
yum install epel-release
Установка RPMFusion:
yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
Теперь переходим на страницу репозитория OKey и копируем ссылку на последнюю версию okay-release:
Используя скопированную ссылку, устанавливаем репозиторий:
yum install http://repo.okay.com.mx/centos/8/x86_64/release/okay-release-1-3.el8.noarch.rpm
2. OpenJava
Для установки OpenJava вводим команду:
yum install java-11-openjdk-devel
Выбираем директорию java:
update-alternatives --config java
И на запрос:
Selection Command
-----------------------------------------------
*+ 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.6.10-0.el8_1.x86_64/bin/java)
... выбираем единственно предложенный вариант, нажав Enter.
Команда:
java -version
... должна вернуть что-то на подобие:
openjdk version "11.0.6" 2020-01-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.6+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.6+10-LTS, mixed mode, sharing)
3. LibreOffice
Устанавливаем wget и tar:
yum install wget tar
* wget нужна для загрузки файлов по сети; tar — распаковки архивов.
Переходим на страницу загрузки пакетов для LibreOffice. Выбираем каталог с последней версией программы - RPM - x86_64. Копируем ссылку на архив пакета:
Переходим в каталог /opt:
cd /opt
Используя ссылку, копируем архив на сервер:
wget ftp://mirror.7he.at/pub/tdf/libreoffice/stable/6.4.2/rpm/x86_64/LibreOffice_6.4.2_Linux_x86-64_rpm.tar.gz
Распаковываем скачанный архив:
tar zxvf LibreOffice_*
Переходим в распакованную папку:
cd LibreOffice_*/
Устанавливаем LibreOffice:
yum localinstall RPMS/*.rpm
4. Ghostscript
Установим пакеты, необходимые для сборки Ghostscript:
yum install libjpeg libjpeg-devel freetype freetype-devel unzip gcc gcc-c++ ncurses ncurses-devel make zlib zlib-devel libtool bison openssl-devel bzip2 bzip2-devel file-roller git autoconf automake pkgconfig nmap vlc
* на все дополнительные запросы отвечаем утвердительно Y.
Переходим в каталог /opt:
cd /opt
Скачиваем скрипт для сборки и установки Ghostscript:
wget https://cwiki.apache.org/confluence/download/attachments/27838216/ghostscript.sh
Разрешаем запуск скрипта:
chmod +x ghostscript.sh
... и запускаем его:
./ghostscript.sh
В итоге, мы должны увидеть:
...GhostScript compilation is Finished!
5. ImageMagick и Sox
Для установки ImageMagick вводим:
yum install ImageMagick giflib
Для установки Sox скачиваем пакет:
wget http://ftp.icm.edu.pl/packages/sox/14.4.2/sox-14.4.2.tar.gz
Распаковываем архив:
tar xzvf sox-14.4.2.tar.gz
Переходим в распакованную папку:
cd sox-14.4.2
Конфигурируем пакет:
./configure
Собираем пакет и устанавливаем его:
make
make install
6. FFmpeg
Устанавливаем пакеты, необходимые для сборки FFmpeg:
yum install glibc alsa-lib-devel faad2 faad2-devel gsm imlib2 imlib2-devel vorbis-tools theora-tools autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel curl libx264-devel
Переходим в каталог opt:
cd /opt
Скачиваем скрипт для сборки и установки FFmpeg:
wget https://cwiki.apache.org/confluence/download/attachments/27838216/ffmpeg_centos8.sh
Делаем его исполняемым:
chmod +x ffmpeg_centos8.sh
И запускаем его:
./ffmpeg_centos8.sh
Выполнение скрипта займет около 10-20 минут. В итоге, мы должны увидеть:
FFmpeg Compilation is Finished!
Установка и настройка СУБД
В качестве СУБД будем использовать MariaDB. Для ее установки вводим:
yum install mariadb-server
Разрешаем автозапуск сервера и стартуем его:
systemctl enable mariadb
systemctl start mariadb
Задаем пароль для суперпользователя mysql:
mysqladmin -u root password
Подключаемся к базе данных:
mysql -u root -p
Создаем базу данных:
> CREATE DATABASE openmeetings DEFAULT CHARACTER SET 'utf8';
* где openmeetings — имя создаваемой базы данных.
Создаем пользователя:
> GRANT ALL PRIVILEGES ON openmeetings.* TO 'usermeeting'@'localhost' IDENTIFIED BY 'password_meeting' WITH GRANT OPTION;
* где openmeetings — имя созданной нами базы данных; usermeeting — пользователь; password_meeting — пароль.
Выходим из командной оболочки mariadb:
> \q
Установка OpenMeetings
Разделим процесс установки на загрузку OpenMeetings, Tomcat и инсталляцию в веб-интерфейсе.
Загрузка OpenMeetings
Переходим в каталог /opt:
cd /opt
Открываем страницу загрузки OpenMeeting и переходим в каталог с последней версией программы (в моем примере 5.0.0-M3) - после переходим в раздел bin - копируем ссылку на архив:
Воспользовавшись скопированной ссылкой, загружаем пакет:
wget https://dist.apache.org/repos/dist/release/openmeetings/5.0.0-M3/bin/apache-openmeetings-5.0.0-M3.tar.gz
Распаковываем его:
tar xzvf apache-openmeetings-*.tar.gz
Переносим распакованную папку в каталог /opt:
mv apache-openmeetings-*/ /opt/openmeetings
* в данном примере наше программное обеспечение будет размещено по пути /opt/openmeetings.
Заходим на страницу для загрузки mysql-connector-java и переходим в каталог с последней версией пакета (на момент написания инструкции, 8.0.19) - копируем ссылку на jar-файл:
Загружаем файл по скопированной ссылке:
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.19/mysql-connector-java-8.0.19.jar
Переносим его в каталог с нашим OpenMeetings (в нашем примере, /opt/openmeetings):
mv mysql-connector-java-*.jar /opt/openmeetings/webapps/openmeetings/WEB-INF/lib/
Скрипт автозапуска tomcat
Загружаем скрипт для запуска tomcat:
wget https://cwiki.apache.org/confluence/download/attachments/27838216/tomcat3
Открываем на редактирование скачанный файл:
vi tomcat3
Меняем значение для параметра CATALINA_HOME:
CATALINA_HOME=/opt/openmeetings
Даем права на запуск скрипта:
chmod +x tomcat3
И переносим его в каталог init.d:
mv tomcat3 /etc/init.d/
Запуск сервера и веб-установка
Перезапускаем сервис баз данных:
systemctl restart mariadb
Запускаем tomcat:
/etc/init.d/tomcat3 start
Ждем секунд 30 для полного старта сервиса.
Открываем в браузере страницу http://<IP-адрес сервера>:5080/openmeetings/ — откроется страница установки приложения.
На первой странице просто кликаем далее:
На следующей странице в поле Выберите тип БД выбираем MySQL и заполняем данные для подключения в базе данных:
* в нашем случае, мы создавали базу с именем openmeetings; пользователь для подключения usermeeting; пароль — password_meeting.
... и кликаем по кнопке Проверка — мы должны увидеть:
После идем далее. Вводим данные для администратора системы — задаем логин и пароль, выбираем часовой пояс и задаем домен:
На следующей странице просто идем далее или заполняем данные для отправки почты через почтовый сервер:
* в своем примере я оставил настройки по умолчанию. Также стоит проверить, чтобы язык по умолчанию был нужный нам (в данном примере, русский).
На следующей странице необходимо проверить, что OpenMeetings видит правильно пути до каталогов с исполняемыми файлами нужных ему компонентов. В случае, если при проверке будет найдена ошибка, необходимо на сервере найти нужный компонент командой:
find / -name <имя исполняемого файла компонента>
... и прописать путь до каталога, в котором он находится. В моем случае получилось так:
* в зависимости от версии компонентов и операционной системы, пути могут отличаться.
* чаще всего, система не может найти jodconverter — для его поиска нужно найти soffice.bin командой find / -name soffice.bin. Нужно будет указать путь до каталога program. В моем случае, полный путь был /opt/libreoffice6.4/program/soffice.bin, поэтому я указал /opt/libreoffice6.4/.
Слеющую страницу можно оставить без изменений:
Завершаем установку, нажав Закончить:
Установка займет меньше минуты. После будет рекомендовано перезапустить сервис — введем команду:
/etc/init.d/tomcat3 restart
Можно заходить в систему.
Автоматический запуск
После перезагрузки сервера, нам нужно будет вручную запускать сервис tomcat3, что не является правильным подходом при создании качественного сервиса. В нашем примере мы создадим юнит в systemd для автоматического запуска tomcat3.
Создаем файл:
vi /etc/systemd/system/openmeetings.service
[Unit]
Description=OpenMeetings Service
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/tomcat3 start
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
Применяем изменения в systemd:
systemctl daemon-reload
Разрешаем автозапуск сервиса:
systemctl enable openmeetings
Останавливаем сервис, запущенный нами ранее:
/etc/init.d/tomcat3 stop
И запустим его через systemd:
systemctl start openmeetings