Como Instalar o Acelle Mail em VPS Linux

11 min de leitura Tutoriais de Infraestrutura
Como Instalar o Acelle Mail em VPS Linux

O e-mail marketing continua sendo um dos canais de comunicação com o melhor ROI (Retorno sobre Investimento) para negócios digitais. Enquanto ferramentas SaaS como Mailchimp ou SendGrid oferecem praticidade, elas impõem limites rígidos de envio, cobram por contato ou por volume de emails e mantêm seus dados em servidores de terceiros. Para empresas que lidam com grandes volumes de dados sensíveis, precisam de controle total sobre a infraestrutura ou desejam evitar custos variáveis crescentes, a solução email marketing self hosted torna-se a escolha estratégica ideal.

Neste tutorial técnico da Toda Solução, vamos detalhar o processo completo para instalar Acelle Mail na VPS. O Acelle Mail é uma plataforma de código aberto (open-source) construída sobre o framework Laravel, projetada para ser leve, rápida e altamente personalizável. Diferente de soluções mais pesadas como Mautic ou SuiteCRM, o Acelle foca estritamente no envio de newsletters e automação de e-mails, oferecendo uma interface moderna e um motor de processamento eficiente.

Pré-requisitos e Preparação do Ambiente

Antes de iniciarmos a instalação, é fundamental garantir que seu ambiente Linux esteja preparado. O Acelle Mail exige requisitos específicos de software para funcionar corretamente. Recomendamos o uso de uma distribuição Debian 11 ou Ubuntu 20.04/22.04 LTS em sua VPS.

Os pré-requisitos obrigatórios incluem:

  • Sistema Operacional: Linux (Debian ou Ubuntu recomendados).
  • PHP: Versão 8.1 ou superior (suporte a PHP 8.2 recomendado para melhor performance).
  • Banco de Dados: MySQL 5.7+ ou MariaDB 10.3+.
  • Web Server: Nginx ou Apache com suporte a mod_rewrite.
  • Extensões PHP: pdo_mysql, mbstring, openssl, tokenizer, xml, curl, zip, bcmath e redis.
  • Redis: Essencial para o sistema de filas (queues) do Laravel, garantindo que o envio de emails não bloqueie a interface web.

Para este tutorial, assumiremos que você já tem acesso SSH com privilégios de root ou um usuário sudo na sua VPS. Se ainda não configurou o servidor de banco de dados ou o Nginx, é recomendado instalar o LEMP Stack (Linux, Nginx, MySQL, PHP) previamente.

Passo 1: Atualização do Sistema e Instalação das Dependências

O primeiro passo em qualquer infraestrutura DevOps sólida é garantir que os pacotes do sistema estejam atualizados. Isso evita conflitos de bibliotecas e garante a segurança inicial do servidor.

apt update && apt upgrade -y
apt install curl git unzip redis-server nginx mysql-server php8.2-fpm php8.2-mysql php8.2-common php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip php8.2-bcmath php8.2-redis -y

Após a instalação, inicie e habilite os serviços do Redis e do PHP-FPM para garantir que eles rodem automaticamente ao reiniciar a VPS.

systemctl enable redis-server
systemctl start redis-server
systemctl restart php8.2-fpm

Verifique se o módulo de reescrita do Nginx está habilitado, pois o Acelle Mail depende dele para URLs amigáveis e roteamento correto.

a2enmod rewrite
systemctl restart nginx

Passo 2: Configuração do Banco de Dados

O próximo estágio é criar o banco de dados MySQL e um usuário dedicado para o Acelle Mail. Por questões de segurança, nunca utilize o usuário root do MySQL para a aplicação.

mysql -u root -p

Dentro do prompt do MySQL, execute os seguintes comandos:

CREATE DATABASE acelle_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'acelle_user'@'localhost' IDENTIFIED BY 'SenhaForteAqui123!';
GRANT ALL PRIVILEGES ON acelle_db.* TO 'acelle_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Substitua SenhaForteAqui123! por uma senha complexa. Guarde essas credenciais, pois serão necessárias durante a configuração do arquivo de ambiente da aplicação.

Passo 3: Download e Extração do Acelle Mail

Agora vamos baixar o código-fonte do Acelle Mail. Embora possamos usar o Git, para ambientes de produção estáveis, recomenda-se baixar a última versão em release (zip) diretamente do repositório oficial ou via Composer.

cd /var/www
git clone https://github.com/acellemail/acelle-mail.git
cd acelle-mail

Atribua as permissões corretas ao diretório. O usuário do web server (geralmente www-data no Debian/Ubuntu) precisa ter permissão de escrita na pasta storage e bootstrap/cache.

chown -R www-data:www-data /var/www/acelle-mail
chmod -R 755 /var/www/acelle-mail/storage
chmod -R 755 /var/www/acelle-mail/bootstrap/cache

Passo 4: Instalação das Dependências PHP com Composer

O Acelle Mail utiliza o Composer para gerenciar suas dependências PHP. Se você ainda não tem o Composer instalado, faça-o agora:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Em seguida, instale as bibliotecas necessárias no diretório do projeto. Isso pode levar alguns minutos dependendo da velocidade da sua conexão e da VPS.

cd /var/www/acelle-mail
composer install --no-dev --optimize-autoloader

A flag --no-dev é crucial em produção, pois remove ferramentas de desenvolvimento desnecessárias, reduzindo o tamanho do projeto e melhorando a segurança.

Passo 5: Configuração do Arquivo .env

O coração da configuração do Acelle Mail reside no arquivo .env. Copie o modelo existente e edite-o com as informações do seu banco de dados e configurações de site.

cp .env.example .env
nano .env

Altere as seguintes linhas conforme sua configuração:

APP_NAME="Acelle Mail"
APP_ENV=production
APP_KEY= (gere uma chave única usando php artisan key:generate)
APP_DEBUG=false
APP_URL=http://seu-dominio.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=acelle_db
DB_USERNAME=acelle_user
DB_PASSWORD=SenhaForteAqui123!

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

Importante: Gere a chave da aplicação executando php artisan key:generate antes de salvar o arquivo. Isso garante que as sessões e dados criptografados na plataforma sejam seguros.

Passo 6: Configuração do Nginx

Crie um novo bloco de servidor no Nginx para hospedar o Acelle Mail. Crie o arquivo /etc/nginx/sites-available/acelle-mail.

server {
    listen 80;
    server_name mail.seudominio.com;

    root /var/www/acelle-mail/public;
    index index.php index.html;

    charset utf8mb4;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    # Otimizações de cache e segurança básicas
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
}

Habilite o site e teste a configuração do Nginx.

ln -s /etc/nginx/sites-available/acelle-mail /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx

Passo 7: Execução da Instalação e Migração do Banco de Dados

Com o ambiente pronto, execute as migrações do banco de dados para criar as tabelas necessárias.

cd /var/www/acelle-mail
php artisan migrate --force

Em seguida, rode o seeders para popular o banco com dados iniciais, como o usuário administrador padrão e configurações básicas.

php artisan db:seed --force

Se tudo correr bem, você verá mensagens de sucesso no terminal. O usuário padrão geralmente é [email protected] com senha password. **Altere essa senha imediatamente após o primeiro login.**

Passo 8: Configuração do Supervisor para Filas (Queues)

Para uma plataforma de automatização de e-mail eficiente, o envio de mensagens não pode bloquear a resposta da interface web. O Acelle Mail usa o sistema de filas do Laravel com Redis. Precisamos configurar o Supervisor para gerenciar o processo de escuta dessas filas.

Crie um arquivo de configuração para o Supervisor em /etc/supervisor/conf.d/acelle-mail.conf:

[program:acelle-mail]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/acelle-mail/artisan queue:work redis --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/acelle-mail/storage/logs/queue.log

Recarregue a configuração do Supervisor e inicie os processos.

supervisorctl reread
supervisorctl update
supervisorctl start acelle-mail:*

Verifique se os processos estão rodando com supervisorctl status. Você deve ver dois processos (devido ao numprocs=2) em estado "RUNNING". Isso garante que seu servidor de e-mail privado processará as filas de envio de forma assíncrona e escalável.

Passo 9: Configuração SSL com Let's Encrypt

Nunca deixe uma plataforma de login e gestão de contatos rodando sem HTTPS. Utilize o Certbot para obter um certificado gratuito.

apt install certbot python3-certbot-nginx -y
certbot --nginx -d mail.seudominio.com

Siga as instruções no terminal para configurar a redirecionamento automático de HTTP para HTTPS. O Acelle Mail também exigirá que você atualize o APP_URL no arquivo .env para https://.

Otimizações Finais e Boas Práticas

Para garantir a melhor performance da sua plataforma newsletter linux, considere as seguintes otimizações:

  1. Opimização do PHP: Ajuste o memory_limit no php.ini para pelo menos 256M ou 512M, dependendo do volume de emails.
  2. Cron Jobs: Embora o Supervisor gerencie as filas, alguns comandos do Acelle podem precisar de agendamento. Adicione ao crontab do usuário www-data: * * * * * cd /var/www/acelle-mail && php artisan schedule:run >> /dev/null 2>&1.
  3. Firewall: Garanta que apenas as portas 80 (HTTP), 443 (HTTPS) e 22 (SSH) estejam abertas no seu firewall (UFW ou Iptables).

Conclusão: Vantagens da Infraestrutura DevOps para E-mail Marketing

Ter o tutorial acelle mail em mãos permite que você tome o controle real da sua estratégia de comunicação. Ao escolher o mailing list management self-hosted, você elimina a dependência de provedores externos e evita bloqueios de conta por atividades legítimas de marketing.

A instalação descrita acima cria uma base sólida para escalar seus envios. Como sysadmins ou devs, você pode integrar essa plataforma com suas ferramentas existentes via API, monitorar o uso de recursos através do Prometheus/Grafana e manter a conformidade com LGPD, já que os dados residem em sua infraestrutura.

Lembre-se de realizar backups regulares do banco de dados acelle_db e do diretório storage. Um script simples de backup diário via cron é essencial para a continuidade do seu negócio. Agora, com o Acelle Mail rodando em sua VPS, você está pronto para criar campanhas sofisticadas, segmentar audiências com precisão e analisar métricas detalhadas, tudo isso sob sua total governança técnica.

Para dúvidas sobre configuração avançada de DNS (SPF, DKIM, DMARC) essenciais para a entregabilidade dos seus e-mails, consulte nossa documentação complementar sobre infraestrutura de envio. A qualidade da sua infra estrutura devops impacta diretamente a caixa de entrada do seu cliente.

Compartilhar: Link copiado!
Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000