Emmanuel Hernandez
Como instalar o Traccar no Ubuntu no DigitalOcean com HTTPS SSL
Aprenda a instalar e configurar o Traccar, uma plataforma de rastreamento GPS de código aberto, em um servidor Ubuntu no DigitalOcean com este guia detalhado.
Traccar é uma popular plataforma de rastreamento GPS de código aberto. Neste guia, você aprenderá a instalar o Traccar em um servidor Ubuntu no DigitalOcean e configurá-lo para usar um banco de dados MySQL.
Você pode encontrar o vídeo guiado aqui Instalação do Traccar no YouTube. Também pode interessar a você como atualizar o Traccar no DigitalOcean.
Curso de Traccar
Acesse o curso de Traccar aqui: Curso de Traccar
1. Registrar-se no DigitalOcean
A primeira coisa que você precisa é de uma conta no DigitalOcean. Você pode se registrar usando este link para receber $200 de crédito gratuito.
Uma vez registrado, crie um novo "droplet" (instância de servidor virtual) com Ubuntu como sistema operacional. A configuração básica com 1GB de RAM e 1 CPU é suficiente para executar o Traccar.
2. Instalar o software necessário
Conecte-se ao droplet por SSH e execute os seguintes comandos para instalar o software necessário:
apt update && apt -y install unzip mysql-server
Isso instalará a utilidade unzip
e o servidor MySQL.
3. Configurar o banco de dados MySQL
Configure o banco de dados com os seguintes comandos:
mysql -u root --execute="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; GRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; CREATE DATABASE traccar;"
Isso define a senha do root, concede permissões totais ao usuário root e cria um novo banco de dados chamado "traccar".
4. Baixar e instalar o Traccar
Baixe a versão mais recente do Traccar:
wget https://www.traccar.org/download/traccar-linux-64-latest.zip
Descompacte e instale:
unzip traccar-linux-*.zip && ./traccar.run
5. Configurar Traccar para MySQL
Edite o arquivo de configuração para que o Traccar use o banco de dados MySQL que você criou:
cat > /opt/traccar/conf/traccar.xml << EOF
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
<properties>
<entry key="config.default">./conf/default.xml</entry>
<entry key='database.driver'>com.mysql.jdbc.Driver</entry>
<entry key='database.url'>jdbc:mysql://localhost/traccar?zeroDateTimeBehavior=round&serverTimezone=UTC&allowPublicKeyRetrieval=true&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''</entry>
<entry key='database.user'>root</entry>
<entry key='database.password'>root</entry>
</properties>
EOF
6. Iniciar o serviço Traccar
Inicie o serviço Traccar:
service traccar start
7. Conexão Segura
O Traccar serve a interface web e a API usando HTTP regular, sem criptografia. Este guia fornece instruções para configurar o Traccar com HTTPS, usando criptografia SSL/TLS. Os exemplos são para Ubuntu Linux, mas podem ser aplicados a outras plataformas. O Traccar não suporta conexões seguras nativamente, então um servidor proxy, neste caso, o Apache, é usado para tunelizar todas as solicitações através de uma conexão segura.
Instalação e Configuração do Apache
- Instale o Apache e habilite os módulos necessários:
sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get install ssl-cert apache2
sudo a2enmod ssl proxy_http proxy_wstunnel rewrite
sudo service apache2 restart
- Adicione uma nova configuração de site:
sudo nano /etc/apache2/sites-available/traccar.conf
Conteúdo da configuração do site:
<VirtualHost *:80>
ServerName demo.traccar.org
Redirect / https://demo.traccar.org/
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName demo.traccar.org
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ProxyPass /api/socket ws://localhost:8082/api/socket
ProxyPassReverse /api/socket ws://localhost:8082/api/socket
ProxyPass / http://localhost:8082/
ProxyPassReverse / http://localhost:8082/
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>
</IfModule>
- Desative o site padrão e ative a nova configuração:
sudo a2dissite 000-default
sudo a2ensite traccar
sudo service apache2 restart
- Gere um certificado SSL válido usando Let's Encrypt:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
Traccar em um subdiretório
Para disponibilizar o Traccar em uma rota que não seja a raiz, ajuste a configuração do proxy e o caminho dos cookies:
ProxyRequests off
ProxyPass /gps/api/socket ws://localhost:8082/api/socket
ProxyPassReverse /gps/api/socket ws://localhost:8082/api/socket
ProxyPass /gps/ http://localhost:8082/
ProxyPassReverse /gps/ http://localhost:8082/
ProxyPassReverseCookiePath / /gps/
Redirect permanent /gps /gps/
Além disso, recompile o aplicativo moderno para que funcione corretamente na nova rota.
8. Problemas Comuns
Esta seção deve ser atualizada conforme necessário.
Os passos anteriores devem funcionar corretamente. No entanto, se ao acessar o IP do seu droplet http://000.000.000.00:8082/
a página não for exibida, é possível que o serviço esteja funcionando, mas haja algum problema. Tente parar e reiniciar o serviço:
service traccar stop && service traccar start
E é isso! O Traccar deve estar em execução agora na porta 8082, pronto para ser configurado e utilizado para rastrear dispositivos GPS.