O Apache OpenMeetings é um aplicativo de webconferência de código aberto. Está escrito em Java e suporta vários servidores de banco de dados. Ele oferece muitos recursos, como conferência de áudio e vídeo, compartilhamento de tela, explorador de arquivos, um sistema de moderação de usuários, mensagens e contatos particulares, um calendário integrado para planos de reuniões e muito mais. Você também pode gravar sessões de conferência. Ele fornece uma API SOAP / REST e vários plugins para integrar facilmente com o Moodle, Jira, Joomla, Confluence e muito mais.
Pré-requisitos
- Uma instância do servidor Site & Site Ubuntu 16.04 com pelo menos 4 GB de RAM.
- Um usuário sudo .
- Um nome de domínio apontado para o servidor.
Para este tutorial, usaremos 192.168.1.1
como o endereço IP público e meetings.example.com
como o nome do domínio apontado para a instância do Vultr. Por favor, certifique-se de substituir todas as ocorrências do endereço IP de exemplo e nome de domínio com o atual.
Atualize seu sistema básico usando o guia Como atualizar o Ubuntu 16.04 . Depois que seu sistema tiver sido atualizado, prossiga para instalar o Java.
Instale Java
O OpenMeetings é escrito em Java, portanto, requer que o Java Runtime Environment (JRE) funcione. Adicione o repositório do Ubuntu para o Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Instale Java.
sudo apt -y install oracle-java8-installer
Verifique a versão do Java.
java -version
Você verá a seguinte saída.
[email protected]:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
Configure o caminho padrão para o Java instalando o pacote a seguir.
sudo apt -y install oracle-java8-set-default
Você pode verificar se JAVA_HOME
está definido executando o seguinte.
echo $JAVA_HOME
Você verá uma saída similar.
[email protected]:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Se você não vir nenhuma saída, precisará sair do shell atual e efetuar login novamente.
Instalar dependências
Instale as bibliotecas ImageMagick e GhostScript.
sudo apt -y install imagemagick ghostscript libxt6 libxrender1
O ImageMagick fornece suporte para carregar imagens e importá-las para o quadro branco. O GhostScript permite carregar PDFs no quadro branco.
Verifique a versão do ImageMagick e do GhostScript para garantir que eles foram instalados com êxito.
[email protected]:~$ identify -version
Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-07-31 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib
[email protected]:~$ ghostscript -v
GPL Ghostscript 9.18 (2015-10-05)
Copyright (C) 2015 Artifex Software, Inc. All rights reserved.
Além disso, também precisaremos instalar o Apache OpenOffice ou o LibreOffice no sistema. Instalar qualquer um destes irá permitir OpenMeetings para importar os arquivos em formatos de documentos do Office, como .doc
, .docx
, .ppt
, .pptx
, ou .xlx
. Neste tutorial, vamos instalar o Apache OpenOffice.
Mude para o diretório temporário e baixe o pacote Apache OpenOffice para o Ubuntu.
cd /tmp
wget https://downloads.sourceforge.net/project/openofficeorg.mirror/4.1.5/binaries/en-US/Apache_OpenOffice_4.1.5_Linux_x86-64_install-deb_en-US.tar.gz
Extraia o arquivo e instale todos os pacotes DEB.
tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-deb_en-US.tar.gz
cd en-US/DEBS
sudo dpkg -i *.deb
sudo dpkg -i desktop-integration/openoffice4.1-debian-menus_4.1.5*.deb
Instale o PPA para a versão mais recente do FFmpeg.
sudo add-apt-repository --yes ppa:jonathonf/ffmpeg-3
sudo apt update
Instale o FFmpeg e o SoX.
sudo apt -y install ffmpeg sox
O FFmpeg e o SoX permitem gravar reuniões. Eles também irá ajudar na importação de arquivos de mídia, como .avi
,.flv
, .mov
e .mp4
no quadro branco. Verifique a instalação, verificando as versões do FFmpeg e do SoX.
[email protected]:~$ sox --version
sox: SoX v14.4.1
[email protected]:~$ ffmpeg -version
ffmpeg version 3.4.2-1~16.04.york0.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
Instalar o PostgreSQL
O OpenMeetings suporta vários tipos de servidores de banco de dados, como MySQL, PostgreSQL, Apache Derby e Oracle. Neste tutorial, usaremos o PostgreSQL para hospedar o banco de dados do OpenMeeting.
O PostgreSQL é um sistema de banco de dados objeto-relacional, conhecido por sua estabilidade e velocidade. O repositório padrão do Ubuntu contém uma versão antiga do PostgreSQL, então adicione o repositório do PostgreSQL.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
Instale o servidor de banco de dados PostgreSQL.
sudo apt -y install postgresql
Inicie o servidor PostgreSQL e habilite-o para iniciar automaticamente no momento da inicialização.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Altere a senha para o usuário padrão do PostgreSQL.
sudo passwd postgres
Faça o login como usuário do PostgreSQL.
sudo su - postgres
Crie um novo usuário do PostgreSQL para o usuário do OpenMeetings.
createuser openmeetings
Você pode usar qualquer nome de usuário em vez de openmeetings
.
Mude para o shell do PostgreSQL.
psql
Defina uma senha para o usuário recém-criado para o banco de dados do OpenMeetings.
ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';
Substitua DBPassword
por uma senha segura.
Crie um novo banco de dados para a instalação do OpenMeetings.
CREATE DATABASE openmeetings OWNER openmeetings;
Saia do psql
shell.
\q
Mude para o sudo
usuário.
exit
Salve o arquivo e saia do editor.
Instalando o OpenMeetings
Como todas as dependências necessárias estão instaladas, crie um novo usuário para o OpenMeetings. Usar um usuário não raiz para executar o OpenMeetings é recomendado para a segurança do servidor.
sudo adduser --home /var/openmeetings --disabled-login --disabled-password --gecos "OpenMeetings User" openmeetings
O comando acima também criará o diretório inicial do openmeetings
usuário em /var/openmeetings
.
Verifique a página de download do Apache OpenMeetings para obter o link para a última versão disponível. Baixe o arquivo do OpenMeetings.
cd /tmp
wget http://www-eu.apache.org/dist/openmeetings/4.0.2/bin/apache-openmeetings-4.0.2.tar.gz
Extraia o arquivo no /var/openmeetings
diretório.
sudo tar xf apache-openmeetings-*.tar.gz -C /var/openmeetings
Forneça a propriedade dos arquivos ao usuário do OpenMeetings que criamos anteriormente.
sudo chown -R openmeetings:openmeetings /var/openmeetings
Agora você pode iniciar o aplicativo.
sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings
Agora você pode acessar http://192.168.1.1:5080/openmeetings
no seu navegador favorito. Você verá a tela de boas-vindas com instruções para instalar o GhostScript.
Como já instalamos o GhostScript, prossiga ainda mais. Na próxima interface, você será solicitado a fornecer detalhes do servidor de banco de dados. Selecione o tipo de banco de dados ” PostgreSql
” e forneça os detalhes do seu servidor de banco de dados que você configurou durante a instalação do PostgreSQL.
Clique no Check
botão ” ” e você receberá a mensagem: ” Database check was successful
“. Forneça os detalhes da sua conta de administrador e um nome de grupo na próxima interface.
Configure as configurações básicas da sua instalação; como permitir o autorregistro, a verificação de e-mail e o idioma padrão. Além disso, forneça os detalhes do seu servidor SMTP. Se você não tiver um servidor SMTP pronto, também poderá fornecer os detalhes do SMTP posteriormente no painel do administrador.
Você será solicitado para o caminho para os binários de diferentes aplicativos. Forneça /usr/bin
como o caminho para o ImageMagick, FFmpeg e SoX. Se o aplicativo estiver fornecendo erros para o caminho digitado, você poderá usar which <binary_name>
o caminho absoluto para o binário. Por exemplo, which ffmpeg
deve dar-lhe /usr/bin/ffmpeg
como saída. Use/opt/openoffice4
como o caminho para os binários do OpenOffice.
Você pode pular a configuração na próxima interface, já que vamos usar os valores padrão. Por fim, clique no botão ” Finish
” para instalar o aplicativo e gravar o banco de dados.
O OpenMeetings está agora instalado no seu servidor. Para torná-lo mais produtivo, vamos configurar o Systemd para gerenciar o servidor OpenMeetings. Também configuraremos o Nginx com o recurso Vamos criptografar o SSL como o proxy reverso seguro para atender ao aplicativo.
Configurando o Systemd
Recomenda-se configurar uma unidade de serviço Systemd para gerenciar o aplicativo. Isso garantirá que o serviço seja iniciado automaticamente no tempo de inicialização e nas falhas.
Pare o servidor OpenMeetings pressionando CTRL+ Cou matando o shell do openmeetings
usuário.
sudo pkill -KILL -u openmeetings
Crie um novo arquivo de unidade Systemd para o OpenMeetings.
sudo nano /etc/systemd/system/openmeetings.service
Preencha o arquivo.
[Unit]
Description=OpenMeeting Service
After=network.target
[Service]
Type=simple
User=openmeetings
WorkingDirectory=/var/openmeetings
ExecStart=/var/openmeetings/red5.sh
Restart=always
[Install]
WantedBy=multi-user.target
Inicie o servidor OpenMeetings e ative-o para iniciar automaticamente no momento da inicialização.
sudo systemctl start openmeetings
sudo systemctl enable openmeetings
Para verificar o status do serviço, você pode executar o seguinte.
sudo systemctl status openmeetings
Você verá uma saída similar.
[email protected]:~$ sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-04-08 19:08:33 UTC; 52s ago
Main PID: 8788 (java)
CGroup: /system.slice/openmeetings.service
└─8788 /usr/bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m
Apr 08 19:08:40 vultr red5.sh[8788]: [INFO] [main] org.apache.catalina.core.StandardService - Starti
Apr 08 19:08:40 vultr red5.sh[8788]: Apr 08, 2018 7:08:40 PM org.apache.catalina.core.StandardEngine
...
Configurar o Nginx como um proxy reverso
Por padrão, o OpenMeetings escuta a porta 5080
. Se a conexão entre o navegador e o servidor não for criptografada com SSL, os logins e outras informações serão enviados usando texto simples. Isso pode ser uma ameaça em potencial, já que alguém que esteja ouvindo na rede pode obter as informações. Para atenuar esse problema, configuraremos o Nginx como o proxy reverso que escutará a HTTPS
porta padrão e fará o proxy de todas as solicitações para o servidor do OpenMeetings.
Instale o Nginx.
sudo apt -y install nginx
Inicie o Nginx e ative-o para iniciar automaticamente no momento da inicialização.
sudo systemctl start nginx
sudo systemctl enable nginx
Adicione o repositório do Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Instale o Certbot, que é o aplicativo cliente para o Let’s Encrypt CA.
sudo apt -y install certbot
Nota: Para obter certificados de Let’s Encrypt CA, o domínio para o qual os certificados serão gerados deve estar voltado para o servidor. Caso contrário, faça as alterações necessárias nos registros DNS do domínio e aguarde o DNS se propagar antes de fazer a solicitação de certificado novamente. O Certbot verifica a autoridade do domínio antes de fornecer os certificados.
Gere os certificados SSL.
sudo certbot certonly --webroot -w /var/www/html -d meetings.example.com
Os certificados gerados provavelmente serão armazenados em /etc/letsencrypt/live/meetings.example.com/
. O certificado SSL será armazenado fullchain.pem
e a chave privada será armazenada como privkey.pem
.
Vamos Criptografar certificados expiram em 90 dias, portanto, é recomendável configurar a renovação automática dos certificados usando trabalhos Cron.
Abra o arquivo de trabalho cron.
sudo crontab -e
Adicione a seguinte linha no final do arquivo.
30 5 * * * /usr/bin/certbot renew --quiet
O cron job acima será executado todos os dias às 5:30 da manhã. Se o certificado estiver vencido, ele será automaticamente renovado.
Crie um novo arquivo de configuração para o OpenMeetings.
sudo nano /etc/nginx/sites-available/openmeetings
Preencha o arquivo.
server {
listen 80;
server_name meetings.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name meetings.example.com;
ssl_certificate /etc/letsencrypt/live/meetings.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meetings.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/openmeetings.access.log;
location / {
proxy_pass http://localhost:5080;
proxy_set_header host $host;
proxy_http_version 1.1;
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection "upgrade";
}
}
Ative a configuração.
sudo ln -s /etc/nginx/sites-available/openmeetings /etc/nginx/sites-enabled/openmeetings
Verifique se há erros no novo arquivo de configuração.
sudo nginx -t
Se você vir a seguinte saída, a configuração está livre de erros.
[email protected]:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Se você recebeu algum tipo de erro, certifique-se de verificar novamente o caminho para os certificados SSL. Reinicie o servidor da web Nginx para implementar a alteração na configuração.
sudo systemctl restart nginx
Antes de começar a usar o aplicativo no site seguro SSL, você precisará fazer uma alteração de configuração no OpenMeetings. Entre no seu painel administrativo do OpenMeetings e navegue até ” Administration >> Configuration
“. Na tabela com ID de colunas, chave e valor, localize application.base.url
. Altere seu valor para dehttps://meetings.example.com
acordo com seu nome de domínio. Salve a configuração clicando no ícone salvar acima.
Reinicie o serviço OpenMeetings.
sudo systemctl restart openmeetings
Agora, você pode navegar https://meetings.example.com
usando seu navegador da Web favorito e fazer login para usar o aplicativo.
Parabéns, o Apache OpenMeetings agora está instalado no seu servidor. Você pode convidar seus amigos e começar a usar o OpenMeetings para conferências on-line.