Pesquisa de site

Como instalar o SuiteCRM no Debian 12


SuiteCRM é um software CRM (Customer Relationship Management) gratuito e de código aberto escrito em PHP. Ele ajuda você a organizar e gerenciar os departamentos de marketing, vendas e atendimento ao cliente da sua empresa. SuiteCRM é adequado para quase todos os setores, como manufatura, setores públicos, tecnologia, finanças, educação, etc.

Neste guia, orientaremos você passo a passo na instalação do SuiteCRM no servidor Debian 12. Você instalará e executará o SuiteCRM com o LAMP Stack (Apache2, MariaDB e PHP) em sua máquina Debian. Você também protegerá o SuiteCRM com certificados SSL/TLS da Letsencrypt.

Pré-requisitos

Os seguintes requisitos são necessários para continuar com este guia:

  • Um servidor Debian 12.
    Um usuário não root com privilégios de administrador.
    Um nome de domínio apontado para um endereço IP de servidor.

Instalando Dependências

SuiteCRM é um software CRM escrito em PHP com MySQL/MariaDB como banco de dados. Neste guia, você executará o SuiteCRM com o LAMP Stack (Apache2, MariaDB e PHP) e agora instalará pacotes LAMP Stack com extensões PHP adicionais.

Primeiro, atualize o índice do seu pacote Debian através do comando apt update abaixo.

sudo apt update

Agora instale os pacotes LAMP Stack (Apache2, MariaDB e PHP) com algumas extensões PHP usando o seguinte comando.

sudo apt install apache2 mariadb-server php php-cli php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-opcache php-soap php-imap php-ldap unzip

Digite y para prosseguir com a instalação.

Em seguida, execute o seguinte comando systemctl para verificar o serviço Apache2. Isso garantirá que o serviço Apache2 esteja habilitado e em execução.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

A saída enabled confirma que o apache2 está habilitado, e a saída active (running) confirma que o apache2 está em execução.

Verifique o serviço mariadb usando o seguinte comando.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Semelhante à saída do serviço Apache2, você verá que o serviço mariadb está habilitado e em execução.

Por último, verifique a versão do PHP e algumas extensões habilitadas executando o seguinte comando.

php -v
php -m

A saída a seguir mostra que o PHP 8.2 está instalado com alguns módulos habilitados, como curl, exif, fileinfo e gd.

Configurando o servidor MariaDB

Após instalar as dependências, você protegerá a instalação do servidor MariaDB e criará um novo banco de dados e usuário que será usado para o SuiteCRM.

Execute o comando mariadb-secure-installation abaixo para proteger seu servidor MariaDB.

sudo mariadb-secure-installation

Durante o processo, insira Y para confirmar a configuração ou n para Não e negue as alterações.

  • Mudar para autenticação unix_socket?. Insira n e pressione ENTER. O usuário root padrão do MariaDB já está protegido. opcionalmente, você também pode habilitá-lo digitando y para sim.
  • Alterar a senha do root?. Insira y para confirmar e configurar sua nova senha root do MariaDB.
  • Remover usuário anônimo?. Insira y para confirmar.
  • Proibir login root remotamente? Insira y para confirmar. Somente conexão local será permitida se você estiver usando o usuário root do MariaDB.
  • Remover banco de dados de teste e acesso a ele?. Insira y para confirmar e remover o 'teste' do banco de dados padrão.
  • Por último, insira y novamente para recarregar todos os privilégios de tabelas em seu servidor MariaDB e aplicar novas alterações.

Agora que o MariaDB está seguro, você criará um novo banco de dados e usuário para o SuiteCRM.

Faça login no servidor MariaDB por meio do comando do cliente mariadb abaixo. Insira sua senha root do MariaDB quando solicitado.

sudo mariadb -u root -p

A seguir, execute as seguintes consultas para criar um novo banco de dados suitecrmdb e o usuário suitecrm com senha password. Certifique-se de alterar a senha com sua própria senha.

CREATE DATABASE suitecrmdb;
CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON suitecrmdb.* TO 'suitecrm'@'localhost';
FLUSH PRIVILEGES;

Agora execute a seguinte consulta para verificar o usuário suitecrm.

SHOW GRANTS FOR 'suitecrm'@'localhost';

Na saída a seguir, você verá que o usuário suitecrm tem acesso ao banco de dados suitecrmdb.

Digite quit para sair do servidor MariaDB.

Configurando PHP

Agora que o servidor MariaDB está configurado, o próximo passo é configurar a instalação do PHP. O SuiteCRM exigiu algumas alterações nas configurações do PHP, como custom error_reporting, habilitação do módulo OPCache, e também custom upload_max_filesize e post_max_size.

Abra a configuração padrão do PHP /etc/php/8.2/apache2/php.ini e /etc/php/8.2/cli/php.ini usando o seguinte comando do editor nano .

sudo nano /etc/php/8.2/apache2/php.ini
sudo nano /etc/php/8.2/cli/php.ini

Altere os parâmetros padrão de algumas configurações usando as linhas a seguir. Certifique-se de ajustar date.timezone com o fuso horário do seu servidor e memory_limit com a memória do servidor.

date.timezone = Europe/Amsterdam
max_execution_time = 60
memory_limit = 256M
upload_max_filesize = 25M
post_max_size = 25M

Altere o parâmetro error_reporting padrão assim:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING

Remova o comentário do parâmetro session.save_path para configurar o caminho de sessão padrão para /var/lib/php/sessions.

session.save_path = "/var/lib/php/sessions"

Agora habilite a extensão OPCache e ajuste algumas configurações como as seguintes:

opcache.enable=1
; The OPcache shared memory storage size.
opcache.memory_consumption=256
; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=20000
; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
opcache.validate_timestamps=0

Salve e feche o arquivo quando terminar.

Agora execute o seguinte comando systemctl para reiniciar o serviço Apache2 e aplicar as alterações que você fez.

sudo systemctl restart apache2

Baixando e instalando SuiteCRM

Neste ponto, o LAMP Stack agora está configurado para SuiteCRM. Agora você irá baixar o código-fonte do SuiteCRM e instalá-lo através da linha de comando.

Crie um novo diretório /var/www/suitecrm que será usado como destino de instalação do SuiteCRM.

mkdir -p /var/www/suitecrm

Vá para o diretório /var/www/suitecrm e baixe o código-fonte do SuiteCRM usando o comando wget abaixo. Não deixe de conferir a página de download do SuiteCRM para obter a versão mais recente do código-fonte. No momento, SuiteCRM 8.4 é a versão mais recente.

cd /var/www/suitecrm
wget https://suitecrm.com/download/142/suite84/562972/suitecrm-8-4-0.zip

Depois de baixado, extraia o arquivo suitecrm-8-4-0.zip usando o comando de descompactação abaixo.

unzip suitecrm-8-4-0.zip

Em seguida, execute o seguinte comando para configurar a permissão e propriedade adequadas do código-fonte do SuiteCRM.

find . -type d -not -perm 2755 -exec chmod 2755 {} \;
find . -type f -not -perm 0644 -exec chmod 0644 {} \;
find . ! -user www-data -exec chown www-data:www-data {} \;
chmod +x bin/console

Por último, execute o arquivo binário /var/www/suitecrm/bin/console para instalar o SuiteCRM através da linha de comando. Certifique-se de alterar os detalhes do nome do banco de dados, usuário, host, nome de domínio de destino, usuário administrador e senha que serão usados para a instalação do SuiteCRM.

sudo -u www-data ./bin/console suitecrm:app:install -u "alice" -p "password" -U "suitecrm" -P "password" -H "127.0.0.1" -N "suitecrmdb" -S "http://suitecrm.hwdomain.io/"

Assim que a instalação for concluída, a seguinte saída será mostrada em seu terminal:

Configurando o host virtual Apache2 para suíte

Na etapa seguinte, você criará uma nova configuração de host virtual Apache2 que será usada para executar o SuiteCRM. Antes de continuar, certifique-se de ter um nome de domínio apontado para o endereço IP do seu servidor.

Execute o comando a2enmod abaixo para habilitar os módulos Apache2 exigidos pelo SuiteCRM.

sudo a2enmod rewrite ssl header

Em seguida, crie uma nova configuração de host virtual Apache2 /etc/apache2/sites-available/suitecrm.conf usando o seguinte comando do editor nano.

sudo nano /etc/apache2/sites-available/suitecrm.conf

Insira a seguinte configuração e certifique-se de alterar a opção ServerName com o seu nome de domínio.

<VirtualHost *:80>
 DocumentRoot /var/www/suitecrm/public
 ServerName suitecrm.hwdomain.io
 <Directory /var/www/suitecrm/public>
    Options FollowSymLinks
    AllowOverride All
 </Directory>
 ErrorLog /var/log/apache2/suitecrm-error.log
 CustomLog /var/log/apache2/suitecrm-access.log common
</VirtualHost>

Salve e feche o arquivo quando terminar.

Agora execute o seguinte comando para ativar o arquivo host virtual suitecrm.conf e verifique suas configurações do Apache2.

sudo a2ensite suitecrm.conf
sudo apachectl configtest

Se você tiver a sintaxe correta, deverá obter a saída Syntax OK.

Em seguida, execute o comando systemctl abaixo para reiniciar o serviço Apache2 e aplicar as alterações.

sudo systemctl restart apache2

Por último, abra seu navegador e visite o nome de domínio da instalação do SuiteCRM, como http://suitecrm.hwdomain.io/. Se tudo correr bem, você deverá ver a página de login do SuiteCRM.

Protegendo SuiteCRM com SSL/TLS da Letsencrypt

Com tudo configurado, agora você protegerá o SuiteCRM com certificados SSL/TLS da Letsencrypt.

Instale o plugin Certbot e Certbot Apache usando o seguinte comando apt install. Digite y para prosseguir com a instalação.

sudo apt install certbot python3-certbot-apache

Agora execute o comando certbot abaixo para gerar certificados SSL/TLS. Certifique-se de alterar o nome de domínio e o endereço de e-mail no comando a seguir.

sudo certbot --apache --agree-tos --no-eff-email  --redirect --hsts --staple-ocsp --email [email  -d suitecrm.hwdomain.io

Assim que o processo for concluído, seus certificados SSL serão gerados no diretório /etc/letsencrypt/live/suitecrm.hwdomain.io. Além disso, o arquivo host virtual SuiteCRM suitecrm.conf será configurado automaticamente com HTTPS.

De volta ao seu navegador e visite o nome de domínio do SuiteCRM, você será redirecionado para a página de login do SuiteCRM para conexões HTTPS seguras. Insira seu usuário e senha de administrador e clique em Login.

Se tudo correr bem, você deverá ver o painel de administração do SuiteCRM como o seguinte:

Conclusão

Para finalizar, você instalou com sucesso o SuiteCRM no servidor Debian 12 com LAMP Stack (Apache2, MariaDB e PHP). Você também protegeu o SuiteCRM com SSL/TLS Letsencrypt, que é gerado via Certbot. Agora você pode usar o SuiteCRM como o principal aplicativo de CRM (Customer Relationship Management) para o seu negócio e pode começar adicionando o servidor SMTP à instalação do SuiteCRM.

Artigos relacionados: