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.