Instalace Speedtestu na Ubuntu 22.04 (Speedtest Ubuntu 22.04)

By | 27/09/2022

Last Updated on 22/06/2023 by administrator

Instalace Speedtestu na Ubuntu 22.04 (Speedtest Ubuntu 22.04)

Speedtest Ubuntu 22.04.

Motivace:

Jedná se o jednoduchý prográmek, který je možné nainstalovat pod Ubuntu. Lze tak měřit rychlosti mezi zařízením připojené do sítě a Ubuntu serverem.

Speedtest na Ubuntu 22.04 v praxi používám napříč domácí síti, abych zjistit reálnou rychlost wifi sítě po domě.

Možnost je také namapovat IP adresu Ubuntu server s Vaší veřejnou IP adresou a zjistit reálnou rychlost mezi libovolným vzdáleným hostem a Vaší síti.

speedtest ubuntu

OS:

Implementace instalace byla prováděna na Ubuntu 22.04 LTS.

Implementace [1]:

Základní instalace prográmku Speedtest:

Příkazem apt update se provede aktualizace seznamu balíčků z repozitářů:

apt update

Stažení a instalace dalších potřebných balíčků pro Speedtest, jako je webový server Apache2, skriptovací programovací jazyk PHP a distribuovaný systém správy verzí Git:

apt install apache2 php git -y

Přejít do domovské složky:

cd ~

Stažení prográmku Speedtest z githubu:

git clone https://github.com/librespeed/speedtest.git

Přejít do složky speedtest:

cd speedtest/

Překopírovat složku backend, soubor example-singleServer-pretty.html a všechny javascript soubory na webserver a to do /var/www/html/ složky:

sudo cp -R backend example-singleServer-pretty.html *.js /var/www/html/

Přejít do /var/www/html/ složky webového serveru:

cd /var/www/html/

Přejmenovat soubor example-singleServer-pretty.html na index.html:

sudo mv example-singleServer-pretty.html index.html

Změnit vlastníka všech souborů v aktuálním adresáři na www-data uživatele:

sudo chown -R www-data *

Základní konfigurace je hotova. Instalace a konfigurace byla prováděna na Ubuntu běžící na IP adrese 192.168.0.112.

Nyní je možné otestovat rychlost mezi námi a Ubuntu serverem přes webový link http://192.168.0.112/

Speedtest Ubuntu 22.04

Pokročilá instalace prográmku Speedtest (volitelně):

Pokročilá instalace zahrnuje použití databáze. Není nutná, ale díky konfiguraci níže je možné z každého speedtestu vygenerovat unikátní webový link, který je možné sdílet mezi uživateli a je možné tyto statistiky uložit a vypsat posledních 100 měření.

Přejít do domovské složky:

cd ~

Přejít do složky speedtest:

cd speedtest/

překopírovat celou složku results do /var/www/html/ složky webového serveru

sudo cp -R results/ /var/www/html/

Přejít do /var/www/html/ složky webového serveru:

cd /var/www/html/

Opět změnit vlastníka všech souborů v aktuálním adresáři na www-data uživatele:

sudo chown -R www-data *

Přejít do složky results:

cd results/

Ve složce results je soubor telemetry_mysql.sql, který je potřeba načíst. Údajná podpora je pro MySQL, PortgreSQL a SQLite. V tomto článku bude použita MySQL databáze. Stažení a instalace MySQL serveru se provede příkazem níže:

sudo apt install mysql-server -y

Přihlášení do databáze mysql:

sudo mysql

Nastavit heslo pro root uživatele, pro příklad bude nastaveno heslo root123:

mysql> ALTER USER 'root'@'localhost' identified with mysql_native_password by 'root123';

Vytvořit novou databázi s názvem speedtest:

mysql> CREATE DATABASE speedtest;

Příkaz flush privileges; aplikuje nové změny:

mysql> flush privileges;

Opuštění MySQL:

mysql> exit

Je potřeba editovat telemetry_settings.php soubor

vi telemetry_settings.php

V souboru telemetry_settings.php lze vidět, že je možné upravovat parametry pro MySQL, PortgreSQL, nebo SQLite. Jak již bylo zmíněno, v tomto článku je použita MySQL databáze, proto zvolit jako db_type mysql. Zvolit libovolné heslo pro stats_password, v tomto případě bude použito heslo pass123. Toto heslo bude sloužit pro přístup ke všem naměřeným rychlostem, což bude ukázáno později. Parametr enable_id_obfuscation bude nastaven na hodnotu True, což zamezí tomu, aby uživatelé nemohli uhodnou URL adresy jiných speedtestů.

// Type of db: "mysql", "sqlite" or "postgresql"
$db_type = 'mysql';
// Password to login to stats.php. Change this!!!
$stats_password = 'pass123';
// If set to true, test IDs will be obfuscated to prevent users from guessing URLs of other tests
$enable_id_obfuscation = true;

V souboru telemetry_settings.php je nutné přepsat také nastavení MySQL. Jako MySql_username bude zvolen root. Výše bylo k uživateli root přiřazeno heslo root123, což nastavuje parametr MySql_password. Jedná se lokální databázi, proto v parametru MySql_hostname zvolit localhost. Jméno databáze se nastavuje v parametru MySql_databasename je speedtest, což bylo vytvořeno výše v databázi MySQL :

// Mysql settings
$MySql_username = 'root';
$MySql_password = 'root123';
$MySql_hostname = 'localhost';
$MySql_databasename = 'speedtest';

Tento upravený soubor telemetry_mysql.sql naimportovat do již vytvořené databáze se jménem speedtest (heslo pro root uživatele bylo vytvořeno jako root123):

sudo mysql -u root -p speedtest < /var/www/html/results/telemetry_mysql.sql

Pro ověření importu souboru telemetry_mysql.sql se přihlásit do MySQL pod rootem:

mysql -u root -p

Je potřeba vybrat databázi speedtest:

mysql> USE speedtest;

Příkaz níže vypíše všechny tabulky databáze speedtest:

mysql> show tables;

Výpis příkazu show tables; by měl ukázat tabulku speedtest_users:

+---------------------+
| Tables_in_speedtest |
+---------------------+
| speedtest_users     |
+---------------------+
1 row in set (0.00 sec)

Opuštění MySQL:

mysql> exit

Přejít do /var/www/html/ složky webového serveru:

cd /var/www/html/

Překopírovat soubor example-singleServer-full.html jako index.html v /var/www/html/ složce:

sudo cp ~/speedtest/example-singleServer-full.html index.html

Je nutné nainstalovat balíček phpmyadmin, který obsahuje balíčky, které jsou potřeba k vygenerování statistik (nepřišel jsem na to o jaký balíček přesně jde, každopádně je možné použít phpmyadmin jako GUI pro správu databáze v budoucnu).

sudo apt install phpmyadmin -y

Při instalaci bude dotázáno, který webový server je potřeba rekonfigurovat. V tomto případě bude použitý webový server apache2 (ten byl nainstalován při úplně nahoře). Mezerníkem označit [*] možnost apache2 a opětovným stisknutím mezerníku se přesune na OK. Pokud se tato možnost neoznačí, nebude to negenerovat statistiky:

phpmyadmin

Heslo pro přístup k phpmyadmin je možné zvolit libovolně a může se lišit od ostatních hesel nakonfigurovaných výše:

phpmyadmin

Hotovo, nyní je možné opět otestovat rychlost mezi námi a Ubuntu serverem přes webový link http://192.168.0.112/

Speedtest Ubuntu 22.04

Každému speedtestu je po měření vygenerován unikátní link, která leze sdílet. V tomto případě šlo o link http://192.168.0.112/results/?id=0pozxwl

Speedtest Ubuntu 22.04

Všechny uložené statistiky naměřených rychlostí lze najít pod tímto http://<IP adresa Ubuntu>/results/stats.php webovým linkem. V tomto případě je to pod http://192.168.0.112/results/stats.php

Jako heslo bylo nastaveno pass123 a to v souboru v telemetry_settings.php, který byl konfigurován výše.

Speedtest Ubuntu 22.04

Zde je možné filtrovat rychlosti podle unikátních linků, které vygenerovává každý test (výše nám byl vygenerováno ID 0pozxwl), nebo zobrazit posledních 100 testů:

Speedtest Ubuntu 22.04

Vše hotovo.

Zdroj:

[1] https://github.com/librespeed/speedtest

Dobrovolný dar

Ahoj čtenáři, rád bych tě poprosil aby ses zamyslel, co je vše potřeba ke vzniku článku.
Jakožto amatérský softwarový kutil musím:

1) Nejdříve vše nastudovat v cizích jazycích.
2) Vše následně prakticky vyzkoušet.
3) Svoje poznatky a zkušenosti napsat do článku který si právě přečetl v jazyku kterému rozumíš.
4) Dát článku hlavu a patu a publikovat.

Každý článek zabere několik hodin práce, za kterou mi nikdo neplatí.
Prosím zvaž, kolik času jsem ti právě ušetřil.
Pokud ti to stojí aspoň za cenu jedné kávy, tak mi ji kup.
Předem moc děkuji.

Příspěvek tak můžeš provést zasláním libovolné částky na mé číslo účtu 1558701011/3030 Nebo můžeš dar poslat kliknutím na tento odkaz Podpořit tento WEB , který tě přesměruje na mou platební bránu Revolut.

Dar je také možné poslat ve formě Bitcoinu na BTC peněženku bc1qqdf5fp42a7srwwhh2rut8zr9x4jm5c8fqc9qw6

Veškeré peněžní prostředky budu také používat na zlepšení kvality své webové tvorby a na psaní nových technických návodů. Za každý dar předem děkuji.

Leave a Reply

Your email address will not be published. Required fields are marked *