Instalação do SpeedTest (OoklaServer) no Debian 11 Bullseye gerenciado pelo systemd


Neste tutorial iremos aprender a instalar o SpeedTest Server, porém vamos gerenciar o serviço dele pelo systemd, o que eu acho que já deveriam ter feito, ou a ookla já poderia disponibilizar isso via repositório. #FicaDicaOokla

Leia

Requisitos do hardware do servidor Speedtest.
Política de aceitação do servidor Speedtest
Toda Documentação.

Configuração do DNS

No exemplo vou usar o subdomínio teste, no domínio remontti.com.br teste.remontti.com.br, logo é necessário configurar seu subdomínio “testeem seu DNS Server, NÃO USE subdomínio chamado speedtest pois você terá possivelmente seu pedido negado. Exemplo de entradas no DNS para IPv4 (A) e IPv6 (AAAA)

Distribuição utilizada

Debian 11 Bullseye / Instalação Limpa

Pacotes necessários, não esqueça de virar root de forma correta su -

Vamos criar o diretório /usr/local/src/ooklaserver onde ira ficarnossa aplicação OoklaServer.

Vamos baixar nosso script de instalação em /usr/local/src/ooklaserver e executar a instalação.

Please confirm (y/n) > y

Neste momento o servidor ookla já iniciou, acesse em seu navegado http://sub.dominio:8080 e verifique se o mesmo esta rodando> OoklaServer – It worked!

Pare o serviço ooklaserver

Edite o arquivo de configuração OoklaServer

Se você tem IPv6 (Espero que sim) descomente (remova o # da frente) a linha a baixo.

Descomente a linha e inclua todos seus subidominios para seu domínio ex *.remontti.com.br

Se você desejar visualizar os logs descomente em “# Log to files”. Um arquivo em /usr/local/src/ooklaserver/ooklaserver.log será criado.

Sobreecreva OoklaServer.properties.default com o OoklaServer.properties, para em futuras atualizações (Ocorre automaticamente) ele use como base as suas configurações.

Para que o Ooklaserver seja tratado como um serviço vamos configurar-lo no systemd.

Recarrege o daemon

Verifique o status, nosso serviço ira estar disabled

Vamos deixa-lo enable para subir com o boot do sistema.

Verifique se ficou enabled

Inicie o serviço e verifique seu status se o mesmo ficou active.

Se desejar reinicie o servidor para ver se o serviço ooklaserver carregou no boot!

Ao voltar verifique se o mesmo iniciou.

Certifique-se acessando em seu navegador http://sub.dominio:8080.

O serviço ooklaserver tem um alias com o nome speedtest, então se quiser usar systemctl status speedtest também funiona. 😉

Para verificar a versão use:

Se você realizar o teste agora https://www.ookla.com/pt/host-tester você encontrará 2 erros:
– 1º: É que você não tem certificado válido, a OoklaServer fala que você pode usar o certifica automatico que ela ira gerar, ao fazer o registro. Nota: Este processo automatizado só começa depois que o servidor foi registrado e revisado por Ookla . Você pode ler aqui mais sobre.

– 2º: Este me parece ser um bug, pois em OoklaServer.properties configuramos o OoklaServer.allowedDomains = *.ookla.com, *.speedtest.net, *.remontti.com.br, logo acredito que esse crossdomain.xml deveria ser criado la dentro do serviço. Então quem sabe do dia para noite esse erro desapareça ou a unica solução é você subir um serviço web e criar o crossdomain.xml para que seja possivel ler.

Pois se você abrir o seu http://sub.dominio.com.br:8080/crossdomain.xml ele ta lá! Então se realmente é um bug não precisaria do web server rodando, mas…

Solução para o certificado

Vamos instalar o Certbot, que irá gerar os certificados com o Let’s Encrypt.

Geramos o certificado para teste.remontti.com.br, lembrando que seu servidor DNS deve estar apontando para o IP Publivo do seu servidor para poder gerar o certificado sem erro.

Reponda: email (null@remontti.com.br), Y, N, Seu Domínio

Os arquivos do certificado foram criados em /etc/letsencrypt/live/SUB.DOMINIO.XXX.XX/ com validade de 90 dias.

Edite o arquivo de configuração OoklaServer, para usar o nosso certificado gerado.

Localize openSSL.server.certificateFile e openSSL.server.privateKeyFile

Descomente as linhas e e adicione o caminho para os seus.

Sobreecreva OoklaServer.properties.default com o OoklaServer.properties novamente para em futuras atualizações.

Reinicie o OoklaServer. (Pode levar ate 2min, tenha paciência)

Agora acesse com HTTPS em seu navegador: https://sub.dominio:8080, e o certificado agora deve ser válido.

Realizando os testes novamente em https://www.ookla.com/pt/host-tester, o erro de certificado estará resolvido.

Mais ao final deixarei um scrip para renovação automatica do certificado, pois o mesmo é valido apenas por 90 dias.

Solução para o crossdomain.xml

Será necessário instalar um serviço WEB, perceba que você instalou o serviço da OoklaServer na porta 8080, não confunda com a porta 80 por exemplo que o Apache abre, ou nginx!

Então para resolver o problema vou deixar dois exemplos de serviço WEB: Apache e Nginx, escolha o seu preferido!

Com Nginx

Instale o Nginx e remova a assinatura por segurança.

Agora ao acessar: http://teste.dominio.com.br você irá encontrar a pagina default do Nginx:

Pule o a instalação e configuração do apache.

Com Apache

Instale o Apache e remova a assinatura por segurança.

Agora ao acessar: http://teste.dominio.com.br você irá encontrar a pagina default do Apache:

Criando o crossdomain.xml

Adicione:

Acesse em seu navegador http://teste.remontti.com.br/crossdomain.xml e verifique se o mesmo é carregado:

Mais uma vez voltamos ao testes em https://www.ookla.com/pt/host-tester, e agora o erro crossdomain estará resolvido. Bem como nenhum outro erro.

Editando a Página default do Nginx/Apache

Ambos ficam no diretório /var/www/html

Sinta-se a vontate para editar o index.nginx-debian.html ou index.html, se pode incorporar o Speedtest Custom, para isso acesse https://account.speedtestcustom.com e resgistre um “Free Plan” e incorporar na sua index um Embed Code.
No entanto não se não for criar o Custom, não deixe a página padrão pois fica feio! Coisa de amador!. Então apague a index atual e crie uma direcionando para o seu site por ex, segue um exemplo:

Adicione:

Cadastro Ookla

Hora de criar sua conta no ookla.com e fazer a solicitação para virar um host! https://account.ookla.com/register/servers, se você já tem acesse: https://account.ookla.com/servers/create
Com sua conta criada e validada no e-mail de verificação logue: https://account.ookla.com/, clique em Go To Servers, e aceite os Termos. Add Server preencha com os seus dados e do servidor.

Agora basta aguardar, pode levar alguns dias para aprovação, você receberá um e-mail lhe avisado (se não for aprovado eles lhe dirão porque). Boa sorte!

Renovar o certificado automaticamente

Para evitar que o certificado expire faremos um script colocando o certbot para renovar uma vez ao mês pelo cron do servidor.

Adicione: Se tiver o servidor Web Nginx

Adicione: Se tiver o servidor Web Apache

De permissão para execução e adicione ao cron, para que ele rode o script toda a meia noite do dia 1º de cada mês.

Verifique se a última linha está nosso script.

Reinici o cron para ele carregar a nova rotina.

Se o certificado por venturar expirar e o script não renovar, basta você rodar na mão:

Parabéns seu servidor está pronto!


Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

5 Resultados

  1. Álvaro Duquia disse:

    Parabéns pelo ótimo tutorial!

    Apenas um detalhe, que no script para renovar o certificado você chama o certbot com a flag –dryrun, que deve apenas “testar” se consegue renovar o certificado, e não renovar de fato.

  2. Como de costume, sempre inovando parabéns mestre.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *