By decent, we understand that the server should be capable to accept HEAD, GET and POST HTTP commands and it is able to serve the correct MIME types corresponding to *.html, *.css, *.js file types.
For the most popular server environments (HTTP + software development platforms), the tester module is able to dynamically adapt itself by detecting the full environment platform.
This covers all the LAMP / WAMP type platforms. Those are very popular platform and no special actions are needed in order to run our network testing module on those or on any other HTTP+PHP empowered environment. Just deploy the package on the server and you are good to go.
This refers to the Microsoft's ASP empowered environments. This is also a very popular platform and no special actions are needed in order to run the testing module on it or on any other HTTP+ASP empowered environment. Just deploy the package on the server and you are good to go.
IIS + PHP environment is also supported by default.
There is a lot of buzz going on regarding this new kid on the block called Node.js and of course, we should write something about how our network speed testing module can be run on Node.js. You should know that Node.js is a very competitive platform to build network applications and it's not quite a ready-to-use HTTP server. So, in order for our module to run on Node.js a decent HTTP server must be built and run first. Fortunately, there are some very good HTTP servers already build and we will just use one of them to host our AngularJS application.
So, in order to run our network speed tester under Node.js the following steps are required (we used a Windows machine to show the results, but they should be similar on other systems as well):
We will not go into much details here, just visit the official Node.js website and download a suitable installer/package
At this point, you should be able to run node command ane enter the Node.js command line:
Issuing a console.log() command will lead to the following output:
There are plenty of HTTP servers among the Node Packaged Modules and we choose LocalServer.
Type the following command into your system operating console (internet connection is required as the npm utility will download the server from the npm repository):
npm install -g localserver
If everything goes fine, you should get the following output:
Now, that we have a HTTP server installed, it's time to run it and host our network speed testing application. Just type localserver in the console:
In a very similar fashion like for Node.js other "exotic" environments can be set-up in order to be able to support out network speed tester. After all, they will just need to act like regular HTTP web servers with all the "classical" features.