Configurando OTRS com PSGI/Plack e executando com Starman
Nesse artigo vou mostrar como configurar OTRS usando PSGI/Plack. Na versão 5.0.12 do OTRS existe um arquivo com PSGI/Plack, mas não funciona por ser algo experimental. Criei um arquivo com PSGI/Plack para executar o OTRS e depois executar com Starman.
Introdução
Eu usei Ubuntu Mate 16.04, mas acredito que funcione em todos os Linux.
Pré-requisitos:
Se não tem Perlbrew instalado, seguem os links para instalar:
wget http://ftp.otrs.org/pub/otrs/otrs-5.0.12.zip
unzip otrs-5.0.12.zip
mv otrs-5.0.12 otrs
MySQL: altere as configurações do MySQL:
Depois de alterar, reinicie o MySQL.
Vamos importar as tabelas para o banco de dados. Acesse a pasta com as tabelas:
cd otrs/scripts/database
Criar banco:
mysql -u root -p -e 'create database otrs charset utf8'
Importar tabelas:
mysql -u root -p otrs < otrs-schema.mysql.sql
mysql -u root -p otrs < otrs-initial_insert.mysql.sql
mysql -u root -p otrs < otrs-schema-post.mysql.sql
Criar usuário:
mysql -u root -p -e 'GRANT ALL PRIVILEGES ON otrs.* TO otrs@localhost IDENTIFIED BY "senha_do_usuario" WITH GRANT OPTION;'
Atualizar permissões nas tabelas:
mysql -u root -p -e 'FLUSH PRIVILEGES;'
Instalar módulos Perl:
cpan YAML
cpan Log::Log4perl
cpan App::cpanminus
cpanm DBD::mysql
cpanm Plack
cpanm Starman
cpanm CGI::Emulate::PSGI
cpanm CGI::Compile
cpanm Date::Format
cpanm Template
Alterando alguns arquivos do OTRS. Criar o arquivo "Config.pm":
cd otrs/Kernel
mv Config.pm.dist Config.pm
Abra o arquivo "Config.pm" com um editor de sua preferência e altere os dados da conexão com o banco de dados e diretório principal.
Conexão:
Diretório:
Agora vamos fazer uma alteração muito importante, abra o arquivo otrs/Kernel/Output/HTML/Layout.pm e vá até a linha 160.
Altere isso:
$Self->{CGIHandle} = $ENV{SCRIPT_NAME} || 'No-$ENV{"SCRIPT_NAME"}';
Por isto:
Pré-requisitos:
- MySQL
- Perlbrew
Se não tem Perlbrew instalado, seguem os links para instalar:
Configuração
OTRS 5.0.12: baixar e descompactar. Pode fazer a instalação em qualquer diretório que o usuário "perlbrew" tem permissão, eu fiz em HOME:wget http://ftp.otrs.org/pub/otrs/otrs-5.0.12.zip
unzip otrs-5.0.12.zip
mv otrs-5.0.12 otrs
MySQL: altere as configurações do MySQL:
max_allowed_packet = 20M query_cache_size = 32M innodb_log_file_size = 256M
Depois de alterar, reinicie o MySQL.
Vamos importar as tabelas para o banco de dados. Acesse a pasta com as tabelas:
cd otrs/scripts/database
Criar banco:
mysql -u root -p -e 'create database otrs charset utf8'
Importar tabelas:
mysql -u root -p otrs < otrs-schema.mysql.sql
mysql -u root -p otrs < otrs-initial_insert.mysql.sql
mysql -u root -p otrs < otrs-schema-post.mysql.sql
Criar usuário:
mysql -u root -p -e 'GRANT ALL PRIVILEGES ON otrs.* TO otrs@localhost IDENTIFIED BY "senha_do_usuario" WITH GRANT OPTION;'
Atualizar permissões nas tabelas:
mysql -u root -p -e 'FLUSH PRIVILEGES;'
Instalar módulos Perl:
cpan YAML
cpan Log::Log4perl
cpan App::cpanminus
cpanm DBD::mysql
cpanm Plack
cpanm Starman
cpanm CGI::Emulate::PSGI
cpanm CGI::Compile
cpanm Date::Format
cpanm Template
Alterando alguns arquivos do OTRS. Criar o arquivo "Config.pm":
cd otrs/Kernel
mv Config.pm.dist Config.pm
Abra o arquivo "Config.pm" com um editor de sua preferência e altere os dados da conexão com o banco de dados e diretório principal.
Conexão:
$Self->{DatabaseHost} = 'localhost';
$Self->{Database} = 'otrs';
$Self->{DatabaseUser} = 'otrs';
$Self->{DatabasePw} = 'senha_do_usuario';
$Self->{Database} = 'otrs';
$Self->{DatabaseUser} = 'otrs';
$Self->{DatabasePw} = 'senha_do_usuario';
Diretório:
$Self->{Home} = '/caminho_do_diretorio/otrs';
Agora vamos fazer uma alteração muito importante, abra o arquivo otrs/Kernel/Output/HTML/Layout.pm e vá até a linha 160.
Altere isso:
$Self->{CGIHandle} = $ENV{SCRIPT_NAME} || 'No-$ENV{"SCRIPT_NAME"}';
Por isto:
$Self->{CGIHandle} = $ENV{SCRIPT_NAME} || 'index.pl';
só não achei a senha para acessar o OTRS depois que completa a instalação..
Qual é o usuário e senha padrão?
Grato