In this project report, I describe the Linux distribution I most often use to deploy and prepare Linux-based services, from installation to initial configuration. I usually prefer TurnKey Linux because it is lightweight, based on Debian, and offers a wide range of ready-to-use server appliances with pre-installed services. This approach saves time during deployment and reduces the amount of manual configuration required.
Introduce TurnKey Linux and explain why I use it for deploying server services.
Document the initial configuration steps I follow after installation.
Demonstrate how I use the console and web-based administration interfaces.
Present examples of TurnKey Linux appliances I have used to deploy different services.
TurnKey Linux
SSH
Confconsole
Webmin
Linux command-line tools
Various TurnKey Linux appliances
TurnKey Linux is a Debian-based distribution that provides ready-to-use server appliances for deploying specific services. Each appliance comes with the required software pre-installed and includes tools for system administration and maintenance. This makes it easier to deploy services without installing and configuring every component manually.
TurnKey Linux is my preferred option for quickly deploying server services. I can choose an appliance from the TurnKey Linux Hub based on the service I need.
After booting the machine with the TurnKey Linux image, I followed the steps below to install the TurnKey Linux core version:
I chose “Install to Hard Disk” as this distro has a live or demo version as well.
Since I always use customized partitioning, I chose Manual mode:
Then I created a root, swap, and another partition called home in order save my data on home partition:
The rest of the installation was easy and just needed to select the items that were procedure of installing the OS on hard disk and finalize the installation:
Next, I was asked to eject the installation media and reboot the system.
Then I was asked to assign a password. This password is for root account.
And as the final installation wizard step, I was asked to install the security updates now. Since this is an important update, specially for a server, I installed the updates through the internet.
One issue I encountered during installation involves selecting the target disk. When choosing the disk for the operating system, I select the manual option and specify /dev/sda as the device path. However, selecting automatic partitioning and choosing /dev/sda directly from the list of available disks results in an installation error. I am not sure whether this is a bug or an issue specific to the virtualized environment, but it does not cause any further problems once the installation process begins.
To work around this issue, I manually enter /dev/sda as the installation path when selecting automatic partitioning. This resolves the error and allows the OS installation to proceed successfully.
After installing TurnKey Linux, I use its console-based configuration tool and Webmin web interface to configure the server. Although many of these settings can also be managed through the terminal, these interfaces provide convenient ways to perform common administrative tasks.
Console Interface
SSH is enabled by default on the TurnKey Linux installations I use, so I normally connect to the server remotely. After signing in, I run the confconsole command to open the configuration menu.
The following sections describe the initial configuration steps I perform after a fresh installation.
I assign a static IP address to the server to ensure that it remains accessible at a predictable address.
I assign an appropriate hostname to identify the server on the network and distinguish it from other systems.
I install the available security updates to address known vulnerabilities and keep the system up to date.
I select the appropriate time zone so that system logs and services display local time correctly where applicable.
Finally, I update the package lists and upgrade the installed packages. I also install any additional tools required for the server's intended purpose.
Webmin Interface
After completing the initial configuration, I use Webmin to perform the remaining administrative tasks. The following example shows the standard Webmin interface available on a core TurnKey Linux installation.
To access Webmin, I open a browser and enter the server's IP address followed by the default port, 12321. I sign in with the credentials configured for the server.
I use the dashboard to review system information and status indicators through a graphical interface. It provides an overview of the server's current state and helps me check its general health.
Options that I usually configure on the web interface are as below.:
From webmin menu, I change the default port of the webmin interface as the default port increases the security risk.
The Bootup and Shutdown section allows me to manage system services through a graphical interface. I can start or stop services and enable or disable them at boot, similar to using systemctl in the terminal.
Webmin provides file-management tools that allow me to browse the server's filesystem and, where supported, upload and download files. Therefore, there is no need for WinSCP or other third-party software to manage files on the server.
Webmin also provides a browser-based terminal for accessing the server's command line. One useful feature is the ability to paste commands and text directly into the terminal.
TurnKey Linux provides a range of ready-to-use appliances, each designed for a particular service or application. Below are some of the appliances I have used in my projects.
In many cases, my role was to install the appliance and prepare the service for use. The administrator who requested the service was responsible for running it and completing the required configurations for that services, for example adding sensors to the monitoring service, adding and managing cameras to the surveillance service, etc.
TurnKey Core
TurnKey Core is the base system used by TurnKey Linux appliances. It includes common administration and maintenance tools, such as Webmin, system monitoring, and TurnKey Linux backup and restore capabilities through TKLBAM.
I have used TurnKey Core extensively to host services that do not require a dedicated appliance. It is one of my first choices when I need a lightweight, general-purpose Linux server with useful administration tools already installed.
ZoneMinder
ZoneMinder is open-source video surveillance software that can be used to manage and monitor IP cameras.
The screenshots below show an example of a project in which cameras were installed. I am sharing these screenshots with the customer's permission.
WordPress
The TurnKey WordPress appliance provides a ready-to-use environment for hosting a WordPress website. It includes the software required to run WordPress, reducing the need to install and configure its components separately.
Observium
Observium is a network monitoring platform that uses SNMP and other supported collection methods to monitor network devices, servers, and other infrastructure.
File Server
The TurnKey File Server appliance provides network file-sharing services and a web-based file manager. It supports several file-transfer and sharing protocols, including SMB, FTP, SFTP, NFS, WebDAV, and rsync.
Znuny
Znuny is an open-source service-management and ticketing system used for help desks, IT support, customer service, and other service-desk operations. It continues the former OTRS Community Edition code line as an independently maintained project.
PostgreSQL
The TurnKey PostgreSQL appliance provides a ready-to-use PostgreSQL database server.
Using TurnKey Linux appliances has allowed me to deploy common server services with less manual installation and configuration. The pre-installed applications and administration tools help me prepare systems quickly, while the console and Webmin interfaces simplify routine configuration and maintenance.
I have used these appliances for general-purpose Linux hosting, video surveillance, website hosting, network monitoring, file sharing, service-desk operations, and database services. This approach provides a practical starting point for deploying services while leaving application-specific configuration to the administrators responsible for them.