Host Your Own Internet Speed Tester With LibreSpeed
#LibreSpeed #Self-Hosted #SpeedTest
Full steps can be found at https://i12bretro.github.io/tutorials/0276.html
--------------------------------------------------------------------
Basic Installation
--------------------------------------------------------------------
01. Log into the Debian/Ubuntu device
02. Run the following commands in a terminal:
# update repositories and install any available software updates
sudo apt update
sudo apt upgrade
# install Apache HTTPD, PHP and GIT
sudo apt install git apache2 php libapache2-mod-php
# clone the git repo
sudo git clone https://github.com/adolfintel/speedtest /var/www/html/speedtest
sudo cp /var/www/html/speedtest/example-singleServer-gauges.html /var/www/html/speedtest/index.html
# set the owner of the new speedtest directory to www-data
sudo chown -R www-data:www-data /var/www/html/speedtest
03. Open a web browser and navigate to http://DNSorIP/speedtest
04. The basic speed test functionality will be available, but it lacks the abillity to save and share speed test results. Let's add a database to enable those features
--------------------------------------------------------------------
Optional Advanced Installation Steps
--------------------------------------------------------------------
01. Continue the installation by running the following commands in a terminal:
# install MySQL/MariaDB
sudo apt install mariadb-server mariadb-client php-mysql
sudo su
mysql_secure_installation
02. Press Enter to login as root
03. Type Y and press Enter to set a root password, type the password twice to confirm
04. Type Y and press Enter to remove anonymous users
05. Type Y and press Enter to disallow root login remotely
06. Type Y and press Enter to remove the test database
07. Type Y and press Enter to reload privilege tables
08. Run the following command to login into MySQL: mysql -u root -p
09. Authenticate with the root password set earlier
10. Run the following commands to create the speedtest database and database user MariaDB [(none)]≫ CREATE DATABASE speedtest;
MariaDB [(none)]≫ GRANT ALL ON speedtest.* to 'speedtest'@'localhost' IDENTIFIED BY 'Sp33dTest!!';
MariaDB [(none)]≫ FLUSH PRIVILEGES;
MariaDB [(none)]≫ USE speedtest;
MariaDB [(none)]≫ \. /var/www/html/speedtest/results/telemetry_mysql.sql
MariaDB [(none)]≫ EXIT;
exit
11. Continue with the following commands to setup the speedtest database
# edit telemetry_settings.php
sudo nano /var/www/html/speedtest/results/telemetry_settings.php
12. Verify/change $db_type = 'mysql';
13. Change $stats_password = 'P@$$w0rD';
14. Change $enable_id_obfuscation = true;
15. Update the Mysql Settings variables to the credentials created earlier
$MySql_username = 'speedtest';
$MySql_password = 'Sp33dTest!!';
$MySql_hostname = 'localhost';
$MySql_databasename = 'speedtest';
16. Press CTRL+O, Enter, CTRL+X to write the changes to telemetry_settings.php
17. Continue with the following commands in terminal:
# copy an example page with telemetry enabled
sudo cp /var/www/html/speedtest/example-singleServer-full.html /var/www/html/speedtest/index.html
# restart the apache2 service to enable MySQL
sudo systemctl restart apache2
18. Open a web browser and navigate to http://DNSorIP/speedtest
19. This time around the speedtest results have been saved to the database and a link is provided to share the results
More Info: https://github.com/librespeed/speedtest
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro