Como instalar o OpenMeetings no CentOS 7

O Apache OpenMeetings é um aplicativo de conferência via web de código aberto. Está escrito em Java e suporta vários servidores de banco de dados. Ele fornece muitos recursos, como conferência de áudio e vídeo, compartilhamento de tela, explorador de arquivos, sistema de moderação de usuário, mensagens e contatos privados, um calendário integrado para planos de reunião e muito mais. Você também pode gravar uma sessão de conferência. Ele fornece 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 Vultr CentOS 7 com pelo menos 4 GB de RAM.
  • Um usuário sudo .
  • Um nome de domínio apontado para o servidor.

Neste tutorial, usaremos 192.168.1.1como endereço IP público e meetings.example.comcomo nome de domínio apontado para a instância do Vultr. Certifique-se de substituir todas as ocorrências do exemplo de endereço IP e nome de domínio pelo nome real.

Atualize seu sistema básico usando o guia Como atualizar o CentOS 7 . Depois que seu sistema for atualizado, continue com a instalação do Java.

Instale Java

O OpenMeetings é escrito em Java, portanto, requer que o Java Runtime Environment (JRE) funcione. Faça o download do pacote Oracle SE JDK 8 RPM mais recente disponível, que inclui o JRE e o JDK.

wget --header 'Cookie: oraclelicense=a' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm

Instale o pacote baixado.

sudo rpm -Uvh jdk-8u161-linux-x64.rpm

Se o Java foi instalado com sucesso, você poderá verificar sua versão.

java -version

Você verá a seguinte saída.

[user@vultr ~]$ 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)

Antes de prosseguirmos, precisaremos configurar as variáveis ​​de ambiente JAVA_HOMEe JRE_HOME. Encontre o caminho absoluto do executável JAVA no seu sistema.

readlink -f $(which java)

Você verá uma saída semelhante.

[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_161/jre/bin/java

Agora, configure as variáveis ​​de ambiente JAVA_HOMEe de JRE_HOMEacordo com o caminho do diretório Java.

echo "export JAVA_HOME=/usr/java/jdk1.8.0_161" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_161/jre" >> ~/.bash_profile

Execute o bash_profilearquivo

source ~/.bash_profile

Agora você pode executar o echo $JAVA_HOMEcomando para garantir que a variável de ambiente esteja configurada.

[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_161

Instalar dependências

Instale as bibliotecas ImageMagick e GhostScript.

sudo yum -y install epel-release
sudo yum -y install ImageMagick ghostscript

O ImageMagick fornece suporte para fazer upload de imagens e importá-las para o quadro branco. O GhostScript permite fazer o upload de PDFs no quadro branco.

Verifique a versão do ImageMagick e GhostScript para garantir que eles sejam instalados com sucesso.

[user@vultr ~]$ identify -version
Version: ImageMagick 6.7.8-9 2016-06-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP

[user@vultr ~]$ ghostscript -v
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 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 Office, como .doc, .docx, .ppt, .pptx, ou .xlx. Neste tutorial, instalaremos o Apache OpenOffice.

Alterne para o diretório temporário e faça o download do Apache OpenOffice RPM.

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-rpm_en-US.tar.gz

Extraia o archive e instale todos os pacotes RPM.

tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
cd en-US/RPMS
sudo rpm -Uvh *.rpm
sudo rpm -Uvh desktop-integration/openoffice4.1.5-redhat-menus-*.rpm

Para verificar se o OpenOffice está instalado corretamente e funcionando, digite openoffice4 -ha linha de comando. Ele imprimirá sua versão e ajuda curta.

[user@vultr ~]$ openoffice4 -h
OpenOffice 4.1.5  415m1(Build:9789)

Usage: soffice [options] [documents...]

Options:

-minimized      keep startup bitmap minimized.
...

Instale o repositório RPMFusion em seu sistema, pois ele fornece pacotes pré-criados para FFmpeg e Sound eXchange (SoX).

sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

Instale o FFmpeg e o SoX.

sudo yum -y install ffmpeg sox

FFmpeg e SoX permitirão a gravação da reunião. Eles irão também ajudar na mídia importação de arquivos, tais como .avi, .flv, .move .mp4no quadro branco. Verifique a instalação, verificando as versões do FFmpeg e do SoX.

[user@vultr ~]$ sox --version
sox:      SoX v14.4.1

[user@vultr ~]$ ffmpeg -version
ffmpeg version 2.8.13 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)

Instale 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 servidor PostgreSQL para hospedar o banco de dados OpenMeeting.

O PostgreSQL é um sistema de banco de dados objeto-relacional e conhecido por sua estabilidade e velocidade. O yumrepositório padrão contém uma versão antiga do PostgreSQL, portanto, adicione o repositório PostgreSQL para a versão mais recente do aplicativo no sistema.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Instale o servidor de banco de dados PostgreSQL.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Inicialize o banco de dados.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Inicie o servidor PostgreSQL e ative-o automaticamente no momento da inicialização.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Mude a senha do usuário padrão do PostgreSQL.

sudo passwd postgres

Efetue 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 OpenMeetings.

ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';

Substitua DBPasswordpor uma senha segura. Crie um novo banco de dados para a instalação do OpenMeetings.

CREATE DATABASE openmeetings OWNER openmeetings;

Saia do psqlshell.

\q

Mude para o sudousuário.

exit

Edite o pg_hba.confarquivo para habilitar a autenticação baseada em MD5.

sudo nano /var/lib/pgsql/10/data/pg_hba.conf

Encontre as seguintes linhas e altere os valores na METHODcoluna de identpara md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Depois de atualizada, a configuração ficará assim.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Salve o arquivo e saia do editor. Reinicie o PostgreSQL para que as alterações entrem em vigor.

sudo systemctl restart postgresql-10

Instalando o OpenMeetings

Como todas as dependências necessárias estão instaladas. Crie um novo usuário para o OpenMeetings. Recomenda-se o uso de um usuário não raiz para executar o OpenMeetings para a segurança do servidor.

 sudo adduser -b /var -s /sbin/nologin openmeetings

O comando acima também criará o diretório inicial do openmeetingsusuário /var/openmeetings.

Verifique a página de download do Apache OpenMeetings para obter o link para a versão mais recente disponível. Faça o download do arquivo OpenMeetings.

cd /tmp
wget http://www-us.apache.org/dist/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz

Extraia o arquivo morto para o /var/openmeetingsdiretório

sudo tar xf apache-openmeetings-4.0.1.tar.gz -C /var/openmeetings

Forneça a propriedade dos arquivos para o usuário do OpenMeetings que criamos anteriormente.

sudo chown -R openmeetings:openmeetings /var/openmeetings

Antes de iniciar o aplicativo, precisaremos modificar o firewall para permitir portas 5080e 1935.

sudo firewall-cmd --zone=public --permanent --add-port=5080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1935/tcp
sudo firewall-cmd --reload

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/openmeetingsno seu navegador favorito. Você verá a tela de boas-vindas com instruções para instalar o GhostScript.

Como instalar o OpenMeetings no CentOS 7

Como já instalamos o GhostScript, prossiga. 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 servidor de banco de dados que você configurou durante a instalação do PostgreSQL.

Como instalar o OpenMeetings no CentOS 7

Clique no Checkbotã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.

Como instalar o OpenMeetings no CentOS 7

Defina as configurações básicas da sua instalação; como permitir o auto-registro, verificação de email e idioma padrão. Além disso, forneça os detalhes do servidor SMTP. Se você não tiver um servidor SMTP pronto, poderá fornecer os detalhes do SMTP posteriormente no painel do administrador.

Como instalar o OpenMeetings no CentOS 7

Ele solicitará o caminho para os binários de diferentes aplicativos. Forneça /usr/bincomo o caminho para ImageMagick, FFmpeg e SoX. Se o aplicativo estiver fornecendo erros para o caminho digitado, você poderá usar which <binary_name>para encontrar o caminho absoluto para o binário. Por exemplo, which ffmpegdeve fornecer /usr/bin/ffmpegcomo saída. Use /opt/openoffice4como o caminho para os binários do OpenOffice.

Como instalar o OpenMeetings no CentOS 7

Você pode pular a configuração na próxima interface, pois 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 amigável à produção, configuraremos o Systemd para gerenciar o servidor OpenMeetings. Também configuraremos o Nginx com o Let's Encrypt SSL como o proxy reverso seguro para atender ao aplicativo.

Configurando o Systemd

Embora possamos facilmente iniciar e parar o aplicativo usando o comando acima, é recomendável configurar uma unidade de serviço Systemd para gerenciar o aplicativo. Isso também garantirá que o serviço seja iniciado automaticamente no momento da inicialização e nas falhas.

Pare o servidor OpenMeetings pressionando " Ctrl+C" ou matando o shell do openmeetingsusuário.

sudo pkill -KILL -u openmeetings

Crie um novo arquivo de unidade Systemd para o OpenMeetings Server.

sudo nano /etc/systemd/system/openmeetings.service

Preencher 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 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 semelhante.

[root@vultr openmeetings]# sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
   Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-01-31 15:40:56 UTC; 38s ago
 Main PID: 10522 (java)
   CGroup: /system.slice/openmeetings.service
           └─10522 /bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m...

Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.431 16603 343 o.a.o.c.r.Scope...se]
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.531 16703 124 o.a.o.c.r.Scope...ngs
Jan 31 15:41:34 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:34.421 21593 82 o.a.o.u.Version ...] -
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Jan 31 15:41:34 vultr.guest red5.sh[10522]: #                              Openmeetings is up ...  #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: #                      4.0.1 3795f14 2017-12-05T16...  #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: #                               and ready to use  ...  #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Hint: Some lines were ellipsized, use -l to show in full.

Configurar o Nginx como proxy reverso

Por padrão, o OpenMeetings escuta a porta 5080. Se a conexão entre o navegador e o servidor não estiver criptografada com SSL, os logins e outras informações serão enviados usando texto sem formatação. Isso pode ser uma ameaça em potencial, já que alguém que escuta a rede pode obter as informações. Para atenuar esse problema, configuraremos o Nginx como o proxy reverso, que ouvirá a porta HTTPS padrão e fará o proxy de todas as solicitações para o servidor OpenMeetings.

Instale o Nginx.

sudo yum -y install nginx

Inicie o Nginx e permita que ele inicie automaticamente no momento da inicialização.

sudo systemctl start nginx
sudo systemctl enable nginx

Instale o Certbot, que é o aplicativo cliente do Let's Encrypt CA.

sudo yum -y install certbot

Antes de solicitar os certificados, você precisará permitir portas 80e / 443ou serviços HTTPe padrão HTTPSatravés do firewall.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

Nota: Para obter certificados da Let's Encrypt CA, o domínio para o qual os certificados devem ser gerados deve estar apontado para o servidor. Caso contrário, faça as alterações necessárias nos registros DNS do domínio e aguarde a propagação do DNS 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 /usr/share/nginx/html -d meetings.example.com

É provável que os certificados gerados sejam armazenados /etc/letsencrypt/live/meetings.example.com/. O certificado SSL será armazenado como fullchain.peme a chave privada será armazenada como privkey.pem.

Os certificados Let's Encrypt expiram em 90 dias, portanto, é recomendável configurar a renovação automática dos certificados usando trabalhos Cron.

Abra o arquivo de tarefa cron.

sudo crontab -e

Adicione a seguinte linha no final do arquivo.

30 5 * * * /usr/bin/certbot renew --quiet

O trabalho cron acima será executado todos os dias às 05:30. Se o certificado estiver vencido, ele será renovado automaticamente.

Agora, altere o arquivo de configuração padrão do Nginx para remover a default_serverlinha.

sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

Crie um novo arquivo de configuração para o OpenMeetings Server.

sudo nano /etc/nginx/conf.d/meetings.example.com.conf

Preencher 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";     
    } 
}

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.

[user@vultr ~]$ 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, verifique 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 na configuração do OpenMeetings. Entre no seu painel administrativo do OpenMeetings e navegue para " Administration >> Configuration". Na tabela de identificação, chave e valor; encontrar application.base.url. Altere seu valor para de https://meetings.example.comacordo com o seu nome de domínio. Salve a configuração clicando no ícone Salvar acima.

Como instalar o OpenMeetings no CentOS 7

Reinicie o serviço OpenMeetings.

sudo systemctl restart openmeetings

Agora, você pode navegar https://meetings.example.comusando o seu navegador 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 online.



Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.