Instalação do OTRS com PostgreSQL no Debian 10

Instalação do OTRS com PostgreSQL no Debian 10

O OTRS é um dos sistemas Web de código aberto mais flexíveis usado para atendimento ao cliente, suporte técnico e gerenciamento de serviços de TI. A sua implementação é rápida e de fácil personalização às necessidades da organização, ajuda a reduzir custos e aumentar a eficiência e a transparência da sua comunicação comercial.

Ao implementar o OTRS em sua organização, é possível realizar o gerenciamento de tickets e processos que permite a profissionais de gerenciamento de serviços de qualquer setor acompanhar o ritmo do ambiente de negócios atual, extremamente rápido e com foco em resultados.

O software está escrito em Perl e Javascript. É uma ferramenta muito robusta para as empresas que precisam gerenciar tickets, reclamações, solicitações de suporte ou outros tipos de relatórios. O OTRS suporta vários sistemas de banco de dados, incluindo MySQL, PostgreSQL, Oracle e SQL Server. É um software multiplataforma que pode ser instalado no Windows ou em distribuições Linux.

Neste tutorial, será mostrado como instalar e configurar o OTRS 6 no Debian 10 (Buster). O Banco de Dados a ser utilizado será o PostgreSQL e o servidor WEB será o Apache.

Pré-requisitos

    • Debian, Ubuntu ou derivados

    • Recomendado 2 GB de RAM

Vamos a instalação!

1. Instalar o Apache e o PostgreSQL

Nesta primeira etapa, instalaremos o servidor da web Apache e o PostgreSQL. Usaremos as versões mais recentes do repositório da distribuição.

Primeiro, atualize o repositório e instale o Apache2 e um PostgreSQL.

# apt-get update
# apt-get install -y apache2 libapache2-mod-perl2 postgresql wget

Após isso, verifique se o Apache e o PostgreSQL estão em execução, verificando a porta correspondente a cada serviço.

# ss -ptan | egrep "80|5432"

comando ss -ptan

Você verá que a porta 80 é usada pelo apache e a porta 5432 usada pelo banco de dados postgresql.

2 . Instalar módulos Perl

O core do OTRS é baseado no Perl, portanto, precisamos instalar alguns módulos Perl exigidos pelo OTRS.

# apt-get install -y libdatetime-perl libapache2-mod-perl2 libdbd-pg-perl libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libgd-text-perl libgd-graph-perl libapache-dbi-perl libarchive-zip-perl libcrypt-eksblowfish-perl libcrypt-ssleay-perl libencode-hanextra-perl libjson-xs-perl libmail-imapclient-perl libtemplate-perl libtemplate-perl libtext-csv-xs-perl libxml-libxml-perl libxml-libxslt-perl libpdf-api2-simple-perl libyaml-libyaml-perl

Quando a instalação estiver concluída, precisamos ativar o módulo Perl para o apache e, em seguida, reiniciar o serviço apache.

# a2enmod perl
# systemctl restart apache2

Em seguida, verifique se o módulo apache está carregado com o comando abaixo.

# apachectl -M | grep perl
=> perl_module (shared)

3. Criar novo usuário para OTRS

OTRS é uma ferramenta Web executando no servidor web apache. Para melhor segurança, precisamos executá-lo com um usuário normal, não com o usuário root.

Crie um novo usuário chamado 'otrs' com o comando useradd abaixo.

# useradd -r -d /opt/otrs otrs

Em seguida, adicione o usuário otrs ao grupo 'www-data', porque o apache está sendo executado em usuário e grupo 'www-data'.

# usermod -aG www-data otrs

Verifique se o usuário otrs está disponível no arquivo /etc /passwd.

# id otrs
=> uid=998(otrs) gid=998(otrs) grupos=998(otrs),33(www-data)

4. Criar e configurar o banco de dados

Agora, criaremos um novo banco de dados PostgreSQL para o sistema OTRS e faremos algumas pequenas alterações na configuração do banco de dados PostgreSQL.

Faça login no usuário do postgres e acesse o shell do PostgreSQL.

# su - postgres
$ psql

Crie uma nova função denominada 'otrs' com a senha 'otrs_pass' e a opção nosuperuser.

# create user otrs password 'otrs_pass' nosuperuser;

Em seguida, crie um novo banco de dados chamado 'otrs' com os privilégios do usuário otrs que criamos.

# create database otrs owner otrs;
# \q
$ exit

Em seguida, edite (editores: vi, vim, nano, gedit, emacs, etc) o arquivo de configuração do PostgreSQL para autenticação da função otrs.

# nano /etc/postgresql/versão_postgres/main/pg_hba.conf

Cole a configuração abaixo após aproximadamente a linha 84.

local   otrs            otrs                                    password
host    otrs            otrs            127.0.0.1/32            password

arquivo pg_hba.conf

Salve o arquivo e saia do seu editor.

Reinicie o serviço PostgreSQL.

# systemctl restart postgresql

A partir de agora, o PostgreSQL está pronto para a instalação do OTRS.

5. Faça o download e configure o OTRS

Será usada a versão mais recente da ferramenta disponível no site.

Vá para o diretório '/opt' e faça o download do OTRS com o comando wget.

# cd /opt/
# wget http://ftp.otrs.org/pub/otrs/otrs-latest.tar.gz

Extraia o arquivo otrs e renomeie o diretório.

# tar xvf otrs-latest.tar.gz
# mv otrs-versão_postgres/ otrs

Em seguida, precisamos verificar o sistema e garantir que ele esteja pronto para a instalação do OTRS.

Verifique os pacotes do sistema para instalação do OTRS com o comando otrs script abaixo.

# /opt/otrs/bin/otrs.CheckModules.pl

Verifique se todos os resultados estão corretos, isso significa que o nosso servidor está pronto para o OTRS.

verificar pacotes necessários para instalação do OTRS

Em seguida, vá para o diretório otrs e copie o arquivo de configuração.

# cd /opt/otrs/
# cp Kernel/Config.pm.dist Kernel/Config.pm

Edite o arquivo 'Config.pm'.

# nano Kernel/Config.pm

Altere aproximadamente a linha 42 da senha do banco de dados.

$Self->{DatabasePw} = 'otrs_pass';

Comente aproximadamente a linha 45 do banco de dados MySQL colocando o '#' na frente da instrução.

# $Self->{DatabaseDSN} = "DBI:mysql:database=$Self→{Database};host=$Self→{DatabaseHost};";

Remova o comentário da linha aproximada a 49 de suporte do banco de dados PostgreSQL retirando o '#' da frente da instrução.

$Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self→{Database};";

Salve o arquivo e saia do editor.

Em seguida, edite o arquivo de inicialização do apache para ativar o suporte ao PostgreSQL.

# nano scripts/apache2-perl-startup.pl

Remova o comentário das linhas aproximadas a 58 e 59:

# enable this if you use postgresql
use DBD::Pg ();
use Kernel::System::DB::postgresql;

Salve o arquivo e saia do editor.

Por fim, verifique se há dependência e módulos ausentes.

# perl -cw /opt/otrs/bin/cgi-bin/index.pl
# perl -cw /opt/otrs/bin/cgi-bin/customer.pl
# perl -cw /opt/otrs/bin/otrs.Console.pl

Você deve ver que o resultado é ' OK ' mostrado na captura de tela abaixo.

verificar módelos perl

6. Importar o banco de dados de amostra

Vamos importar o banco de dados do OTRS, disponível no diretório de scripts.

Efetue login no usuário do postgres e acesse o diretório do OTRS.

# su - postgres
$ cd /opt/otrs/

Insira o esquema de banco de dados e as tabelas com o comando psql como usuário otrs.

Será solicitada a senha do banco de dados, insira 'otrs_pass' quando solicitada.

$ psql -U otrs -W -f scripts/database/otrs-schema.postgresql.sql otrs
$ psql -U otrs -W -f scripts/database/otrs-initial_insert.postgresql.sql otrs
$ psql -U otrs -W -f scripts/database/otrs-schema-post.postgresql.sql otrs
$ exit

7. Iniciar o OTRS

O banco de dados e o OTRS estão configurados, agora podemos iniciar o OTRS.

Defina a permissão do arquivo e diretório otrs para o usuário e grupo www-data.

# /opt/otrs/bin/otrs.SetPermissions.pl --otrs-user=www-data --web-group=www-data

Use o comando ls para verificar as permissões do diretório.

# ls -ldh /opt/otrs/ 
=> drwxr-xr-x 9 www-data www-data 4,0K set 19 13:18 /opt/otrs/

Ative a configuração do otrs apache criando um novo link simbólico do arquivo para o diretório do host virtual do apache.

# ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-available/otrs.conf

Ative o novo host virtual e reinicie o apache.

# a2ensite otrs
# systemctl restart apache2

8. Configurar Cron para o OTRS

O OTRS está instalado e agora em execução no servidor web apache, mas ainda precisamos configurar o Cron para o OTRS.

Efetue login no usuário 'otrs' e, em seguida, vá para o diretório 'var/cron' como o usuário otrs.

# su - otrs
$ cd var/cron/
$ pwd
=> /opt/otrs/var/cron

Copie todos os scripts do cron que terminam com .dist com o comando abaixo.

$ for foo in *.dist; do cp $foo `basename $foo .dist`; done

Volte para o privilégio root com exit e inicie o script cron como outro usuário.

$ exit
# /opt/otrs/bin/Cron.sh start otrs

Em seguida, crie manualmente um novo cronjob para o PostMaster, que busca os emails. Vou configurá-lo para buscar e-mails a cada 2 minutos.

$ su - otrs
$ crontab -e

Cole a configuração abaixo.

*/2 * * * *    $HOME/bin/otrs.PostMasterMailbox.pl >> /dev/null

Salve e saia do arquivo.

Agora pare a daemon e inicie-o novamente.

$ bin/otrs.Daemon.pl stop
$ bin/otrs.Daemon.pl start
$ exit

A instalação e configuração do OTRS esta concluída.

9. Abrindo a página WEB do OTRS

Abra o seu navegador da web e digite o endereço IP do servidor:

http://ip_servidor/otrs/index.pl

Faça login com o usuário padrão '[email protected]' e a senha 'root'.

login otrs

Você receberá uma tela com algumas imagens, mas não se preocupe, é natural que isso aconteça. Estas mensagens só estão alertando você de alguns procedimentos recomendados para que o OTRS possa ser melhor usufruído. 

aviso de erro na daemon do otrs

10. Solução de problemas

A  própria ferramenta já oferece formas de como resolver os problemas, porém, segue aqui a resolução do problema mais crítico relacionado a não execução do OTRS Daemon.

Podemos ativar a inicialização do OTRS Daemon da seguinte forma.

# su - otrs
$ cd /opt/otrs/

Pare o daemon OTRS.

$ bin/otrs.Daemon.pl stop

Inicie o daemon OTRS com a opção --debug.

$ bin/otrs.Daemon.pl start --debug
$ exit

Pronto, esse é um erro bem comum que precisava ser resolvido, agora o resto é com você.

Caso tenha alguma dúvida, ou tenha tido alguma dificuldade no decorrer do processo de instalação da ferramenta de forma que teve êxito na instalação, é só deixar nos comentários que assim que pudermos, estaremos resolvendo esse problema juntamente com você.