Technical

  1. Installing a modern web server

Installing a modern server

Web Servers: A bit of history

It’s been quite a while since a bright and unassuming chap by the name of Tim Berners-Lee decided to combine the useful system of locally-stored, inter-linked hypertext documents with the wide reach of the Domain Name Service in order to reference hypertext documents stored at remote computers on distant networks. This revolutionised the Internet by giving users the ability to fetch documents from potentially any computer on any network in a seamless and organised way and led to the birth of the shiny new magazine-style World Wide Web.

HTTP – WWW – HTML

Doing so involved the creation of HTML, a language designed for formatting hypertext documents, as well as HTTP, a method of requesting and transferring them from a remote computer to your machine. Of course, you need client software, namely a web browser, in order to display these spiffy new HTML documents in the intended way, as well as server software designed to listen to requests for the documents and subsequently send them out to eagerly awaiting browsers. This part of the equation, the humble web server, is the unsung hero of the World Wide Web. Beavering away tirelessly in the background, this piece of software spins the very fabric of the Web itself.

Web server workload

Well that was then and this is now. Gone are the days when web servers just dutifully handed out static web pages to requesting browsers. The incessant hunger for more features and greater functionality has turned this one-way street into a two-way information superhighway. These days, web servers are expected not only to provide us with information, but also to accept it from us, as well as having some way of storing and managing this information. Not only do you need the web server itself, but also a scripting method, designed to generate pages that can accept and display information inputted at the user’s browser, as well as a database system to store and manage this information.

Searching for software for the web server

So when I was asked to set up a web server for an intranet website at my local network, I expected it to be a serious undertaking. Dauntless, I set out, researching the various methods that existed on, where else, but the World Wide Web, when I started to realise that most of the work had already been done for me. I discovered that rather than having to set up these individual components myself, a single combined solution could be used, the XAMP server, which had already combined the Apache2 web server and the MySQL database system with the powerful server-side scripting language PHP, to provide all the necessary functions of a modern web server. What’s more, all of these software components are open-source and well maintained by a world-wide community of programmers and testers. This unified solution can be deployed on your operating system of choice, Windows (WAMP), Linux (LAMP), MacOS (MAMP), among others, as well as some which are operating system-independent (XAMP). Other scripting languages such as Perl and Python can also be used, as in the case of the popular XAMPP server (PHP and Perl).

Choice of Open Source software: LAMP

Given my love of open-source software, especially its price tag, the choice of a LAMP server was the obvious one for me. Moreover, I discovered that Turnkey’s LAMP server already came bundled with a stripped-down version of Ubuntu Linux. ‘This is too easy,’ I thought as I burned my iso image to a freshly unwrapped CD.

Installation of the LAMP software

After appropriating a suitable computer, I merely installed Turnkey LAMP from the CD and within about five to 10 minutes I had my web server, complete with scripting, database and secure ftp servers, the latter being used to securely publishing web documents to the server computer itself.

Configuration of the LAMP software

‘Surely, the configuration phase will test my mettle,’ I thought as the installation completed and my new server cheerily presented me with a configuration page, requesting its IP addressing information. Once the static IP address was set, this was pretty much all that had to be done server-side, as most of the configuration takes place client-side, via a web browser. During the installation, you are requested to input a password, both for the ‘root’ (administrator) user as well as for MySQL. Now all I had to do was to arrive at any workstation on the network and type the IP address of the new server into a web browser and after entering the ‘root’ username and password, I was presented with a slick, polished interface that basically allowed me to configure anything I wanted. Configuring the server from a web browser is both convenient and secure, thanks to SSL encryption technology, so there’ll be no sniffing of your username and password on the network. The Apache2 web server has the ability to create multiple ‘virtual’ servers. I simply created a virtual server to listen for connections on port 80 (the port used for normal unsecured web traffic) and directed it to use a folder of my choice as its web root folder. Now typing the web server’s IP address into a browser on any workstation will redirect to the web root folder that contains the documents for the Intranet website.

Database – MySQL – PHPMyAdmin

Databases can be created and managed via the PHPMyAdmin interface and, of course, PHP documents that contain PHP code can be written to generate modern web pages that allow the user to provide information to the server, have it stored by MySQL and have it received, managed and appropriately displayed by PHP.

Domain Name Server

As a finishing touch, I entered the new host ‘www’ into the Domain Name Server (DNS) on my network so that users could enter the domain name of the web server, ‘www.mydomain.local’ into their browser and have it resolve to the web server’s IP address. Of course, if you are on a domain that is registered on the Internet (e.g. ‘www.mydomain.com’) your web server can be accessible from anywhere in the world, rather than just your local network.

You are now the proud possessor of one modern web server with all the trimmings. Just don’t tell anyone how easy it is to set up.

One Response to “Technical”

Leave a Reply

September 2010
M T W T F S S
« May    
 12345
6789101112
13141516171819
20212223242526
27282930