Instalação do SpeedTest/OoklaServer no Linux

Distribuição usada: Debian 9 (Instalação limpa)

No exemplo vou usar o domínio teste.remontti.com.br, então tenha o subdomínio teste configurado em seu DNS Server

Vamos instalar nosso servidor web

# apt install apache2 libapache2-mod-php7.0 php7.0 unzip apt-transport-https

É Recomendamos usar um usuário sem poderes de root para executar o servidor da ookla. Para isso vamos criar o usuário ooklaserver.

# addgroup ooklaserver
# useradd -d /etc/o
oklaserver -m -g ooklaserver -s /bin/bash ooklaserver

Transforme-se no usuário ooklaserver que acabamos de criar.

# su - ooklaserver

Vamos baixar nosso script de instalação em /etc/ooklaserver e executa-lo.

$ cd ~
$ wget https://install.speedtest.net/ooklaserver/ooklaserver.sh --no-check-certificate
$ chmod 777 ooklaserver.sh
$ ./ooklaserver.sh install

Server Platform is linux64
This will install the Ookla server for linux64 to the current folder. Please confirm (y/n) >
y

O script detecta automaticamente o sistema operacional e baixará a versão apropriada e em seguira irá iniciar o serviço daemon.

Ao concluir abra seu navegador e insira seu domínio:8080

Se a resposta for OoklaServer It worked! o serviço já está rodando.

Volte para o usuário root

$ exit

Agora vamos configurar para que seja iniciado automaticamente.
Edite /etc/rc.local ele deve ter os seguintes comandos para iniciar em modo segundo plano.

# vim /etc/rc.local
#!/bin/sh
su ooklaserver -c './etc/ooklaserver/OoklaServer --daemon'
exit 0
# chmod  777 /etc/rc.local

Edite o arquivo OoklaServer.properties e descomente a linha OoklaServer.allowedDomains e adicione seu domínio também.

# vim /etc/ooklaserver/OoklaServer.properties
...
...
OoklaServer.allowedDomains = *.ookla.com, *.speedtest.net, *.remontti.com.br
...
...

Faça o mesmo no arquivo OoklaServer.properties.default

# vim /etc/ooklaserver/OoklaServer.properties.default

Agora reinicie seu servidor, e volte acesa seu domínio:8080 e verifique se o mesmo executou na inicialização.

# reboot

Tudo certo? Meio caminho andado, vamos a configuração do nosso domínio no apache e configuração do nosso certificado grátis com o Let’s Encrypt.

Crie a configuração do domínio virtual, no meu caso teste.remontti.com.br, qual ficará em /var/www/teste/

# vim /etc/apache2/sites-available/teste.conf
<VirtualHost *:80>
        ServerName teste.remontti.com.br
        ServerAdmin seu@email.com.br
 
        DocumentRoot /var/www/teste
 
        <Directory /var/www/teste/>
                Options Indexes FollowSymLinks
                AllowOverride All
        </Directory> 
 
        LogLevel warn
 
        ErrorLog ${APACHE_LOG_DIR}/error_teste.log
        CustomLog ${APACHE_LOG_DIR}/access_teste.log combined
</VirtualHost>

Aponte nosso arquivo para as configurações ativas

# ln -s /etc/apache2/sites-available/teste.conf /etc/apache2/sites-enabled/teste.conf
# /etc/init.d/apache2 restart

Criaremos o diretório /var/www/teste/ para os arquivos HTTP Legacy Fallback necessários.

# mkdir /var/www/teste/
# cd /var/www/teste/
# wget http://install.speedtest.net/httplegacy/http_legacy_fallback.zip --no-check-certificate
# unzip http_legacy_fallback.zip
# rm http_legacy_fallback.zip -f
# cd /var/www/teste/speedtest/
# rm *.asp *.aspx *.jsp
# echo > /var/www/teste/speedtest/index.html
# echo > /var/www/teste/index.html

Adicione seu dominio em /var/www/teste/crossdomain.xml

 # vim /var/www/teste/crossdomain.xml
<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="*.speedtest.net" />
  <allow-access-from domain="*.ookla.com" />
  <allow-access-from domain="*.remontti.com.br" />
</cross-domain-policy>

Você pode incluir no código fonte do /var/www/teste/index.html o iframe criado lá testador criando comSpeedTest Custom

Vamos instalar o letsencrypt para gerar nosso certificado

# apt install letsencrypt python-certbot-apache
# apache2ctl stop
# letsencrypt --authenticator standalone --installer apache -d teste.remontti.com.br

Informe seu e-mail:
Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to cancel): seu@email.com.br
Aceite os termos:
(A)gree/(C)ancel: A
Selecione o método – 1 para deixar o acesso HTTP e HTTPS e 2 para sempre direcionar para HTTPS.
Select the appropriate number [1-2] then [enter] (press ‘c’ to cancel): 1 ou 2

Se receber a mensagem tudo ocorreu bem:
– Congratulations! Your certificate…

Ao expirar o certificado do seu domínio você pode usar o comando para fazer a renovação. NÃO PRECISA EXECUTAR AGORA! Você acabou de gerar o certificado.

# certbot renew --dry-run

O Ideal é colocar o comanod certbot renew –dry-run no seu CRON para executar a cada 15 dias.

Vamos incluir os certificado gerado nas configurações do OoklaServer. Altere teste.remontti.com.br para seu domínio.

# echo 'openSSL.server.certificateFile = /etc/letsencrypt/live/teste.remontti.com.br/fullchain.pem' >> /etc/ooklaserver/OoklaServer.properties
# echo 'openSSL.server.privateKeyFile = /etc/letsencrypt/live/teste.remontti.com.br/privkey.pem'    >> /etc/ooklaserver/OoklaServer.properties
# echo 'openSSL.server.certificateFile = /etc/letsencrypt/live/teste.remontti.com.br/fullchain.pem' >> /etc/ooklaserver/OoklaServer.properties.default
# echo 'openSSL.server.privateKeyFile = /etc/letsencrypt/live/teste.remontti.com.br/privkey.pem'    >> /etc/ooklaserver/OoklaServer.properties.default

Vai ser necessário dar acesso ao usuário ooklaserver ao diretório do /etc/letsencrypt/ onde estão o certificado para que o mesmo possa ler

# chown ooklaserver. /etc/letsencrypt/ -R

Reinicie o serviço do ooklaserver

# cd /etc/ooklaserver
# ./ooklaserver.sh stop
# su ooklaserver -c  '/etc/ooklaserver/ooklaserver.sh start'

Abra novamente seu domínio na porta 8080 porém com https agora.

Vamos ao testes!
Acesse: https://www.ookla.com/pt/host-tester

Preencha com as informações do seu servidor:

Clique em Submit para iniciar o teste



Se você passou nos testes é hora de fazer a solicitação para virar um host!
https://account.ookla.com/servers/create

Agora é só aguardar!!! Normalmente é necessário ter 1GB de banda disponível mas varia muito de região.

Gostou? Deixe seu comentário ficarei feliz em saber que lhe ajudei, e se tiver qualquer pergunta deixe-a também, se preferir acesse o menu Consultoria lá você encontra meios de falar comigo!

Fontes:
https://support.ookla.com/hc/en-us/articles/234578528-OoklaServer-Installation-Linux-Unix
https://support.ookla.com/hc/en-us/articles/234578548-Installing-HTTP-Legacy-Fallback

Rudimar Remontti

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

Você pode gostar...

4 Resultados

  1. Pedro Lucas disse:

    Opa, boa tarde, tudo jóia? Eu estou tendo um erro no meu arquivo crossdomain.xml. Na página de testes ele me mostra o seguinte erro:

    https://speedtest.meudominio.com.br/speedtest/upload.php

    crossdomain
    details: Crossdomain.xml is invalid
    tip: Verify that crossdomain.xml is in the proper format.
    crossdomain_url: http://speedtest.meudominio.com.br/crossdomain.xml
    status: FAILED

    Eu já verifiquei o arquivo e está da seguinte forma:

    E continua aparecendo o mesmo erro.

    Eu revisei o “OoklaServer.properties” e o “OoklaServer.properties.default”, pois eu tenho que adicionar o domínio em ambos, e está correto, e a linha não está comentada.

    Sabe me dizer o que pode estar ocorrendo?

    • Ao criar o certificado vc forçou o direcionamento do http para https (crossdomain_url: http:…. ) veja q ele testa no http e nao no https (q ao meu ver é falho) vc precisa deixar o http funcionando. É só editar o arquivo /etc/apache2/sites-available/teste.conf e comentar as linhas q esta fazendo o direcionamento para o https.

  2. Gabriel disse:

    Opa, na parte do certificado tive problemas ocorre esse erro.

    certbot renew –dry-run de. Saving debug log to /var/log/letsencrypt/letsencrypt.log ——————————————————————————- Processing /etc/letsencrypt/renewal/velocidade.sosprovedor.com.br.conf ——————————————————————————- Cert not due for renewal, but simulating renewal for dry run Renewing an existing certificate Performing the following challenges: http-01 challenge for velocidade.sosprovedor.com.br ——————————————————————————- The program apache2 (process ID 1535) is already listening on TCP port 80. This will prevent us from binding to that port. Please stop the apache2 program temporarily and then try again. For automated renewal, you may want to use a script that stops and starts your webserver. You can find an example at https://certbot.eff.org/docs/using.html#renewal . Alternatively you can use the webroot plugin to renew without needing to stop and start your webserver. ——————————————————————————- Cleaning up challenges Attempting to renew cert from /etc/letsencrypt/renewal/velocidade.sosprovedor.com.br.conf produced an unexpected error: At least one of the required ports is already taken.. Skipping. ** DRY RUN: simulating ‘certbot renew’ close to cert expiry ** (The test certificates below have not been saved.) All renewal attempts failed. The following certs could not be renewed: /etc/letsencrypt/live/velocidade.sosprovedor.com.br/fullchain.pem (failure) ** DRY RUN: simulating ‘certbot renew’ close to cert expiry ** (The test certificates above have not been saved.) 1 renew failure(s), 0 parse failure(s)

Deixe uma resposta

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