Instalação do OTOBO

Este capítulo descreve a instalação e a configuração básica da estrutura central do OTOBO.

Siga as etapas detalhadas neste capítulo para instalar o OTOBO no seu servidor. Você pode usar sua interface da web para efetuar login e administrar o sistema.

Nota

A partir do OTOBO versão 10.0.7, recomendamos Docker e Docker Compose para a instalação do OTOBO. Usando nossa imagem Docker-Compose, todas as dependências recomendadas (como Elasticsearch, Redis Cache, etc.) são instaladas e configuradas automaticamente. As atualizações são, portanto, bastante simplificadas e o desempenho foi aumentado. Você pode encontrar as instruções de instalação em https://doc.otobo.org/manual/installation/stable/en/content/installation-docker.html.

Preparação: Desative SELinux quando estiver instalado e ativado

Nota

Se seu sistema usa o SELinux, você deve desativa-lo, caso contrário o OTOBO não funcionará corretamente.

Tente os comandos``sestatus`` e getenforce` quando você não tiver certeza se o SELinux está instalado e ativado no seu sistema.

O comando sestatus retorna o estado do SELinux e a política do SELinux que está sendo usada. Estado do SELinux: enabled é retornado quando o SELinux está ativado. Modo atual: enforcing é retornada quando o SELinux está sendo executado no modo enforcing. Política do arquivo de configuração: target é retornada quando a política de destino do SELinux é usada.

Veja como desativar o SELinux para RHEL/CentOS/Fedora.

  1. Configurar SELINUX=disabled no arquivo /etc/selinux/config :

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #       enforcing - SELinux security policy is enforced.
    #       permissive - SELinux prints warnings instead of enforcing.
    #       disabled - No SELinux policy is loaded.
    SELINUX=disabled
    # SELINUXTYPE= can take one of these two values:
    #       targeted - Targeted processes are protected,
    #       mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    
  2. Reinicie seu sistema. Após reiniciar, confirme que o comando``getenforce`` retorne Disabled:

    root> getenforce
    Disabled
    

Passo 1: Desempacotar e Instalar o OTOBO

Baixe a última versão do otobo em https://ftp.otobo.org/pub/otobo/. Descompacte o arquivo fonte (por exemplo, usando``tar``) dentro do diretório /opt/otobo-install:

root> mkdir /opt/otobo-install                                          # Create a temporary install directory
root> cd /opt/otobo-install                                             # Change into the update directory
root> wget https://ftp.otobo.org/pub/otobo/otobo-latest-10.0.tar.gz     # Download he latest OTOBO 10 release
root> tar -xzf otobo-latest-10.0.tar.gz                                 # Unzip OTOBO
root> cp -r otobo-10.x.x /opt/otobo                                     # Copy the new otobo directory to /opt/otobo

Passo 2: Instale Programas Adicionais e Módulos Perl

Use o seguinte script para obter uma visão geral de todos os módulos CPAN instalados e requeridos e outros dependências externas.

root> perl /opt/otobo/bin/otobo.CheckModules.pl -list
Checking for Perl Modules:
  o Archive::Tar.....................ok (v1.90)
  o Archive::Zip.....................ok (v1.37)
  o Crypt::Eksblowfish::Bcrypt.......ok (v0.009)
...

Nota

Observe que o OTOBO requer uma instalação funcionando do Perl com todos os módulos core, como o módulo version. Esses módulos não são explicitamente verificados pelo script. Pode ser necessário instalar um pacote perl-core em alguns sistemas como o RHEL que não instalam os pacotes principais do Perl por padrão.

Para instalar os pacotes obrigatórios e opcionais, você pode usar o CPAN ou o gerenciador de pacotes da sua distribuição Linux.

Execute este comando para obter um comando de instalação para instalar as dependências ausentes:

root> /opt/otobo/bin/otobo.CheckModules.pl -inst

Nota

Existem vários módulos opcionais ou alternativos que podem ser instalados, principalmente para versões mais personalizadas do OTOBO. Chamar CheckModules.pl sem nenhum argumento listará sua funcionalidade completa.

Passo 3: Crie o usuário OTOBO

Crie um usuário dedicado para OTOBO dentro de seu próprio grupo:

root> useradd -r -U -d /opt/otobo -c 'OTOBO user' otobo -s /bin/bash

Adicione o usuário no grupo do seu servidor web (se o seu servidor web não estiver rodando com o usuário otobo):

root> usermod -G www-data otobo
(SUSE=www, Red Hat/CentOS/Fedora=apache, Debian/Ubuntu=www-data)

Passo 4: Ative o arquivo de configuração padrão

Há um arquivo de configuração OTOBO incluído no $OTOBO_HOME/Kernel/Config.pm.dist. Você deve ativa-lo copiando o arquivo sem a extensão do arquivo .dist.

root> cp /opt/otobo/Kernel/Config.pm.dist /opt/otobo/Kernel/Config.pm

Passo 5: Configure seu servidor Web Apache

Em primeiro lugar, você deve instalar o servidor Web Apache2 e o mod_perl; você normalmente faz isso no gerenciador de pacotes do seu sistema. Abaixo, você encontrará os comandos necessários para configurar o Apache nas distribuições Linux mais populares.

# RHEL / CentOS:
root> yum install httpd mod_perl

# SuSE:
root> zypper install apache2-mod_perl

# Debian/Ubuntu:
root> apt-get install apache2 libapache2-mod-perl2

A critical setting of the Apache web server is the choice of the multi-processing module. For running OTOBO, the recommended choice is the module mpm_prefork. Like other Apache modules the multi-processing module can be managed with the tools a2dismod and a2enmod.

root> # check which MPM is active
root> apache2ctl -M | grep mpm_

Tudo está bem quando mpm_prefork já foi habilitado.

Desative mpm_event quando estiver ativo no momento.

root> a2dismod mpm_event

Desative mpm_worker caso o MPM esteja ativo.

root> a2dismod mpm_worker

Finalmente ative mpm_prefork.

root> a2enmod mpm_prefork

O OTOBO requer que mais alguns módulos Apache estejam ativos para uma operação ideal. Novamente, na maioria das plataformas, você pode ter certeza de que estão ativas por meio da ferramenta a2enmod.

root> a2enmod perl
root> a2enmod deflate
root> a2enmod filter
root> a2enmod headers

Nota

Em algumas plataformas, nem todos os módulos Apache existem e um erro será exibido durante a instalação. Não se preocupe e termine a instalação, na maioria dos casos o módulo não será necessário.

A maioria das instalações do Apache tem um diretório conf.d incluído. Em sistemas Linux, você geralmente pode encontrar este diretório em /etc/apache ou``/etc/apache2``.

Configurar Apache sem suporte SSL

Copie o arquivo de modelo /opt/otobo/scripts/apache2-httpd.include.conf para o diretório sites-available do apache. Na maioria dos casos, nenhuma edição adicional do modelo é necessária. Em seguida, ative a nova configuração.

# Debian/Ubuntu:
root> cp /opt/otobo/scripts/apache2-httpd.include.conf /etc/apache2/sites-available/zzz_otobo.conf
root> a2ensite zzz_otobo.conf
root> systemctl restart apache2

Configure o Apache com suporte SSL

Copie os arquivos de modelo /opt/otobo/scripts/apache2-httpd-vhost-80.include.conf e /opt/otobo/scripts/apache2-httpd-vhost-443.include.conf para o diretório sites-availible.

# Debian/Ubuntu:
root> cp /opt/otobo/scripts/apache2-httpd-vhost-80.include.conf /etc/apache2/sites-available/zzz_otobo-80.conf
root> cp /opt/otobo/scripts/apache2-httpd-vhost-443.include.conf /etc/apache2/sites-available/zzz_otobo-443.conf

Edite os arquivos e adicione as informações necessárias, como o caminho de armazenamento do certificado SSL. Depois disso, ative a configuração do OTOBO Apache:

root> a2ensite zzz_otobo-80.conf
root> a2ensite zzz_otobo-443.conf

Agora você pode reiniciar o servidor da web para carregar as novas definições de configuração. Na maioria dos sistemas, você pode usar o seguinte comando para fazer isso:

root> systemctl restart apache2

Passo 6: Configurando Permissões de Arquivos

Por favor, execute o seguinte comando para definir as permissões de arquivo e diretório para o OTOBO. Ele tentará detectar as configurações corretas de usuário e grupo necessárias para sua configuração.

root> /opt/otobo/bin/otobo.SetPermissions.pl

Passo 7: Configurando o Banco de Dados

Primeiro de tudo, você deve instalar o pacote de banco de dados. É recomendável usar o pacote MySQL ou MariaDB, que será entregue com o sistema Linux, mas é possível usar o PostgreSQL ou Oracle também.

Você normalmente faria isso no gerenciador de pacotes do sistema. Abaixo, você encontrará os comandos necessários para configurar o MySQL nas distribuições Linux mais populares.

# RHEL / CentOS:
root> yum install mysql-server

# SuSE:
root> zypper install mysql-community-server

# Debian/Ubuntu:
root> apt-get install mysql-server

Depois de instalar o servidor MySQL, você precisa configurá-lo.

Na versão 5.7 ou superior do MySQL, um novo módulo de autenticação está ativo e não é possível usar o instalador da web OTOBO para criação de banco de dados. Por favor, faça login no console do mysql e defina um módulo de autenticação e senha diferentes para o usuário root, se este for o caso:

root> mysql -u root
root> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewRootPassword';

Para MariaDB > 10.1, use o seguinte comando:

root> mysql -u root
root> update mysql.user set authentication_string=password('NewRootPassword') plugin='mysql_native_password' where user='root';

Se este comando não funcionar, tente os seguintes comandos:

root> mysql -u root
root> UPDATE mysql.user SET password = PASSWORD('NewRootPassword') WHERE user = 'root';
root> UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
root> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root';

Após a instalação do OTOBO, é possível alterar o módulo de autenticação novamente, se necessário.

Nota

As seguintes definições de configuração são requisitos mínimos para as configurações do MySQL. Por favor, adicione as seguintes linhas ao arquivo de configuração do MySQL Server /etc/my.cnf,``/etc/mysql/my.cnf`` ou /etc/mysql/mysql.conf.d/mysqld.cnf abaixo da seção [mysqld]:

max_allowed_packet   = 64M
innodb_log_file_size = 256M

Para o MySQL anterior ao MySQL 8.0, o tamanho do cache da consulta também deve ser definido:

query_cache_size     = 32M

Além disso, adicione as seguintes linhas ao arquivo de configuração do servidor MySQL /etc/my.cnf, /etc/mysql/my.cnf ou /etc/mysql/mysql.conf.d/mysqldump.cnf debaixo da seção [mysqldump]:

max_allowed_packet   = 64M

Para fins de produção, recomendamos usar a ferramenta mysqltuner para encontrar a configuração perfeita. Você pode fazer o download do script no github https://github.com/major/MySQLTuner-perl ou instalá-lo nos sistemas Debian ou Ubuntu através do gerenciador de pacotes:

root> apt-get install mysqltuner

Após a instalação execute o script:

root> mysqltuner --user root --pass NewRootPassword

Passo 8: Configurar Elasticsearch

A OTOBO recomenda uma instalação ativa do Elasticsearch para pesquisa rápida. A maneira mais fácil é configurar o Elasticsearch no mesmo host que o OTOBO e vinculá-lo à sua porta padrão.

Exemplo de instalação do Elasticsearch baseado no Ubuntu 18.04 LTS

Instalação do JDK

root> apt update
root> apt install openjdk-8-jdk

Instalação do ElasticSearch

root> wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
root> echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
root> apt update
root> apt -y install elasticsearch

Instalação do ElasticSearch em outra distribuição Linux

Siga o tutorial de instalação encontrado em https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html.

Instalação do Módulo do ElasticSearch

Além disso, o OTOBO exige a instalação de plug-ins no Elasticsearch:

root> /usr/share/elasticsearch/bin/elasticsearch-plugin install --batch ingest-attachment
root> /usr/share/elasticsearch/bin/elasticsearch-plugin install --batch analysis-icu

Configuração do Elasticsearch

O Elasticsearch possui diversas opções e possibilidades de configuração.

Para garantir uma operação livre de erros, você deve ajustar o espaço de heap da jvm para sistemas OTOBO maiores. Por favor, ajuste as configurações no arquivo /etc/elasticsearch/jvm.options. Você sempre deve definir o tamanho mínimo e máximo do heap da JVM para o mesmo valor. Por exemplo, para definir o heap como 4 GB, defina:

-Xms4g
-Xmx4g

Em nossos testes, um valor entre 4 e 10 GB para instalações de tamanho médio provou ser o melhor.

Nota

Veja https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html para mais informações.

Agora você pode reiniciar o servidor da web para carregar as novas definições de configuração. Na maioria dos sistemas, você pode usar o seguinte comando para fazer isso:

root> systemctl restart elasticsearch

Passo 8: Configurações de Sistema básicas

Por favor, use o instalador da web em http://localhost/otobo/installer.pl (substitua “localhost” pelo seu nome de host OTOBO) para configurar seu banco de dados e configurações básicas do sistema, como contas de email.

Passo 9: Primeiro Login

Agora você esta pronta para logar no seu sistema em http://localhost/otobo/index.pl com o usuário root@localhost com a senha que foi gerada (veja acima).

Passo 10: Inicie o Daemon do OTOBO

O daemon OTOBO é responsável por manipular qualquer tarefa assíncrona e recorrente no OTOBO. O que havia sido definido anteriormente nos arquivos cron agora é tratado pelo daemon OTOBO, necessário para operar o OTOBO. O daemon também manipula todas as tarefas GenericAgent e deve ser iniciado a partir do usuário OTOBO.

otobo> /opt/otobo/bin/otobo.Daemon.pl start

Passo 11: Tarefas Cron para o usuário OTOBO

Existem dois arquivos cron OTOBO padrão em /opt/otobo/var/cron/*.dist, e seu objetivo é garantir que o Daemon OTOBO esteja em execução. Eles precisam ser ativados, copiando-os sem a extensão de arquivo “.dist”.

root> cd /opt/otobo/var/cron/
root> for foo in *.dist; do cp $foo `basename $foo .dist`; done

root> cd /opt/otobo/
root> bin/Cron.sh start

Com esta etapa, a configuração básica do sistema está concluída.

Passo 12: Configurar o auto completar do bash (opcional)

Todas as operações regulares da linha de comando OTOBO acontecem através da interface do console OTOBO. Isso fornece um preenchimento automático para o shell bash, o que facilita a localização do comando e das opções corretas.

Você pode ativar o auto-completion do bash instalando o pacote bash-completion. Ele detectará e carregará o arquivo automaticamente /opt/otobo/.bash_completion para o usuário otobo.

Após reiniciar seu shell, você pode apenas digitar este comando, seguido de TAB, e ele listará todos os comandos disponíveis:

otobo> /opt/otobo/bin/otobo.Console.pl

Se você digitar alguns caracteres do nome do comando, o TAB exibirá todos os comandos correspondentes. Após digitar um comando completo, todas as opções e argumentos possíveis serão mostrados pressionando TAB.

Nota

Se tiver problemas, você pode executar a seguinte linha como usuário otobo e adicioná-la ao seu ~/ .bashrc para executar os comandos do arquivo.

source /opt/otobo/.bash_completion

Passo 13: Informações adicionais

Recomendamos que você leia o capítulo OTOBO Ajuste de desempenho.