avatar
Bobby Iliev

Sep 16, 2024

5 Project Ideas for Junior Linux System Administrators

5 Project Ideas for Junior Linux System Administrators

Get featured on Geeklore.io

Geeklore is in very early stages of development. If you want to help us grow, consider letting us sponsor you by featuring your tool / platform / company here instead of this text. 😊

Introduction

If you are getting started with programming, there are countless articles with ideas for projects that you could build, but not that many project ideas for purely Ops-related roles.

For anyone who is getting started with Linux and wants a DevOps/SysOps practical task or a challenge to boost your knowledge, you could try configuring up the following setups.

Prerequisites

Before you get started, you would need to either have Virtual Box installed on your laptop so that you could create Linux virtual machines on there.

Or as an alternative, you could create an account with DigitalOcean using the link below and start creating actual servers:

Setup a LAMP or LEMP Stack

Nginx and Apache are some of the most popular web servers, so you will most likely have to work with both at some point in your career.

Challange:

Setup 1 server and install the following:

  • Linux
  • Nginx
  • MySQL
  • PHP-FPM

For the sake of practice, try out the same setup but with Apache instead!

MySQL replication

Scaling MySQL could be challenging. This is why I would encourage you to try and setup MySQL replication with 2 or more servers and get your hands dirty!

Challange

Setup 2 servers with MySQL installed and configured MySQL replication so that you have 1 main server and 1 replica.

Setup NFS

NFS stands for Network File System, and it allows you to share files and folders between servers/computers over a network, much like local storage.

Challange

Set up an NFS server and with a few NFS clients.

Setup Redis for PHP sessions

If you are going to scale your PHP application with multiple web servers, you would need a way to share your PHP sessions. Otherwise, your users would lose their sessions each time they reach a different server.

Challange

Try setting up a separate Redis server and configure the LEMP/LAMP server so that it stores its PHP sessions on your Redis server.

Complete Solution

Once you've done the above a few times and you feel confident, then try to combine all of the things into one and set up the following solution:

Linux DevOps Challange

Challange

Setup the following

  • 1 Load Balancer with HAProxy
  • 2 or more Web Servers with Nginx + PHP-FPM + Laravel and Jetstream installed
  • 2 database servers with #MySQL replication
  • 1 Redis server to store your #PHP sessions
  • NFS server to store your files on

This could be considered as an 'old school' solution compared to technologies like Kubernetes and etc., but I think that it is a great exercise for anyone interested in system administration, SRE, and DevOps roles!

Finally, try doing a load test with Siege.

Other Ideas

Some other ideas would be:

  • Setup your own storage server with OwnCloud and DigitalOcean Spaces
  • Get a Raspberry Pi and set up your home VPN
  • Learn Bash scripting
  • Setup a monitoring solution for the cluster that you created. You could check out Nagios!
  • Learn git and set up a CI/CD process with Jenkins or GitHub actions

If you are getting into the DevOps world, make sure to check out this ebook bundle here:

Linux DevOps eBook Bundle

Conclusion

You can spin up a few servers on DigitalOcean and start playing around!

If you have any other ideas, make sure to share them with me by tagging me on Twitter:

@bobbyiliev_

Latest Comments

    avatar Algorithm Adept
    Kuberdenis Algorithm Adept Level 27
    2 months ago

    Good post, Bobby!

More From This User

3 0 57
Read Now
4 0 25
Read Now
4 0 47
Read Now
2 0 16
Read Now
3 0 76
Read Now

© 2024 Geeklore - DEV Community RPG

Facebook Twitter Linkedin Instagram

Campaign Progression Updated!