Como instalar o vTiger: CRM Open Source Linux

Neste tutorial mostrarei como instalar e configurar o vTiger, solução de CRM Open Source, em um servidor Linux utilizando o NginX como webserver e o ISPConfig 3 como webpanel.

vTiger CRM é uma solução de negócios que permite várias funções administrativas como automação de vendas, suporte e atendimento ao cliente com tickets, automação de marketing e campanhas, gestão de estoque, análise e apresentação de relatórios, integração com sistemas de email, aplicativos mobile, entre outras. O detalhamento sobre as funções e características do vTiger pode ser encontrado na página oficial do projeto ou na Wikipédia.

Pode-se instalar a ferramenta na maioria das grandes distribuições Linux, mas neste documento irei mostrar como é fácil, prático e seguro fazer o deploy usando a mesma estrutura aplicada nos tutoriais aqui do Fator Binário.

vTiger: Solução CRM Open Source integrada

* Para instalar e preparar o sistema é recomendável seguir nosso tutorial  de Servidor Linux Debian 8 x64 “Jessie” com ISPConfig 3 e NginX + Servidor de Emails, clique aqui e aprenda a instalar. O servidor pode ser instalado em VPS ou dedicados.

Adicione o site ao painel do ISPConfig

Uma das grandes vantagens de utilizar o ISPConfig para gerenciar sites é que ele cria automaticamente quase todas as diretivas NginX seguindo normas de segurança, “enjaulando” os scripts e o banco de dados corretamente ao domínio.

A Acesse o menu “Sites” e clique em “Adicionar novo Site“. Deixe a maioria dos campos com o valor padrão, preencha somente o campo “Dominio” com o dominio sem http ou www, exemplo “sitevtigercrm.com.br“. Obviamente você terá que usar um domínio válido que seja seu. Em um segundo exemplo poderíamos adicionar o site como um subdominio, exemplo: “crm.meudominio.com.br”.

Ainda na mesma tela, altere o campo “PHP” de Desativado para “PHP-FPM“. Em seguida clique no botão Salvar e aguarde um minuto para que a estrutura do site seja criada. *Um grande erro que pode-se cometer aqui é tentar alterar as demais telas de configuração sem aguardar a criação da estrutura do site. Sempre aguarde um minuto.

B Edite o site recém salvo e clique na aba “Opções”. No campo “php.ini personalizado” cole os parâmetros abaixo, note que o ISPConfig permite que sejam configuradas variáveis PHP e NginX personalizadas para cada site:

display_errors = On
max_execution_time = 600
error_reporting = E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
log_errors = Off
short_open_tag = On

Na mesma aba “Opções”, no campo “Diretivas do Nginx“, cole as regras abaixo. Isso permitirá que o vTiger trate as telas de erro, caso contrário o NginX interceptará os erros:

log_not_found off;

location @php {
   try_files $uri =404;
   include /etc/nginx/fastcgi_params;
   fastcgi_pass unix:/var/lib/php5-fpm/web1.sock;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_intercept_errors off; 
}

* Note que destaquei em vermelho a instrução web1.sock. Você deverá substituir web1 pelo usuário Linux do site. Nesta mesma tela de Opções o Usuário Linux do site é exibido no terceiro campo.

** Como eu disse acima, o ISPConfig já adiciona automaticamente a maioria das diretivas necessárias para os sites. Se quiser visualizar todo o arquivo vhost criado, acesse o diretório de sistema em /etc/nginx/sites-available.

C Adicione um usuário Linux SSH em jail para instalar o site e editar os arquivos.

No mesmo menu “Sites” acesse o submenu lateral “Usuários Shell“.  Clique em “Adicionar Novo Usuário”. Selecione o site criado para o vTiger e digite um nome único para o usuário evitando nomes comuns ou já usados como “admin” ou outro usado anteriormente ou que seja de sistema. Um bom método para criar usuários não repetitivos é adicionar o prefixo “usrssh” seguido do site, por exemplo: usrsshmeucrm. Digite ainda uma senha difícil e confirme ela. E por último, e isso é muito importante, selecione “Jailkit” no campo “Shell Enjaulado (chroot)”, isso fará com que, se houver invasão no site, o hacker fique enjaulado na pasta do site.

D Adicione o Banco de Dados que será usado pelo vTiger.

Acesse o submenu “Bancos de Dados/Usuários“. Clique no botão para adicionar um novo usuário de banco e preencha com um nome de usuário não repetitivo e digite uma senha difícil para ele. Siga o exemplo acima e crie este usuário como usrdbmeucrm.

Acesse o submenu “Bancos de Dados/Bancos de Dados“. Clique para adicionar um novo banco. No campo “Site” selecione o site do vTiger. Em “Nome do Banco de Dados” digite um nome sugestivo como por exemplo dbmeucrm. No campo “Usuário do Banco de Dados” selecione o usuário DB recém criado. E no “Charset do Banco de Dados” selecione UTF-8.

Note que fazendo isso o ISPConfig já criará todas as permissões corretas amarrando o usuário/banco/site.

2 Instale e configure o vTiger

Agora só precisamos baixar e instalar o vTiger CRM. Poderíamos ter simplesmente criado um usuários FTP para o site e acessar a pasta dele pelo Filezilla copiando os arquivos para ela, mas fazendo isso perderíamos a chance de aprender a usar o SSH em Jail, que é uma opção muito mais segura e prática. Usaremos o WinSCP que funciona como explorer de arquivos e console SSH, para instalar o WinSCP acesse este tutorial.

Faça login no servidor com as credenciais do usuário SSH e acesse a pasta /web. Em seguida faça download do arquivo de instalação e descompacte-o no diretório /web. Digite os comandos:

> cd /web

> wget --no-check-certificate http://sourceforge.net/projects/vtigercrm/files/vtiger%20CRM%206.5.0/Core%20Product/vtigercrm6.5.0.tar.gz

> tar xzvf vtigercrm6.5.0.tar.gz

*Provavelmente será criada uma pasta vtiger ou algo parecido. Devemos mover o conteúdo dela para a raiz. Acesse a pasta e use o comando MOVE do Linux:
> cd /web/vtiger*

> mv * ../.

Último passo. Acesse a URL do site, que deverá estar com o registro apontado na tabela DNS e NS propagado.

O vTiger fará uma checagem nas configurações. O único aviso erroneamente exibido é a solicitação para alterar a variável PHP “max_execution_time” para um valor infinito, isso além de perigoso é uma péssima prática, ignore o warning.

Prossiga com a instalação preenchendo os próximos campos com o usuário, senha e nome do banco de dados. E nas telas seguintes preencha o nome admin e senha para o painel do vTiger, além de confirmar o carregamento de módulos, a Timezone e moeda local. *Se o CRM não estiver configurado para Português Brasileiro ainda pode-se facilmente alterá-lo nas opções do painel.