If you’ve installed network accessible software or web apps on a server, you know what a task it can be. That’s because these web apps require a lot of infrastructure software which might take you hours to put together. This is where Turnkey Linux shines.
Using Turnkey Linux appliances, you can deploy a new server in a jiffy. A Turnkey appliance is a self-contained system that packs in a fully functional web app that runs on top of Just enough Operating System (JeOS) components required to power that particular app. Currently all appliances are based on the latest stable Debian 7.2 release.
The Debian base is combined with Turnkey Linux’s secret sauce in a Core appliance that is included in all other appliances. It includes the project’s custom TKLBAM tool to backup and migrate the servers, the AJAX web shell, and the Webmin management interface.
This Core appliance then forms the basis of all the other appliances offered by the project. One of Turnkey’s most useful appliance, at least for me, is the LAMP Stack. It offers the popular combination of Linux, Apache, MySQL and PHP/Python/Perl.
Instead of just bundling these components together, the Turnkey developers put in effort to make sure the components are well integrated to give you the perfect environment for development or deployment. So, for example, the appliance offers SSL support out of the box, and includes the XCache PHP accelerator, PHPMyAdmin for administering the MySQL database, as well as Webmin modules for configuring Apache2, PHP, MySQL and Postfix.
All Turnkey Linux appliances are available in several formats and you choose one depending on the hardware you want to deploy it on. Importantly though, once they’re up and running, all appliances present to you the same interface to deploy and manage your web app.
There’s an ISO image using which you can install the appliance on a physical machine. There are also images optimized for different types of virtual hardware, as well as images optimized for deployment on the OpenStack cloud platform.
Using the appliance
Once you have downloaded an appliance, the first step is to power it on. If you’re using the ISO image, this involves burning the image on to a disk and booting off of it. The Turnkey appliance will give you two options – to either install the appliance or try it in a Live mode. If you decide to install the appliance, the only decision you have to make during installation is how to partition the hard disk for installing the appliance.
If it’s a virtual image, you begin by importing it into a virtualization app like VirtualBox which will create a virtual machine with the pre-defined settings. Whether you have installed the appliance, or are trying it in Live mode, or running it within a virtual machine, the process of configuring the appliance is the same.
During this configuration process, you’ll be asked to setup passwords for the root user of the appliance as well as the password of the administrator of included components such as the MySQL database. You’ll be asked to configure Turnkey’s TKLBAM backup tool, which you can safely ignore and setup later.
That’s all there’s to it. Once the appliance is configured it will display a configuration console which lists the network address of the various tools and services it’s running.
Control from web browser
Now head over to another computer on the same network, fire up the browser and point it to the IP address of the server running the Turnkey appliance. This will display a control panel from which you can control and administer all aspects of the appliance.
All appliances contain the AJAX-based terminal emulator called Shell-In-A-Box using which you can use to log into the remote server from within the web browser itself.
There’s also the Webmin configuration tool which you can use to tweak various aspects of the remote server, such as setting up cron jobs and configuring various components such as the Apache web server.
There are also other configuration tools that vary from one appliance to another. If the appliance includes an app that uses MySQL, such as the LAMP Stack, the WordPress appliance, the Elgg appliance, etc, then the appliance will also include the PHPMyAdmin tool for administering the database.
Turnkey Linux is an ideal solution for anyone who needs a LAMP setup. Not only does it significantly reduce the time required to deploy a web app, it is an ideal environment for web developers to develop and test their projects.
Besides infrastructure appliances such as the LAMP Stack, Turnkey also creates appliances for dozens of Open Source web apps including Etherpad Lite, Joomla 2.5, Drupal 7, Sahara Eden, etc.
Image credit: Lee Contracting