Pesquisa de site

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.

Artigos relacionados: