The Appliance of...Virtual Machines
Thursday, 20 May 2010
Article Index
The Appliance of...Virtual Machines
Getting started - LAMP


Getting started - LAMP

To try out appliances you first need to find a suitable machine.

Install a host operating system, Windows XP will do, and then a virtual machine manager such as VMware, Virtual PC or VitualBox.

Once you have the machine set up the next step is to find your appliance. The VMware website has a list of a great many appliances – some freeware and some commercial products and you can find more by simply searching the web.

However in my experience the best source of appliances and information is:  TurnKey. This is an open source project that  packages Ubuntu based servers. You can download each appliance as either a VMDK format image suitable for use with VMWare or VirtualBox, or as an ISO image that you can burn onto a CD. The CD can then be used to install the appliance onto fresh hardware or a VM. The CD contains an installable operating system complete with all of the additional components and applications needed to make the appliance work.


Just some of the appliances waiting to be used

Downloading the VMDK image format has the advantage that its easy and very quick to get a new machine up and running. The ISO format is slower but you can customise the installation by setting options during the installation.

You can also opt to use the same appliances on the Amazon EC2 cloud. However notice that to do this you need an EC2 account and you will have to pay the Amazon charge for running the server - less than $0.1 per hour.

The top virtual appliance has to be LAMP – Linux, Apache, MySQL and PHP (plus in this case Python and Perl).

If you download the virtual machine image in VMDK from the TurnKey website, unzip it  into the directory where you keep your VM images you  can then load it as an “existing virtual machine (specify the .vmx file). You can then use the VM console to start the machine and you have a complete web server up and running in no time at all.

The system should require little configuration to get started by default the user name is root and the password is blank for all services. Of course to secure the system you will have to change the passwords - something that can be done during installation if you use the ISO CD image.

When you start the server you will be told its IP address (assuming that there is a DCHP server available) and you can then administer it mostly using a web interface. Apache and MySQL are both running by default and you can use PHPMyAdmin to manage MySQL. You also get SSL support, Python and Perl. A web admin site allows you to configure the operating system and servers.



Web admin of the appliance and all its servers

To install a website you simply copy the relevant folders to the \var\www folder.This can't be done in the usual way because this particular appliance doesn't have Samba installed which is essential for network interworking with Windows. There are two solutions. The first is to make use of the upload and download facilities to transfer files using http.

This works well but if you want full integration with a Windows network you will need to install SAMBA. As this is an Ubuntu version of Linux this is very simple:

apt-get update
apt-get install samba

and if you want to manage samba via the web administrator:

apt-get install webmin-samba

After this you will find Samba Windows File Sharing under the Servers tab of the Webmin tool. You can configure file sharing very simply using this and even join a domain.

You might have to set up user names and passwords for database access and you might have to arrange to import a database if it is already hosted elsewhere.

Later if you plan to move to a production environment you might also have to make a few small changes to harden security. A LAMP system is ideal for general website hosting with PHP and database access if required. You can certainly use Joomla, Drupal, Wordpress and a range of other content management systems without have to make extensive changes, but why not look at the list of appliances supported? You might discover that there is already something much closer to what you need than a basic LAMP appliance.  For example, you can download an appliance for: Joomla, Drupal, File Server, Domain Controller, Ruby on Rails, Tomcat and even the SDK for Amazon EC2.

If you can’t find what you are looking for at TurnKey then try the VMWare Virtual Appliance Marketplace:

where you will find just about everything you could need, but sometimes at a price.

More projects

Getting To Know WPF

WPF was, and is, Microsoft's second generation UI framework. It went through a period where its future was uncertain, but now it's back and part of .NET Core. What could be a better time to get starte [ ... ]

Setting Up Site-To-Site OpenVPN

Setting up a point-to-point VPN is relatively easy but site-to-site is much more complicated involving certificates and more IP addresses than you can count. Find out how to do it using OpenVPN.

Other Projects





Last Updated ( Thursday, 17 April 2014 )