FreeScout Self-Hosted: Helpdesk Open Source Gratuito e Completo

11 min de leitura Helpdesk Self-Hosted
FreeScout Self-Hosted: Helpdesk Open Source Gratuito e Completo

O que é o FreeScout e por que escolher uma instalação self-hosted?

No cenário atual de TI, a gestão eficiente do suporte técnico é tão crítica quanto a estabilidade dos servidores. Muitas empresas utilizam plataformas SaaS (Software as a Service) populares, como Freshdesk ou Zendesk, para gerenciar tickets. Embora essas ferramentas ofereçam conveniência, elas frequentemente impõem custos recorrentes por agente, limitações de armazenamento e dependência de terceiros para acessar dados históricos.

O FreeScout surge como uma alternativa robusta, open-source e totalmente gratuita para quem deseja manter o controle total sobre sua infraestrutura de helpdesk. Diferente de outras soluções que exigem licenças complexas, o FreeScout funciona como um cliente de e-mail completo com sistema de tickets integrado. Ele permite que você converta emails recebidos em tickets automaticamente, mantendo a comunicação centralizada na caixa postal do seu domínio.

Instalar o FreeScout self-hosted em um VPS Linux oferece vantagens significativas:

  • Controle de Dados: Seus dados de clientes e histórico de tickets permanecem no seu servidor, garantindo conformidade com LGPD e políticas internas.
  • Custo Zero de Licença: O software é gratuito. Você paga apenas pela infraestrutura (VPS), que pode ser otimizada para rodar a aplicação sem sobrecarga.
  • Integração com E-mail: Utiliza o protocolo IMAP padrão, permitindo conectar contas existentes do seu domínio (@suaempresa.com.br).

Neste tutorial técnico, guiaremos você através da instalação completa do FreeScout em um ambiente Linux Ubuntu/Debian, utilizando Apache e PHP, preparando o servidor para uma operação profissional de suporte.

Pré-requisitos e Preparação do Ambiente

Antes de iniciar a instalação, é fundamental garantir que o servidor atenda aos requisitos mínimos. O FreeScout é leve, mas requer um ambiente PHP estável e um banco de dados confiável.

Requisitos Mínimos Recomendados:

  • Sistema Operacional: Ubuntu 20.04 LTS ou superior / Debian 11 ou superior.
  • CPU: 1 núcleo (ou mais para múltiplos agentes).
  • RAM: 512 MB a 1 GB (recomendado 2GB para melhor performance com cache).
  • Disk Space: 10 GB SSD mínimo.
  • Dominio: Um domínio completo apontando para o IP do servidor com registros A e MX configurados para recebimento de e-mails.

A primeira etapa consiste em atualizar o sistema operacional e instalar as dependências básicas necessárias para a compilação e execução das ferramentas web.

sudo apt update
sudo apt upgrade -y
sudo apt install curl wget gnupg2 software-properties-common -y

Com o sistema atualizado, precisamos configurar o repositório do PHP. O FreeScout recomenda a versão 7.4 ou superior (sendo que versões mais recentes como 8.1 ou 8.2 são ideais para segurança e performance). Vamos adicionar o repositório ondrej/php, amplamente utilizado na comunidade Debian/Ubuntu.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

Instalação do Servidor Web e Banco de Dados

O FreeScout é uma aplicação web escrita em PHP. Portanto, precisamos instalar o servidor web (Apache ou Nginx) e o interpretador PHP com as extensões necessárias. Para este tutorial, utilizaremos o Apache por sua simplicidade na configuração de virtual hosts, mas a lógica é similar para Nginx.

Instalando o Apache

sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2

Habilite os módulos essenciais do Apache para funcionamento de aplicações modernas:

sudo a2enmod rewrite headers proxy proxy_http ssl

Instalando o PHP e Extensões

Aqui está o ponto crítico. O FreeScout depende de extensões específicas do PHP para processar e-mails, gerar PDFs e gerenciar sessões. Instale o pacote PHP completo junto com as dependências críticas.

sudo apt install php8.1 libapache2-mod-php8.1 php8.1-common php8.1-mysql php8.1-curl php8.1-json php8.1-xml php8.1-intl php8.1-zip php8.1-bcmath php8.1-gd php8.1-imap php8.1-mbstring php8.1-cli php8.1-opcache -y

Atenção: A extensão php8.1-imap é obrigatória, pois o FreeScout utiliza a biblioteca IMAP nativa do PHP para conectar às caixas postais dos agentes e aos servidores de entrada.

Instalando o MySQL/MariaDB

O banco de dados armazenará os tickets, usuários e configurações. Vamos instalar o MariaDB, que é compatível com MySQL e oferece excelente performance.

sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

Execute o script de segurança inicial para proteger a instalação do banco de dados:

sudo mysql_secure_installation

Siga as instruções na tela: defina uma senha root forte, remova usuários anônimos, desabilite login root remoto e remova o banco de teste.

Criação do Banco de Dados e Usuário do FreeScout

Agora que o MariaDB está seguro, precisamos criar o banco de dados dedicado para o FreeScout. Evite usar o usuário root do banco para a aplicação.

sudo mysql -u root -p

Dentro do prompt do MySQL, execute os seguintes comandos (substituindo 'senha_forte_aqui' por uma senha segura gerada por você):

CREATE DATABASE freescout_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'freescout_user'@'localhost' IDENTIFIED BY 'senha_forte_aqui';
GRANT ALL PRIVILEGES ON freescout_db.* TO 'freescout_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Com o banco de dados pronto, podemos prosseguir para o download e configuração do software.

Download e Extração do FreeScout

Acesse o diretório /var/www onde os sites web são armazenados. Vamos baixar a versão mais recente do repositório oficial do FreeScout. Verifique sempre a página de releases no GitHub para obter o link exato da última versão estável.

cd /var/www
sudo git clone https://github.com/FreeScout-foss/freescout.git freescout
sudo chown -R www-data:www-data freescout
sudo chmod -R 755 freescout

Se o Git não estiver instalado, você pode baixar o arquivo ZIP diretamente e extraí-lo:

sudo apt install git unzip -y
cd /var/www
sudo wget https://github.com/FreeScout-foss/freescout/archive/refs/heads/master.zip
sudo unzip master.zip -d freescunt_temp
sudo mv freescout-master/* freescout/
sudo rm -rf freescout-master master.zip freescout_temp

É crucial garantir que o usuário www-data (que roda o Apache) tenha permissão de escrita na pasta storage e public/uploads, pois é ali que os logs, anexos e caches serão salvos.

sudo chown -R www-data:www-data /var/www/freescout/storage
sudo chown -R www-data:www-data /var/www/freescout/public/uploads

Configuração do Apache Virtual Host

Crie um arquivo de configuração virtual host para o FreeScout. Isso permite acessar a aplicação via domínio (ex: helpdesk.suaempresa.com.br) em vez de um caminho como /var/www/freescout.

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

Cole a seguinte configuração, ajustando o ServerName para o seu domínio:

<VirtualHost *:80>
    ServerName helpdesk.suaempresa.com.br
    DocumentRoot /var/www/freescout/public
    
    <Directory /var/www/freescout/public>
        AllowOverride All
        Require all granted
    </Directory>>

    ErrorLog ${APACHE_LOG_DIR}/freescout_error.log
    CustomLog ${APACHE_LOG_DIR}/freescout_access.log combined

</VirtualHost>

Habilite o site e reinicie o Apache:

sudo a2ensite freescout.conf
sudo systemctl restart apache2

Instalação via Navegador Web

Agora, acesse o endereço configurado no seu navegador. O FreeScout iniciará o processo de instalação interativa.

  1. Verificação de Pré-requisitos: A tela mostrará se o PHP está configurado corretamente. Se alguma extensão estiver faltando (geralmente imap ou zip), volte à etapa de instalação do PHP e reinicie o Apache com sudo systemctl restart apache2.
  2. Banco de Dados: Insira os dados criados na etapa anterior:
    • Host: localhost
    • User: freescout_user
    • Password: senha_forte_aqui
    • Database: freescout_db
  3. Criação do Administrador: Crie a conta de superusuário. Esta será sua conta principal. Escolha um login forte e anote as credenciais.
  4. Configuração de E-mail: O FreeScout pedirá para configurar uma conta IMAP padrão. Você pode pular isso agora e configurar depois, ou adicionar a conta do suporte principal imediatamente.

Após concluir o wizard, você terá acesso ao painel administrativo (Admin) e à interface de visualização dos tickets (Customer View).

Configuração SSL com Let's Encrypt

Para garantir a segurança das comunicações, é imperativo instalar um certificado SSL. Utilizaremos o Certbot para automatizar esse processo.

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d helpdesk.suaempresa.com.br

O Certbot detectará a configuração do Apache, solicitará um e-mail de contato e concordará com os termos. Ele baixará o certificado e reconfigurará o Apache para redirecionar todo o tráfego HTTP para HTTPS automaticamente.

Configuração do E-mail e Recebimento de Tickets

O coração do FreeScout é a conversão de e-mails em tickets. Para isso funcionar, você precisa configurar um usuário no seu servidor de e-mail (ou provider externo) e conectar o FreeScout a ele via IMAP.

  1. No painel Admin do FreeScout, vá em Settings > Helpdesk Accounts.
  2. Clique em Add Account.
  3. Preencha os dados:
    • Name: Nome visível (ex: Suporte Técnico).
    • Email: O endereço de e-mail completo (ex: suporte@suaempresa.com.br).
    • Type: Selecione IMAP.
    • IMAP Host/Port: As credenciais do seu servidor de e-mail. Se estiver usando um VPS com Postfix/Dovecot, use localhost ou o IP interno.

O FreeScout tentará se conectar. Se a conexão for bem-sucedida, ele começará a monitorar a caixa de entrada. Qualquer e-mail enviado para esse endereço será automaticamente transformado em um ticket no sistema.

Agendamento do Cron Job

Para que o FreeScout verifique novos e-mails periodicamente sem depender da ação do usuário, é necessário configurar um cron job no servidor Linux. Isso garante que tickets cheguem rapidamente à sua fila.

sudo crontab -u www-data -e

Adicione a seguinte linha ao final do arquivo:

* * * * * cd /var/www/freescout && php artisan schedule:run >> /dev/null 2>&1

Este comando executa o agendador do Laravel (framework por trás do FreeScout) a cada minuto, processando emails pendentes e tarefas de manutenção.

Melhores Práticas de Segurança e Manutenção

Após a instalação, adote estas práticas para manter o sistema de tickets open source seguro:

  • Backup Regular: Configure backups automáticos do banco de dados e da pasta /var/www/freescout/storage. Scripts simples com mysqldump e rsync são suficientes.
  • Atualizações: Monitore o GitHub para novas versões. Sempre faça backup antes de atualizar via Git pull ou download manual.
  • Firewall: Mantenha apenas as portas 80, 443 e 22 abertas no firewall (UFW). Não exponha o MySQL diretamente à internet.
  • Limitação de Acesso Admin: Restrinja o acesso ao painel admin (/admin) via IP se possível, ou utilize autenticação forte 2FA se disponível em plugins adicionais.

Com esta configuração, você possui um helpdesk sem custos de licença, totalmente sob seu controle, pronto para atender seus clientes com a mesma eficiência das grandes soluções do mercado. O FreeScout prova que é possível ter uma gestão profissional de suporte técnico em Linux sem depender de assinaturas caras.

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