Setup Your Own “Speedtest Mini Server” to Test Internet Bandwidth Speed

Overwhelmed with the response we got on the previous article on how to test the bandwidth speed using command-line tool speedtest-cli, this tutorial aims at providing you with the knowledge of setting your own speedtest mini server in 10 minutes.

[ You might also like: How to Test Your Linux Internet Speed Using Speedtest CLI ]

Speedtest.net mini is a speed testing application that is used for hosting a speed test server (Mini) on your own site/server. Another application from NetGuage serves the same purpose which primarily is designed for Corporate sites.

Speedtest.net Mini is available for free and is compatible with all major web servers. It measures ping by sending an HTTP request to a selected server and measures the time till it gets a response. For checking upload and download speed, it uploads and downloads small binary files from a webserver to the client and vice-versa for upload.

Note: Speedtest Mini server may not be used for commercial use, nor on any commercial sites.

Install Speedtest Mini Server on Linux

Download speedtest Mini Server from the link below. You need to log in before you can download. If you don’t have an account, register first.

  1. http://www.speedtest.net/mini.php

Once downloaded mini.zip file, you need to unzip the archive file.

# Unzip mini.zip

Now you need to determine on which server you want to host the application. You can choose any of the following as your hosting server – PHP, ASP, ASP.NET, and JSP. Here we will be using PHP and Apache as servers to host.

Let’s install Apache, PHP, and all needed PHP modules using the following commands.

On Debian/Ubuntu/Mint
# apt-get install apache2
# apt-get install php5 php5-mysql php5-mcrypt php5-gd libapache2-mod-php5
On RedHat/CentOS/Fedora
# yum install httpd
# yum install php php-mysql php-pdo php-gd php-mbstring

After installing Apache and PHP with all required modules, restart the Apache service as shown below.

# service apache2 restart		[On Debian/Ubuntu/Mint]
# service httpd restart			[On RedHat/CentOS/Fedora]
# systemct1 restart httpd		[On RHEL/CentOS 7.x and Fedora 21]

Next, create a phpinfo.php file under Apache default directory, which we will use to check if PHP is rendering correctly or not.

# echo "<?php phpinfo(); ?>" > /var/www/phpinfo.php         [On Debian/Ubuntu/Mint]
# echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php [On RedHat/CentOS/Fedora]

Note: The default Apache root directory maybe /var/www/ or /var/www/html/, please check the path before moving forward…

Now we will be uploading the extracted folder mini to the Apache default directory location.

# cp -R /[location to extracted folder]/mini /var/www/       [On Debian/Ubuntu/Mint]
# cp -R /[location to extracted folder]/mini /var/www/html   [On RedHat/CentOS/Fedora]

We need to rename a file hence Long list the contents of a directory that was uploaded to the Apache directory /var/www/ or /var/www/html.

# ls -l /var/www/mini

OR

# ls -l /var/www/html/mini
Contents of Mini Server
Contents of Mini Server

Now rename index-php.html to index.html only and leave other files untouched.

# cd /var/www/
OR
# cd /var/www/html/

# mv mini/index-php.html mini/index.html
Rename Index File
Rename Index File

Note: If you’re using any other platform as your host, you need to rename the respective file as shown below.

  1. Rename index-aspx.html to index.html, if you are using ASP.NET as your host.
  2. Rename index-jsp.html to index.html, if you are using JSP as your host.
  3. Rename index-asp.html to index.html, if you are using ASP as your host.
  4. Rename index-php.html to index.html, if you are using PHP as your host.

Now point your web browser to your local server IP address, which typically in my case is:

http://192.168.0.4/mini
Speedtest Mini Server Testing
Speedtest Mini Server Testing

Click Begin Test and it starts testing the speed Locally.

Test Internet Speed Locally
Test Internet Speed Locally

Now If you want to run the mini server over the internet you need to forward your port in the firewall as well as in the router. You may like to refer to the below article to get a brief of how-to on the above topic.

  1. Create Your Own Web Server to Host Website

If everything goes fine you can check your bandwidth speed using a mini server. But if the mini server and machine to be tested are on the same network you might need a proxy server like (kproxy.com), to test.

Test Internet Speed on Same Network
Test Internet Speed on the Same Network

Also, you can check the speed of Internet connection on a headless server or Linux command line using speedtest-cli tool.

# speedtest_cli.py --mini http://127.0.0.1/mini
Check Internet Speed Using Speetest-Cli
Check Internet Speed Using Speetest-Cli

Note: If you are on a different network, you are supposed to use public ip address in the web browser as well as a command line.

Furthermore, SYSAdmins can schedule the speedtest to run periodically in production, after setting up a mini server.

Conclusion

The setup is too easy and took me less than 10 minutes of time. You may set up your own speedtest server to check the connection speed of your own production server, it is fun.

That’s all for now. I’ll be coming up with another interesting article very soon. Till then stay tuned and connected to Tecmint. Don’t forget to provide us with your valuable feedback in the comments below. Like and share us and help us get spread.

Avishek
A Passionate GNU/Linux Enthusiast and Software Developer with over a decade in the field of Linux and Open Source technologies.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

Leave a Reply to Keith Cancel reply

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.