Guia de tecnologias

Instalar osTicket no Ubuntu 16.04 (Nginx, PHP-FPM7)

6 min read Tutoriais Atualizado 08 Oct 2025
Instalar osTicket no Ubuntu 16.04
Instalar osTicket no Ubuntu 16.04

Important: antes de começar, tenha acesso root ou sudo e um backup das suas configurações de servidor caso já exista um serviço web ativo.

Objetivo e variantes relacionadas

Instalar um sistema de tickets de suporte open source (osTicket) em um servidor Ubuntu 16.04. Variantes relacionadas: instalar osTicket com Apache, osTicket em Docker, migrar osTicket de outra versão, configurar LDAP/Active Directory para osTicket.

Pré-requisitos

  • Servidor com Ubuntu 16.04.
  • Acesso root ou usuário com sudo.
  • Conexão de rede e DNS configurado para seu domínio (opcional, mas recomendado).
  • Noções básicas de administração Linux.

Nota: este guia usa PHP-FPM 7.0 e MySQL 5.7 conforme o ambiente original do tutorial.


Passo 1 — Instalar Nginx e MySQL

Neste passo iremos instalar Nginx e MySQL a partir dos repositórios oficiais do Ubuntu e ativar os serviços para iniciarem no boot.

Conecte-se ao servidor via SSH:

ssh [email protected]

Atualize os repositórios:

sudo apt-get update

Instale Nginx e o servidor MySQL:

sudo apt-get install -y nginx mysql-server

Durante a instalação você será solicitado a definir a senha do usuário root do MySQL. Escolha uma senha forte e armazene-a com segurança.

Definir senha do MySQL no Ubuntu

Reinicie e ative os serviços:

systemctl restart nginx
systemctl restart mysql
systemctl enable nginx
systemctl enable mysql

Verifique as portas ativas (Nginx normalmente usa 80 e MySQL 3306):

netstat -plntu

Nginx e MySQL em execução

Importante: se o netstat não estiver disponível, instale-o com sudo apt-get install net-tools.

Passo 2 — Instalar e configurar PHP-FPM 7

O osTicket exige extensões PHP como gd, imap, xml e mbstring. Vamos instalar o PHP 7.0 e as extensões necessárias, e configurar o PHP-FPM para funcionar com Nginx.

Instale o PHP-FPM e extensões:

sudo apt-get install -y php7.0-cli php7.0-mysql php7.0-cgi php7.0-fpm php7.0-gd php7.0-imap php7.0-xml php7.0-mbstring php7.0-intl php-apcu

Edite o php.ini do FPM:

cd /etc/php/7.0/
vim fpm/php.ini

Localize e altere a linha cgi.fix_pathinfo para 0 (descomente se necessário):

cgi.fix_pathinfo=0

Salve e saia. Reinicie e habilite o serviço php-fpm:

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

Agora edite o vhost padrão do Nginx para ativar suporte a PHP-FPM:

cd /etc/nginx/sites-available/
vim default

Dentro do bloco server, certifique-se de ter a configuração PHP similar a:

     location ~ \.php$ {
             include snippets/fastcgi-php.conf;
             fastcgi_pass unix:/run/php/php7.0-fpm.sock;
     }

Salve o arquivo e reinicie o Nginx:

systemctl restart nginx

Teste criando um arquivo phpinfo:

cd /var/www/html/
echo '' > info.php

Abra http://SEU_IP/info.php no navegador para confirmar a configuração.

Informação do PHP

Segurança: remova info.php após o teste para não expor informações sensíveis.

Passo 3 — Criar banco de dados para o osTicket

Crie um banco de dados e um usuário MySQL exclusivo para o osTicket.

Acesse o MySQL com o usuário root:

mysql -u root -p
TYPE YOUR PASSWORD

No prompt do MySQL, crie o banco e o usuário (substitua as credenciais por valores seguros em produção):

create database osticket_db;
create user osticket@localhost identified by 'osticketpw@';
grant all privileges on osticket_db.* to osticket@localhost identified by 'osticketpw@';
flush privileges;

Criar banco de dados e usuário do OSTicket

Boas práticas: use um usuário com permissões restritas (somente no banco do osTicket) e escolha senhas complexas.

Passo 4 — Criar virtual host do osTicket no Nginx

Crie um arquivo de vhost para o osTicket. Ajuste server_name e root conforme seu domínio e caminho.

cd /etc/nginx/sites-available/
vim osticket

Cole a configuração a seguir (substitua osticket.hakase-labs.com pelo seu domínio):

server {
  listen 80;
        server_name osticket.hakase-labs.com;

        root   /var/www/osticket/upload;

        access_log  /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;

        index index.php;
        client_max_body_size 2000M;
        client_body_buffer_size 100M;
        client_header_buffer_size 10M;
        large_client_header_buffers 2 10M;

        client_body_timeout 12;
        client_header_timeout 12;
        keepalive_timeout 15;
        send_timeout 10;

        gzip             on;
        gzip_comp_level  2;
        gzip_min_length  1000;
        gzip_proxied     expired no-cache no-store private auth;
        gzip_types       text/plain application/x-javascript text/xml text/css application/xml;

        set $path_info "";

        location ~ /include {
            deny all;
            return 403;
        }

        if ($request_uri ~ "^/api(/[\^\?]+)") {
            set $path_info $1;
        }

        location ~ ^/api/(?:tickets|tasks).*${""} {
            try_files $uri $uri/ /api/http.php?$query_string;
        }

        if ($request_uri ~ "^/scp/.*\.php(/[\^\?]+)") {
            set $path_info $1;
        }

        location ~ ^/scp/ajax.php/.*$ {
            try_files $uri $uri/ /scp/ajax.php?$query_string;
        }

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

        location ~ \.php$ {
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            fastcgi_param  PATH_INFO    $path_info;
        }
}

Nota: alguns caracteres especiais em expressões regulares podem precisar de escape dependendo do seu editor. Verifique erros com:

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

Passo 5 — Baixar e configurar os arquivos do osTicket

Crie o diretório de instalação e faça o download do pacote:

mkdir -p /var/www/osticket/
cd /var/www/osticket/
wget http://osticket.com/sites/default/files/download/osTicket-v1.10.zip
unzip osTicket-v1.10.zip

Copie o arquivo de configuração de exemplo e ajuste permissões:

cd upload/
cp include/ost-sampleconfig.php include/ost-config.php
cd /var/www/osticket/
chown -R www-data:www-data upload/

Importante: garantir que o usuário do processo web (www-data) seja o dono dos arquivos evita problemas de escrita.

Passo 6 — Instalar via interface web

Abra no navegador o domínio configurado (ex.: http://osticket.hakase-labs.com). Siga o assistente de instalação web.

Verifique se todos os requisitos aparecem como OK (marcados em verde). Se faltar alguma extensão PHP, instale-a e reinicie o PHP-FPM.

Verificar requisitos do osTicket

Preencha as seções:

  • System Settings: nome do HelpDesk e email padrão.
  • Admin User: email e senha do administrador (use um email diferente do email do helpdesk).
  • Database: dados do banco criado no Passo 3.

Configuração do osTicket

Após a instalação, remova ou renomeie o diretório de setup e ajuste permissões do arquivo de configuração:

cd /var/www/osticket/upload/
mv setup/ setup-sh/
chmod 0644 include/ost-config.php

Instalação do osTicket concluída

Passo 7 — Testes básicos

Página inicial do osTicket

Tela de login do admin do osTicket

  • Painel do agente e configurações estão acessíveis em /scp/ e /scp/settings.php

Painel de agentes do osTicket

Configurações do osTicket

Dicas de depuração rápidas

  • Erro 502 Bad Gateway: verifique se php7.0-fpm está em execução e se o caminho do socket unix:/run/php/php7.0-fpm.sock é correto.
  • Erro de permissão: confirme dono e permissões em /var/www/osticket/upload (www-data).
  • Dependência PHP faltando: instale o pacote correspondente e reinicie php-fpm.

Verificação de segurança e boas práticas

  • Remova arquivos de teste (como info.php) e diretórios de instalação.
  • Use HTTPS com certificados válidos (Let’s Encrypt).
  • Backup periódico: banco de dados e /var/www/osticket/upload.
  • Proteja o painel de administração com regras de firewall e, se possível, autenticação adicional (VPN ou IP allowlist).
  • Atualize o sistema e os pacotes regularmente.

Important: em produção, nunca exponha diretórios sensíveis sem autenticação ou regras de negação no Nginx.

Mini-metodologia para manutenção contínua

  1. Atualizar sistema e pacotes do PHP/Nginx semanalmente.
  2. Testar atualizações em ambiente staging.
  3. Fazer snapshot/backup do banco e das mídias antes de atualizar osTicket.
  4. Validar funcionalidades críticas (criação de ticket, envio de e-mail, login de agente) após atualizações.

Checklists por função

Administrador de Sistema:

  • Validar logs do Nginx e PHP-FPM.
  • Garantir backups automáticos do banco.
  • Renovar certificados TLS.

Administrador do HelpDesk / Operações:

  • Confirmar templates de e-mail.
  • Verificar filas e regras SLA.
  • Testar criação e encaminhamento de tickets.

Desenvolvedor/Integrador:

  • Testar integrações API (/api/).
  • Verificar rotas personalizadas e permissão de upload.

Casos em que este guia pode falhar (limitações)

  • Versões mais recentes do Ubuntu, PHP ou MySQL podem usar caminhos e pacotes diferentes (p. ex. PHP 7.4/8.x).
  • Ambientes com SELinux/AppArmor estrito podem exigir ajustes de permissões adicionais.
  • Se usar Apache em vez de Nginx, é preciso configurar virtual hosts e mod_php ou proxy para PHP-FPM.

Testes de aceitação básicos

  • O usuário admin consegue acessar /scp/ e executar login com credenciais criadas.
  • Um ticket é criado via formulário público e é exibido no painel do agente.
  • O envio de e-mails (notificações) é entregue usando o servidor de e-mail configurado.

Glossário (uma linha cada)

  • PHP-FPM: FastCGI Process Manager para executar PHP como processo separado.
  • Nginx: servidor web e proxy reverso.
  • MySQL: sistema de gerenciamento de banco de dados relacional.
  • vhost: configuração de host virtual no servidor web.

Notas sobre privacidade e conformidade (GDPR)

  • Armazene apenas os dados pessoais necessários nos tickets.
  • Habilite retenção automática de dados quando aplicável.
  • Documente quem tem acesso administrativo aos dados do atendimento.

Resumo final

Seguindo estes passos você terá um osTicket funcional em Ubuntu 16.04 com Nginx e PHP-FPM 7.0. Teste as funcionalidades, aplique boas práticas de segurança e mantenha backups regulares.

Links úteis

Autor
Edição

Materiais semelhantes

Corrigir programas que não iniciam no Windows 10
Windows

Corrigir programas que não iniciam no Windows 10

Remover apps pré‑instalados no Android e iOS
Dispositivos Móveis

Remover apps pré‑instalados no Android e iOS

Corrigir Dev Error 6068 no Warzone
Guias

Corrigir Dev Error 6068 no Warzone

Como verificar a versão do PowerShell no Windows
Windows

Como verificar a versão do PowerShell no Windows

Instalar extensões manualmente no Edge
Navegadores

Instalar extensões manualmente no Edge

Instalar osTicket no Ubuntu 16.04
Tutoriais

Instalar osTicket no Ubuntu 16.04