Como instalar o SuiteCRM no Ubuntu 22.04
SuiteCRM é um software CRM (Customer Relationship Management) de código aberto gratuito escrito em PHP. Ajuda você a expandir os departamentos de marketing, vendas e atendimento ao cliente da sua empresa.
SuiteCRM é adequado para quase todos os setores, por ex. manufatura, setor público, tecnologia, finanças, educação e muito mais.
Neste guia, mostraremos como instalar o SuiteCRM em um servidor Ubuntu 22.04 com pilha LAMP (Apache, MariaDB e PHP), UFW (Firewall Descomplicado) habilitado e SSL/TLS via Certbot e Letsencrypt.
Pré-requisitos
Para criar este guia, você deve atender aos seguintes requisitos:
- Um servidor Ubuntu 22.04.
- Um usuário não root com privilégios sudo.
- Um nome de domínio que aponta para um endereço IP de servidor.
Instalando a pilha LAMP como dependências
Antes de começar, execute o seguinte comando para atualizar seu repositório Ubuntu.
sudo apt update
Agora execute o seguinte comando para instalar as dependências do pacote SuiteCRM, incluindo a pilha LAMP (Apache2, MariaDB e PHP) e algumas extensões PHP.
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 confirmar a instalação.
Assim que a instalação for concluída, execute o seguinte comando para verificar o serviço Apache2. Certifique-se de que o Apache2 esteja em execução e habilitado em seu sistema.
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Agora verifique o serviço MariaDB com o comando abaixo. Se o MariaDB estiver rodando, você verá que a saída está ativa (em execução), se estiver habilitada, você verá a saída habilitada.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Por fim, execute o seguinte comando para verificar sua versão do PHP e a lista de extensões habilitadas.
php -v
php -m
Abaixo você pode ver que o PHP 8.1 está instalado e utilizado para a instalação do SuiteCRM.
Configurar o UFW
Neste guia você executará o SuiteCRM com o UFW habilitado. Então você precisa abrir as portas HTTP e HTTPS em seu servidor Ubuntu.
Se ainda não habilitou o UFW, você precisará adicionar o OpenSSH e habilitar o UFW.
sudo ufw allow OpenSSH
sudo ufw enable
Digite y para confirmar e ativar o UFW.
Em seguida, execute o seguinte comando para adicionar o perfil completo do Apache e abrir os protocolos HTTP e HTTPS.
sudo ufw allow 'Apache Full'
Agora verifique a lista de regras habilitadas para UFW com o seguinte comando.
sudo ufw status
Certifique-se de que os perfis OpenSSH e Apache Full estejam ativados.
Configurar o servidor MariaDB
Depois de instalar a pilha LAMP, vamos dar uma olhada na configuração do servidor MariaDB. Nesta seção, você configura a instalação do servidor MariaDB e cria um novo banco de dados e um novo usuário necessário para o SuiteCRM.
Agora execute o comando mariadb-secure-installation para configurar a instalação do servidor MariaDB.
sudo mariadb-secure-installation
Durante todo o processo você será confrontado com a seguinte configuração do servidor MariaDB:
- Mudar para autenticação unix_socket? Digite n e pressione ENTER. O usuário root padrão do MariaDB já está protegido. Opcionalmente, você também pode ativá-lo digitando y para sim.
- Alterar a senha do root? Digite y para confirmar e configurar sua nova senha root do MariaDB.
- Remover usuário anônimo? Digite y para confirmar.
- Proibir login root remotamente? Digite y para confirmar. Se você usar o usuário root do MariaDB, apenas uma conexão local será permitida.
- Remover banco de dados de teste e acesso a ele? Confirme com y e remova o "teste" do banco de dados padrão.
- Por fim, digite y novamente para recarregar todas as permissões de tabela em seu servidor MariaDB e aplicar as novas alterações.
Assim que o processo for concluído, você poderá configurar um novo banco de dados e um novo usuário para o SuiteCRM.
Faça login no servidor MariaDB com o seguinte comando. Pressione ENTER ou digite sua senha root do MariaDB quando solicitado.
sudo mariadb -u root -p
Agora execute as seguintes consultas para criar um novo banco de dados suitecrmdb com o usuário suitecrm e a senha p4ssw0rd. Certifique-se de alterar a seguinte senha com a nova senha.
CREATE DATABASE suitecrmdb;
CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON suitecrmdb.* TO 'suitecrm'@'localhost';
FLUSH PRIVILEGES;
A seguir, execute a seguinte consulta para verificar as permissões do usuário suitecrm. Certifique-se de que o usuário suitecrm esteja autorizado a acessar o banco de dados suitecrmdb.
SHOW GRANTS FOR 'suitecrm'@'localhost';
Quando todos os processos forem concluídos, digite quit para sair do servidor MariaDB.
Configurar PHP
Depois de configurar o servidor MariaDB, você pode configurar a instalação do PHP. Neste caso, você alterará a configuração padrão do PHP da seguinte forma
- Ative o error_reporting personalizado.
- Ative o módulo PHP OPCcache.
- Configure upload_max_filesize personalizado.
- Configure post_max_size.
Abra a configuração padrão do PHP"/etc/php/8.1/apache2/php.ini" e"/etc/php/8.1/cli/php.ini" com o seguindo o comando do editor nano.
sudo nano /etc/php/8.1/apache2/php.ini
sudo nano /etc/php/8.1/cli/php.ini
Altere o fuso horário padrão para o fuso horário do seu servidor.
date.timezone = Europe/Amsterdam
Ajuste os valores memory_limit e max_execution_time para seu sistema atual. Neste exemplo, atribuiremos 256 MB para PHP.
max_execution_time = 60
memory_limit = 256M
Altere os valores padrão upload_max_filesize e post_max_size para 64 MB da seguinte forma.
upload_max_filesize = 64M
post_max_size = 64M
Altere o parâmetro error_reporting padrão da seguinte forma.
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING
Remova o comentário do parâmetro session.save_path para ativar o caminho da sessão PHP para o diretório /var/lib/php/sessions.
session.save_path = "/var/lib/php/sessions"
Adicione o parâmetro opcache.enable=1 para ativar a extensão PHP OPCache e personalize a configuração padrão conforme a seguir.
```
opcache.enable=1
; O tamanho de armazenamento de memória compartilhada do OPcache.
opcache.memory_consumption=256
; O número máximo de chaves (scripts) na tabela hash OPcache.
; Somente números entre 200 e 100.000 são permitidos.
opcache.max_accelerated_files=20000
; Quando desativado, você deve redefinir o OPcache manualmente ou reiniciar o
; servidor web para que as alterações no sistema de arquivos tenham efeito.
opcache.validate_timestamps=0
Salve o arquivo e saia do editor quando terminar.
Agora execute o seguinte comando para reiniciar o servidor web Apache2 e fazer com que suas alterações tenham efeito.
sudo systemctl restart apache2
Baixando e instalando SuiteCRM
Se você seguiu as instruções até agora, instalou a pilha LAMP em seu servidor Ubuntu e configurou todos os programas necessários, incluindo MariaDB e PHP. Agora é hora de baixar o SuiteCRM e instalá-lo em sua máquina Ubuntu.
Primeiro, execute o seguinte comando para criar um novo diretório de destino para a instalação: /var/www/suitecrm.
mkdir -p /var/www/suitecrm
Navegue no diretório /var/www/suitecrm e baixe o código-fonte do SuiteCRM usando o comando wget abaixo. Certifique-se de encontrar o link para a versão mais recente na página de download do SuiteCRM.
cd /var/www/suitecrm
wget https://suitecrm.com/download/144/suite85/563563/suitecrm-8-5-0.zip
Agora execute o comando unzip para descompactar o código-fonte do SuiteCRM em seu diretório de trabalho.
unzip suitecrm-8-5-0.zip
Execute o seguinte comando para configurar as permissões corretas para o código-fonte do SuiteCRM. Neste exemplo, você também configurará a permissão de execução para o comando do console 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
Em seguida, execute o seguinte comando para instalar o SuiteCRM em seu servidor Ubuntu.
sudo -u www-data ./bin/console suitecrm:app:install -u "alice" -p "AlicePassword" -U "suitecrm" -P "p4ssw0rd" -H "127.0.0.1" -N "suitecrmdb" -S "http://crm.hwdomain.io/"
Certifique-se de alterar os seguintes detalhes:
- -u e -p como usuário administrador do SuiteCRM.
- os parâmetros -U, -P, -H e -N como informações do servidor MariaDB.
- -S para o nome de domínio da instalação do SuiteCRM.
Assim que a instalação for concluída, você verá uma saída como esta:
Configurar host virtual Apache
Agora que você baixou e instalou o SuiteCRM, vamos adicionar uma nova configuração para o host virtual Apache no qual deseja que o SuiteCRM seja executado.
Antes de começar, use o seguinte comando para ativar alguns módulos do Apache exigidos pelo SuiteCRM.
sudo a2enmod rewrite header ssl
Agora execute o seguinte comando no editor nano para criar uma nova configuração de host virtual Apache `/etc/apache2/sites-available/suitecrm.conf`.
sudo nano /etc/apache2/sites-available/suitecrm.conf
Adicione a seguinte configuração de host virtual para SuiteCRM. Altere a opção ServerName pelo nome do domínio alvo da sua instalação do SuiteCRM.
<VirtualHost *:80>
DocumentRoot /var/www/suitecrm/public
ServerName crm.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>
Quando terminar, salve e saia do arquivo.
Em seguida, execute o seguinte comando para ativar a nova configuração do host virtual e verificar a sintaxe do Apache.
a2ensite suitecrm.conf
apachectl configtest
Se você tiver uma sintaxe correta do Apache, obterá a saída Syntax OK.
Agora execute o seguinte comando systemctl para reiniciar o servidor web Apache e ativar suas alterações.
sudo systemctl restart apache2
A instalação do SuiteCRM deve estar em execução agora. No entanto, para garantir a segurança da sua instalação, configure HTTPS seguro via Certbot e Letsencrypt.
Protegendo SuiteCRM com HTTPS via Certbot e Letsencrypt
Antes de poder acessar a instalação do SuiteCRM, você precisa habilitar o HTTPS. Isso pode ser feito via Certbot e Letsencrypt, que fornecem certificados SSL gratuitos e configuram automaticamente HTTPS em seu host virtual Apache.
Primeiro, execute o comando abaixo para instalar os plugins Apache Certbot e Certbot.
sudo apt install certbot python3-certbot-plugin
Assim que a instalação for concluída, execute o comando abaixo para gerar novos certificados SSL/TLS do Letsencrypt. Certifique-se de alterar as informações detalhadas do nome de domínio e endereço de e-mail com seus dados.
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-oscp --email [email -d crm.hwdomain.io
Se tudo correr bem, seus certificados SSL/TLS deverão estar disponíveis no diretório /etc/letsencryp/live/yourdomain.com. Além disso, a instalação do SuiteCRM deve ser configurada automaticamente com HTTPS.
Inicie o seu navegador da web e vá para o nome de domínio da instalação do SuiteCRM, por exemplo. http://crm.hwdomain.io/. Você deverá ver a página de login do SuiteCRM como esta abaixo:
Digite seu usuário administrador e senha que você criou durante a instalação e confirme com Login.
Se sua instalação foi bem-sucedida, você deverá ver o painel do SuiteCRM assim:
Conclusão
Parabéns! Você instalou o SuiteCRM com sucesso no servidor Ubuntu 22.04. Você instalou a solução CRM de código aberto SuiteCRM com a pilha LAMP e configurou HTTPS seguro para SuiteCRM via Certbot e Letsencrypt.