TurnKey Linux Virtual Appliance Library

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
TurnKey Linux Virtual Appliance Library
File:TurnKey Linux logo 2024-08-03.png
File:Turnkey-linux-nginx-php-fastcgi-18.0-webmin-dashboard.png
OS familyLinux (Unix-like)
Working stateCurrent
Source modelOpen source
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Update methodAPT
Package managerdpkg
Supported platformsX86-64
Kernel typeMonolithic (Linux)
LicenseFree software licenses
Official websitewww.turnkeylinux.org

The TurnKey Linux Virtual Appliance Library is a free open-source software project which develops a range of Debian-based pre-packaged server software appliances (also called virtual appliances). Turnkey appliances can be deployed as a virtual machine (a range of hypervisors are supported), in cloud computing services such as Amazon Web Services or installed in physical computers.

Features

[edit | edit source]

The project maintains around 100 virtual appliances, all freely licensed, with daily automatic security updates and backup capabilities.[1] They are packaged in formats for different virtualization platforms, and two builds for installing onto physical media (to non-virtualized hard disk or USB from a hybrid ISO) or onto the Amazon Elastic Compute Cloud.[2]

Pre-integrated server applications include LAMP, WordPress, Joomla, Drupal, Redmine, MySQL, MediaWiki, Domain controller, File server, Ruby on Rails, phpBB, and many others.

History

[edit | edit source]

Founded by engineers of an Israeli startup,[7] the project was conceived in mid-2008 as a community-oriented open source project that would focus on helping users piece together turnkey solutions from open source components in the largest Linux distributions. According to one of TurnKey Linux's co-founders, the project was in part inspired by a desire to provide open source alternatives to proprietary virtual appliance vendors that would be aligned with user interests and could engage the community.[8]

The project launched in September 2008 with three prototype appliances for Drupal, Joomla and LAMP, based on the Ubuntu 8.04.1 build.[9] In the following months usability was improved and a dozen additional appliances were released including Ruby on Rails, MediaWiki and Django.[10]

In October 2009, the project released 40 appliances based on Ubuntu 8.04.3 including 25 new additions to the virtual appliance library. The release included support for Amazon Elastic Compute Cloud, and a new Virtual machine image format with OVF support.

TurnKey Linux was listed as a winner of the 2009 "Bossies" by InfoWorld as one of the "top 40 open source products" of that year.[11][12]

In September 2010, Turnkey Linux Backup and Migration (TKLBAM) was announced..[13] In November 2010, further additions to TKLBAM were announced including the integration of Webmin, which was discussed as a future feature in the original unveiling of the TKLBAM.[14]

Turnkey Linux was nominated for the SourceForge February 2012 Project of the Month.[15]

In August 2012, version 12.0 was released with the library increased to include over 100 appliances. This release also marked a move away from Ubuntu as the underlying operating system to Debian 6.0 (a.k.a. Squeeze). This move was cited as being for various reasons, particularly security.[16]

Early June 2013 saw a significant change of tack with the version 12.1 update release; built with the new "TKLDev" open build infrastructure. This release also included the first X86-64 builds.[17] Later that same month, the Turnkey Linux custom application code was moved to GitHub which also included a tracker for appliances bug reports.[18] As promised, in mid July Turnkey Linux released their image building appliance (TKLDev) as well as an additional separate GitHub account to house all the appliance specific code (used by TKLDev to build the appliances).[19]

November 2013 saw the release of v13.0, based on Debian 7.2 (a.k.a. Wheezy).[20]

September 2015 saw the long overdue release of v14.0, based on Debian 8.2 (a.k.a. Jessie),[21] followed by an April 2016 maintenance release, v. 14.1, based on Debian 8.4.[22]

Design

[edit | edit source]

TurnKey's virtual appliances start life as a "stripped down" Debian bootstrap (versions previous to v12.0 based on Ubuntu.[10]) To this is added the TurnKey Core, which includes all the common features for the project's virtual appliances,[23] including:

  • di-live: a live installer, derived from debian-installer.
  • A configuration console: developed in Python for the project to allow users to perform basic configuration tasks (for example, networking configuration, reboots)
  • An automatic mechanism that installs security patches on a daily basis.
  • Web administration interface based on Webmin which includes a selection of generic add-on control and configuration modules.
  • Web browser based shell
  • TKLBAM (TurnKey Linux Backup And Migration)[24] - a custom TKL backup/migration application/service that uses Duplicity as a backend. By default TKLBAM uses Amazon S3 for storage, but can also be configured to use any other storage medium supported by Duplicity. As of version 1.4 TKLBAM is available for non-TKL Linux OS.

The TurnKey Core has a footprint of approximately 110 MB, and is available as a separate download. Application software is installed on top of the Core, which typically increases the size of a virtual appliance up to approximately 160 MB.[25] By downloading and installing the appliance package to the hard drive, it is intended by the developers that administrators would gain an easy method of setting up a dedicated server.[10]

New software appliances, or customised appliances can be developed by forking the appropriate appliance build code on GitHub[26] and then built using TKLDev.[27] Additionally appliances can also be customized and extended using TKLPatch,[28] a simple appliance modification mechanism.

TurnKey Linux can be run as a virtual machine with VirtualBox and VMWare, although the former has been described as having been provided with more documentation.[29]

Screenshots

[edit | edit source]

See also

[edit | edit source]

Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  24. ^ TKLBAM - Smart automated backup and restore
  25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  26. ^ Turnkey Linux Appliance Build code repository
  27. ^ TKLDev - Appliance Build Engine
  28. ^ TKLPatch - a simple appliance customization mechanism[permanent dead link]
  29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]