Yang kita butuhkan untuk membuat speedtest server adalah apache2 (web server) php, mariadb/mysql untuk mengelola database, dan source code speedtest
Install semuanya
apt install apache2 php (beserta modul php) mariadb-server
Install git untuk menambil/cloning source code
sudo apt install git
Cloning source code speedtest
git clone https://github.com/librespeed/speedtest.git
Setelah cloning selesai akan muncul folder baru bernama speedtest
Testing libre speedtest example
Bukan folder speedtest hasil cloning
cd speedtest
Salin beberapa file dan folder ke dalam direktori html (document root web server)
sudo cp -R backend/ example-singleServer-pretty.html *.js /var/www/html/
Masuk kedalam direktori html
cd /var/www/html
Ubah nama file example-singleServer-pretty.html menjadi index.html
sudo mv example-singleServer-pretty.html index.html
Ubah kepemilikan seluruh file yang ada di dalam direktori html menjadi milik www-data
sudo chown -R www-data *
Install database libre speedtest
Setelah kita menginstall database maka hasil speedtest bisa kita lihat dan kita bagikan
Kembali ke dalam direktori speedtest
cd /home/namauser/speedtest
Salin direktori results ke direktori html (web server)
sudo cp -R results/ /var/www/html/
Masuk kedalam direktori html
cd /var/www/html
Ubah kepemilikan seluruh file yang ada di direktori html (ini berfungsi agar direktori results yang sebelumnya kita salin ke direktori html berubah kepemilikannya menjadi www-data juga)
sudo chown -R www-data *
Masuk ke dalam direktori results
cd results
Setup mariadb hingga selesai
mysql_secure_installation
Masuk kedalam mysql
sudo mysql
Atau,
mysql -u root -p
Lalu masukkan password
Membuat database untuk libre speedtest
create database namadatabase;
Membuat user untuk mengelola database libre speedtest
CREATE USER 'namauser'@'localhost' IDENTIFIED BY 'katasandi';
Menambahkan izin user untuk mengelola database
GRANT ALL PRIVILEGES ON namadatabase.* TO 'namauser'@'localhost';
Flush !
FLUSH PRIVILEGES;
Keluar
quit;
Catatan: Sesuaikan 'namadatabase' dengan nama database yang kamu mau Sesuaikan 'namauser' dengan nama user yang kamu mau
Edit dan lakukan konfigurasi isi file telemetry_settings.php
sudo nano telemetry_settings.php
Sesuaikan sebagai berikut
<?php
// 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;
// If set to true, IP addresses will be redacted from IP and ISP info fields, as well as the log
$redact_ip_addresses = false;
// Sqlite3 settings
$Sqlite_db_file = '../../speedtest_telemetry.sql';
// Mysql settings
$MySql_username = 'fariz';
$MySql_password = 'farizanwar25';
$MySql_hostname = 'localhost';
$MySql_databasename = 'speedtest';
$MySql_port = '3306';
// Postgresql settings
$PostgreSql_username = 'USERNAME';
$PostgreSql_password = 'PASSWORD';
$PostgreSql_hostname = 'DB_HOSTNAME';
$PostgreSql_databasename = 'DB_NAME';
Ubah parameter: $db_type menjadi 'mysql' $stats_password menjadi 'pass123' $enable_id_obfuscation menjadi true $MySql_username menjadi 'namauser yang telah dibuat' $MySql_password menjadi 'password user yang telah dibuat' $MySql_hostname menjadi 'localhost' $MySql_databasename menjadi 'database yang telah dibuat'
Masuk ke direktori results
cd /home/namauser/speedtest/results
Import database libre speedtest kedalam database speedtest yang telah dibuat
mysql -u namauser -p speedtest < telemetry_mysql.sql
Lalu masukan password user yang telah kita buat pada saat membuat database
Pastikan import database sudah berhasil, cara melihatnya sebagai berikut:
mysql -u namauser -p
Masukkan password user
Setelah masuk kedalam mysql, lakukan hal berikut:
Pilih database speedtest yang telah dibuat
use namadatabase;
Lihat tabel yang ada
show tables;
Pastikan terdapat tabel dengan nama speedtest_users seperti berikut
MariaDB [namadatabase]> show tables;
+---------------------+
| Tables_in_speedtest |
+---------------------+
| speedtest_users |
+---------------------+
1 row in set (0.000 sec)
Masuk ke dalam direktori speedtest
cd /home/namauser/speedtest
Salin file example-singleServer-full.html ke direktori /var/www/html/
sudo cp example-singleServer-full.html /var/www/html/
Masuk ke dalam direktorii /var/ww/html
cd /var/www/html/
Ubah nama example-singleServer-full.html menjadi index.html
sudo mv example-singleServer-full.html index.html
Buka web browser dan jalankan test
Melihat daftar hasil speedtest
Buka halaman
domainURL_ip/results/stats.php
Lalu login menggunakan passowrd yang telah disesuaikan pada saat mengedit telemetry_settings.php dengan parameter $stats_password = 'password';
Sumber/referensi: https://i12bretro.github.io/tutorials/0276.html (Recomended) https://www.youtube.com/watch?v=FyQaO34qz5k (Video Recomded)