Linux System Administrator Projects

If you are looking to gain some experience as a Linux system administrator, check out the list of ideas below. For each project on the list you could do it on multiple Linux distributions. You could also start about by learning the bare minimum necessary to complete one of these projects, then take it to the next level by making it fault tolerant or learning how to scale it.  Create a virtual machine for your projects or try them on your own server hosted at Digital Ocean.

Scratch Your Own Itch

Find a real need you have and fill it using a Linux based solution. This is one of the most rewarding ways to learn Linux. For example,

  • Do you need somewhere to store work related documentation or notes? Then install a Wiki on Linux.
  • Want to start a blog? Host it on Linux!
  • Want to stream online content to your TV or other devices in your home? Then build a Linux media server.

The next time you have a technical need and want to get some extra Linux practice, see if you can solve your problem with Linux.

Configure the LAMP Stack

LAMP stands for Linux Apache MySQL and PHP. It’s a very common architecture for web applications. If you think about the LAMP stack in broad terms you have an operating system (Linux), a web server (Apache), a database tier (MySQL), and a programming language (PHP). You can substitue different solutions for each component. Try configuring the LAMP stack on CentOS, then Ubuntu. Instead of using Apache you could use NGINX or lighttpd. For the database you could use PostgreSQL, MariaDB, or MongoDB. Instead of using PHP, why not try Python?

If you want to take it a step further and learn how to set up a highly available and scalable LAMP Stack, check out the High Availability for the LAMP Stack Course.

  • Linux
  • Apache
  • MySQL
  • PHP

Deploy an Open Source Application

Find an application that you would be interested in using and deploy it. Even if you don’t end up using the application you’ll have gained the experience of setting it up.

  • Alfresco
  • Bugzilla
  • DokuWiki
  • Drupal
  • Etherpad Lite
  • Gitlab
  • Joomla
  • MediaWiki
  • Moodle
  • osTicket
  • OwnCloud
  • phpBB
  • PunBB
  • Redmine
  • ServiceDesk Plus
  • SugarCRM
  • Trac
  • Twiki
  • WordPress
  • Zen Cart

Configure Common Services – Client AND Server

  • cron
  • CUPS
  • DHCP
  • DNS
  • Email (SMTP, POP, IMAP)
  • LDAP
  • NFS
  • NIS
  • NTP
  • SSH

Configure Monitoring

  • Cacti
  • Icinga
  • Monit
  • Munin
  • Nagios
  • OpenNMS
  • Zabbix
  • Zenoss

Create a Build System

  • Cobbler
  • FAI
  • Foreman
  • Kickstart
  • Razor
  • Spacewalk

Create a Centralized Syslog Server

  • ELK Stack: Elasticsearch, Logstash & Kibana
  • Fluentd
  • Logstash
  • Kibana
  • Splunk
  • syslog-ng

System Automation

  • Ansible
  • Chef
  • MakeFiles and/or RakeFiles
  • Puppet
  • Salt Stack
  • Write Shell Scripts

Cluster All The Things

  • Load balance web servers or other services using HAProxy
  • Create a MySQL Cluster
  • Create a GlusterFS Cluster
  • Red Hat Cluster (Conga)

Build a NAS

  • NFS
  • Samba
  • Netatalk
  • Open Media Vault
  • EasyNAS
  • Rockstor

Host Your Own Personal Cloud

  • OwnCloud
  • NextCloud
  • Rockstor
  • Seafile
  • Cozy Cloud
  • Tonido

Practice Migrating Data

  • Migrate data from a disk on one server to a disk on another server.
  • Migrate Databases.
    • Live migrations
    • Export / Import

Create and Manage Users

  • FreeIPA
  • LDAP
  • NIS
  • User name ideas: http://www.fakenamegenerator.com/

Configure a Backup Server

  • Amanda
  • Bacula
  • Rsnapshot
  • Rsync + SSH

Configure a Firewall

  • IPtables
  • FirewallD
  • UFW

Learn LVM

  • Create and restore snapshots
  • Extend volumes without downtime

Configure a Proxy Server

  • Forward Proxy
    • Apache
    • Squid
  • Reverse Proxy
    • Apache
    • NGINX
    • Pound

Learn Revision Control

  • CVS
  • Git
  • RCS

If you are still looking for more ideas, check out Linux Server Hacks and Linux Server Hacks Volume Two.  Simply looking at the table of contents will give you ideas for even more projects to tackle.

Download All the Linux Projects in a Single Spreadsheet
We respect your privacy.