Skip to content

wojtex113/100daysoflinux

Repository files navigation

Hi all,

My name's Wojtek and I own business called 'WOJST Usługi Informatyczne Wojciech Stańczyk' with a website https://wojst.pl
I write my thoughts, tips and another IT notes on the blog, which can be found at https://wojst.pl/blog

Today (29-04-2023) I've started the #100DaysOfLinux challenge. My goal is to finish all courses I have purchased but haven't yet completed and complete many labs during this time.

Update: Today (06-08-2023) I've finished this challenge :)

I aspire to be a Linux Administrator, which is my main goal, and I'm also considering the possibility of working in DevOps or SysOps.

Additionaly, I'm a firefighter in Państwowa Straż Pożarna, where we work 24-hour shifts every three days. During my shifts I will try found a few minutes to read or watch something related to this challenge.

So, let's get started :)

--
var ASL = course 'Administracja Serwerami Linux' by Grupa ADM
var ADL = course 'Akademia Debugowania Linuksa' by Jakub ‘unknow’ Mrugalski
var Proxmox Lab = https://wojst.pl/webhosting-lab-w-oparciu-o-proxmox/


🟡 Day 1 (Saturday, 29-04-2023)

Git

🟡 Day 2 (Sunday, 30-04-2023) [Firefighter duty]

Docker

  • watch a film on YT from IT conference - "how Docker work inside"

🟡 Day 3 (Monday, 01-05-2023)

ebook '77 zadań dla adminów' by Jakub ‘unknow’ Mrugalski - file management

  • exercises about file management in Linux (performed on Ubuntu running in Docker)

🟡 Day 4 (Thuesday, 02-05-2023)

ebook '77 zadań dla adminów' by Jakub ‘unknow’ Mrugalski - Apache

  • configure the web server (Apache), which is running on Ubuntu as a virtual machine in VirtualBox

🟡 Day 5 (Wednesday, 03-05-2023)

  • read news and articles about Linux

🟡 Day 6 (Thursday, 04-05-2023)

NGINX

  • "nginx in a hour" course by Jakub ‘unknow’ Mrugalski - I used virtual machine with Red Hat as the lab system

🟡 Day 7 (Friday, 05-05-2023)

ebook '77 zadań dla adminów' by Jakub ‘unknow’ Mrugalski - Nginx

  • configure the web server (NGINX), which is running on Red Hat as a virtual machine in VirtualBox

🟡 Day 8 (Saturday, 06-05-2023) [Firefighter duty]

ebook '77 zadań dla adminów' by Jakub ‘unknow’ Mrugalski - Nginx

  • I'm finishing yesterday's nginx excercises

🟡 Day 9 (Sunday, 07-05-2023)

  • listen podcasts about Linux

🟡 Day 10 (Monday, 08-05-2023)

Ansible

  • "Ansible in a hour" course by Jakub ‘unknow’ Mrugalski (6 lessons out of 9)
    run 3 Ubuntu virtual machines in VirtualBox and manage them with Ansible from a VM with Red Hat

🟡 Day 11 (Thuesday, 09-05-2023) [Firefighter duty]

  • read articles on redhat.com

🟡 Day 12 (Wednesday, 10-05-2023)

Ansible

  • "Ansible in a hour" course by Jakub ‘unknow’ Mrugalski (other lessons)
  • ebook '77 zadaÅ„ dla adminów' by Jakub ‘unknow’ Mrugalski - Ansible
    run 5 Ubuntu virtual machines in VirtualBox and manage them with Ansible from a VM with Red Hat

  • create blog post titled "How did my adventure with Linux start?"
    https://wojst.pl/jak-zaczela-sie-moja-przygoda-z-linuxem/

🟡 Day 13 (Thursday, 11-05-2023)

Ansible

  • continued ebook '77 zadaÅ„ dla adminów' by Jakub ‘unknow’ Mrugalski - Ansible

🟡 Day 14 (Friday, 12-05-2023) [Firefighter duty]

  • read news about Linux

🟡 Day 15 (Saturday, 13-05-2023)

Ansible

  • continued ebook '77 zadaÅ„ dla adminów' by Jakub ‘unknow’ Mrugalski - Ansible

🟡 Day 16 (Sunday, 14-05-2023)

  • watch a film on YT from IT conference - "Vagrant a nauczanie informatyki"

🟡 Day 17 (Monday, 15-05-2023)

Ansible

OpenVPN [ASL] + pfSense
I installed an OpenVPN server on Red Hat host and an OpenVPN client on RHEL as well. Next, I added 2 pfSense VMs beetwen the VPN hosts. All VMs ran in VirtualBox. I configured an internal network between the 'LAN networks'. On pfSense I configured port forwarding to forward a port from the WAN to the LAN OpenVPN server. Below is a schema of the lab.

Schema: OpenVPN + pfSense

Docker
I did 6 (from 11) excercises from the 'Docker' section in the ebook '77 zadań dla adminów' late in the evening.

🟡 Day 18 (Thuesday, 16-05-2023)

Docker
Finished 'Docker' section in the ebook.

Routing [ASL]
I configured an RHEL VM as a router for another VMs in VirtualBox. Below is the schema of the lab.

Schema: RHEL router

Post on the blog:
https://wojst.pl/linux-jako-router-na-podstawie-rhel/

🟡 Day 19 (Wednesday, 17-05-2023)

Disk management [ASL]
Red Hat lab in VirtualBox: add disk to VM, create / remove partition (fdisk), mount created partition (mount, umount, lsblk, /etc/fstab), LVM management.
It wasn't covered in the course, but I wanted to relab RAID (from Red Hat's official documentation): add 2 disks to a VM, create RAID1, simulate failed disk (remove second disk from VM), add new disk and attempting to repair the RAID.

Proxmox - install and add to jFrog
I intend to create a project with a lot of VMs (HA with KeepAlived, nginx + 2 versions of PHP as a web serwer, Redis to storing sessions, NFS for storing web files, MariaDB servers with replication, pfsense as gateway to this subnet, monitoring, FTP to upload web files etc).
For this purpose, I have installed Proxmox on an personal computer. To have access from flat I connected it to jFrog. In the next step I installed Debian and Rocky Linux in VMs, which were then converted to templates. I also installed pfSense in a VM and created an internal network.

🟡 Day 20 (Thursday, 18-05-2023)

Proxmox Lab
Created and configured 2 VMs (from templates) for MariaDB servers with replications: master using RockyLinux, slave using Debian.

On the blog I created a post in which I describe the progress of work on the project. This post will be updated as work progresses.
https://wojst.pl/webhosting-lab-w-oparciu-o-proxmox/

🟡 Day 21 (Friday, 19-05-2023)

[ASL]

  • management of services (systemctl, create own service)
  • syslogs

Proxmox Lab
Created a NFS server to store web files (based on RockyLinux). In addition, I added two disks that I connected with RAID (mirroring) to this VM. On them I will store the data made available by NFS.

🟡 Day 22 (Saturday, 20-05-2023)

[ASL]
Management logs with journalctl.

🟡 Day 23 (Sunday, 21-05-2023) [Firefighter duty]

  • watch a film on YT: "DevOps - kim jest i czym siÄ™ zajmuje?"

🟡 Day 24 (Monday, 22-05-2023)

Samba [ASL]
Samba server installation and configuration, creating new shares.

Outside of the course, I set up Samba as a domain controller with roaming profiles.

🟡 Day 25 (Thuesday, 23-05-2023)

SELinux [ASL]
An introdution to SELinux.

Proxmox Lab
I installed nginx on two VMs (Debian and RockyLinux) and mounted NFS share to /var/www/html on both servers. On pfSense, I forwarded SSH ports to manage all servers from the outside.

🟡 Day 26 (Wednesday, 24-05-2023) [Firefighter duty]

Proxmox Lab
I installed two versions of php (7.4 and 8.1) as fpm on both web servers. Additionaly, I created NFS share with vhost configurations and mount as RO on web servers.

🟡 Day 27 (Thursday, 25-05-2023)

Proxmox Lab
Installation and configuration of SFTP serwer (proftpd).
I have installed proftpd and disabled access for anonymous. Additionaly, I have added local users (as homedir directory from NFS mounted share, shell false). The servers has been configured to work as SFTP only. I have modified the configuration to allow only users from the ftp_users group (to which I added both users).

🟡 Day 28 (Friday, 26-05-2023)

Hardening systemd [ASL]

Proxmox Lab
Adding a service in which a Python script works to change the owner of new files uploaded via FTP. I explained this in a blog post.

🟡 Day 29 (Saturday, 27-05-2023) [Firefighter duty]

ProxySQL
Theoretical introduction to the ProxySQL

🟡 Day 30 (Sunday, 28-05-2023)

ProxySQL
I watched on YouTube films about 'how ProxySQL works'.

🟡 Day 31 (Monday, 29-05-2023)

Proxmox Lab
I installed ProxySQL on a VM with Debian and added both database servers to it. Next, I uploaded files from the backup of my main webpage via FTP, restored the database from a copy and started cloning of wojst.pl. I also had to install php-mysqli.

🟡 Day 32 (Thuesday, 30-05-2023) [Firefighter duty]

Security + backup [ASL]
This module contains penetration tests (with Kali Linux) and creating backup with rsync.

🟡 Day 33 (Wednesday, 31-05-2023)

Troubleshooting [ASL]
Introduction to troubleshooting.

Proxmox Lab
Started installation HAProxy with keepalived on two VMs (Debian+Rocky).

🟡 Day 34 (Thursday, 01-06-2023)

Proxmox Lab
I did troubleshoot yesterday's implementation of HAProxy - I typed incorect IP addresses of web servers.

Troubleshooting + bash scripts [ASL]
Continuation of troubleshooting - monitoring. Next, there was an introduction to scripting with bash (only as a reminder).

🟡 Day 35 (Friday, 02-06-2023) [Firefighter duty]

Prometheus + Grafana
I watched a video on YT about infrastructure monitoring using Prometheus and grafana.

🟡 Day 36 (Saturday, 03-06-2023)

Video on YT: Ciekawe podejście do integracji technologii chmurowych - Piotr Pyciński

🟡 Day 37 (Sunday, 04-06-2023)

Read news and articles about Linux.

🟡 Day 38 (Monday, 05-06-2023) [Firefighter duty]

Rsyslog [ASL]
Install and configure log server.

🟡 Day 39 (Thuesday, 06-06-2023)

Troubleshooting [ASL]

  • test hard disk and memory
  • DRP
  • How to troubleshoot Linux problems (using the example of zabbix_agent)?

🟡 Day 40 (Wednesday, 07-06-2023)

Troubleshooting [ASL]
In th 10th module's homework I troubleshooted problems on a VM with CentOS - IP configuration, SSH service and Apache.

🟡 Day 41 (Thursday, 08-06-2023)

Bash scripting [ASL]
Variables in bash scripts.

Review of articles and news.

🟡 Day 42 (Friday, 09-06-2023)

Automatization [ASL]

  • loop IF, functions in bash script
  • introdution to Ansible

I wrote an e-book about bash scripting in 2020: https://wojst.pl/wp-content/uploads/2023/01/BONUS-bash_podstawy.pdf

🟡 Day 43 (Saturday, 10-06-2023)

Today I finished a course "Administracja Serwerami Linux" by Grupa ADM.

Strace [ADL]
Introduction to the application's diagnostics with strace.

🟡 Day 44 (Sunday, 11-06-2023) [Firefighter duty]

Review of the job interviewer's questions.

🟡 Day 45 (Monday, 12-06-2023)

Strace [ADL]
Debugging nginx and apache2 with strace.

🟡 Day 46 (Thuesday, 13-06-2023)

[ADL]
Debugging cron and Docker.

Proxmox Lab
On Proxmox CT, I installed Docker and created container inside it with phpMyAdmin (which is linked to ProxySQL). Next, on the web servers, I added a proxy pass from the domain/phpmyadmin to the container.

🟡 Day 47 (Wednesday, 14-06-2023)

Repair of a WordPress-based website - virus removal, access restoration and finally protection.

🟡 Day 48 (Thursday, 15-06-2023)

Video on YT about web UI for Ansible.

🟡 Day 49 (Friday, 16-06-2023)

Running a web UI for Ansible as a Docker container - as seen in yesterday's video.

🟡 Day 50 (Saturday, 17-06-2023) [Firefighter duty]

Configuration an Ansible Semaphore.

🟡 Day 51 (Sunday, 18-06-2023)

I watched videos on YT about working as a sysadmin and about Cloudflare.

🟡 Day 52 (Monday, 19-06-2023)

[ADL]
A review of the process content in the /proc directory and an introduction to the 'Out of memory killer' mechanism.

Lab

  • Create a local environment in VirtualBox to test Ansible's playbooks before committing it to the repo.
  • Create an Ansible playbook for the installation and configuration unattended updates on all VMs.

🟡 Day 53 (Thuesday, 20-06-2023)

[ADL]

  • debugging a bash scripts,
  • compile and install programs from source,
  • recovery mysqld root password

Proxmox Lab
Create an Ansible playbook for the installation and configuration fail2ban - blocks sshd.

🟡 Day 54 (Wednesday, 21-06-2023)

[ADL]
Apache performance tuning - configurate MPM.

🟡 Day 55 (Thursday, 22-06-2023)

[ADL]

  • problems with ssh connections
  • problems with disk space

Proxmox Lab
I installed Redis on VM with RockyLinux.

🟡 Day 56 (Friday, 23-06-2023) [Firefighter duty]

Video on YT: Linux Interview Questions nad Answers

🟡 Day 57 (Saturday, 24-06-2023)

Review news about Linux - It's FOSS news.

🟡 Day 58 (Sunday, 25-06-2023)

Overview of ideas for lab projects

🟡 Day 59 (Monday, 26-06-2023) [Firefighter duty]

[ADL]
Disk management: copy the partition layout on second disk

🟡 Day 60 (Thuesday, 27-06-2023)

Proxmox Lab

  • reconfigure backups of VMs (keep the last one, delete the backup 'clean_os'),
  • add Redis VM to an Ansible Semaphore,
  • install and configure Redis WordPress plugin

🟡 Day 61 (Wednesday, 28-06-2023)

Proxmox Lab
I've created an Ansible playbook that set up a website environment (including database, user, vhost configuration, etc.)

🟡 Day 62 (Thursday, 29-06-2023)

Proxmox Lab

  • resolve the problem with the mysql.user table on mariadb-slave
  • improve yesterday's Ansible playbook

[ADL]

  • debugging problems with inodes on disks
  • recovering deleted data

🟡 Day 63 (Friday, 30-06-2023)

[ADL]
An Introduction to Uncomplicated Firewall (UFW).

🟡 Day 64 (Saturday, 01-07-2023)

Review of articles and news.

🟡 Day 65 (Sunday, 02-07-2023)

View video on YT about Kasm Workspaces.

🟡 Day 66 (Monday, 03-07-2023)

[ADL]

  • How work with disk backup in the file?
  • additional files attributes

🟡 Day 67 (Thuesday, 04-07-2023)

[ADL]

  • disk load check
  • working with a lot of files

Docker
I've create an environment to practice ProxySQL: 2 containers of MariaDB with replication, 2 containers of phpMyAdmin (to manage data in dbs) and a container with ProxySQL.

VPS
I created a bash script to clean backups (removing all files older than 20 days).

🟡 Day 68 (Wednesday, 05-07-2023) [Firefighter duty]

Video on YT: Poczta w dzisiejszych czasach i podejście w stylu "devops" (SysOps / DevOps Polska)

🟡 Day 69 (Thursday, 06-07-2023)

[ADL]
Working with RAID arrays and LVM.

🟡 Day 70 (Friday, 07-07-2023)

[ADL]

  • How to troubleshoot network issues?
  • debugging DNS problems

🟡 Day 71 (Saturday, 08-07-2023) [Firefighter duty]

Watch the film about HA on YT.

🟡 Day 72 (Sunday, 09-07-2023)

Watch the film about awesome Linux terminal tools on YouTube.

🟡 Day 73 (Monday, 10-07-2023)

[ADL]

  • working with routing
  • ssl certs

🟡 Day 74 (Thuesday, 11-07-2023) [Firefighter duty]

Prometheus & Grafana - video tutorial on YT.

🟡 Day 75 (Wednesday, 12-07-2023)

Proxmox Lab
I've installed monitoring using Prometheus & Grafana.

🟡 Day 76 (Thursday, 13-07-2023)

Proxmox Lab - Prometheus & Grafana

  • installed the Node Exporter on the monitoring VM
  • added it to the Prometheus targets
  • imported the dashboard 'Node Exporter Full'
  • created Ansible playbook which install the Node Exporter on servers

🟡 Day 77 (Friday, 14-07-2023)

Proxmox Lab

  • created Docker container with dnsmasq
  • added targets (with hostnames) to Prometheus

[ADL]
Accessing Linux with a forgotten root password.

🟡 Day 78 (Saturday, 15-07-2023)

[ADL]
Usefull apps - HTOP, XARGS.

🟡 Day 79 (Sunday, 16-07-2023)

Review of articles and news.

🟡 Day 80 (Monday, 17-07-2023)

[ADL]

  • SSH tunneling
  • troubleshooting email issues
  • nethogs

🟡 Day 81 (Thuesday, 18-07-2023)

[ADL]

  • Usefull apps - netcat, iptraf-ng
  • Extending SWAP space
  • Gather server information
  • Backup of a full disk to another host

🟡 Day 82 (Wednesday, 19-07-2023)

[ADL]
I've troubleshooted and repaired "zjebanos" (by Jakub ‘unknow’ Mrugalski).

Today I finished a course "Akademia Debugowania Linuksa" by Jakub ‘unknow’ Mrugalski.

🟡 Day 83 (Thursday, 20-07-2023) [Firefighter duty]

Article: "Syslog: The Complete System Administrator Guide"

🟡 Day 84 (Friday, 21-07-2023)

Article: "Monitoring Linux Logs with Kibana and Rsyslog"

🟡 Day 85 (Saturday, 22-07-2023)

I practiced HAProxy with Keeaplived, using nginx as the backend. Everything ran as Docker containers.

🟡 Day 86 (Sunday, 23-07-2023)

Review news about Linux.

🟡 Day 87 (Monday, 24-07-2023)

Testing the MIKR.US VPS.

🟡 Day 88 (Thuesday, 25-07-2023)

Video on YT: "Administracja ElasticSearch dla poczÄ…tkujÄ…cych"

🟡 Day 89 (Wednesday, 26-07-2023) [Firefighter duty]

Video on YT: "Tworzenie środowiska HA. Narzędzia i przykłady"

🟡 Day 90 (Thursday, 27-07-2023)

Proxmox Lab
Run an NTP server as a Docker container.

🟡 Day 91 (Friday, 28-07-2023)

Configure a Galera Cluster with MariaDB inside Docker containers with Debian.

🟡 Day 92 (Saturday, 29-07-2023) [Firefighter duty]

Video on YT: "Popular Linux interview questions for DevOps interviews"

🟡 Day 93 (Sunday, 30-07-2023)

Review news about Linux.

🟡 Day 94 (Monday, 31-07-2023)

Linux Containers vs Docker - What is the difference?

🟡 Day 95 (Thuesday, 01-08-2023) [Firefighter duty]

Video on YT about "How to run HomeAssistant in Proxmox"

🟡 Day 96 (Wednesday, 02-08-2023)

Proxmox Lab
Create an Ansible playbook for configuring hosts as NTP clients.

🟡 Day 97 (Thursday, 03-08-2023)

Proxmox Lab
Installation and configuration of the rsyslog server on the 'monitoring' VM.

🟡 Day 98 (Friday, 04-08-2023) [Firefighter duty]

Video on YT: "Proxmox virtual machine automation in Terraform"

🟡 Day 99 (Saturday, 05-08-2023)

Proxmox Lab
Configure hosts as rsyslog clients using Ansible playbook.

🟡 Day 100 (Sunday, 06-08-2023)

A deeper look into Systemd.


Finished courses during this challenge:

  • "NGINX w godzinÄ™" - Jakub ‘unknow’ Mrugalski

  • "Ansible w godzinÄ™" - Jakub ‘unknow’ Mrugalski

  • "Administracja Serwerami Linux" - Grupa ADM

  • "Akademia Debugowania Linuksa" - Jakub ‘unknow’ Mrugalski

  • ebook '77 zadaÅ„ dla adminów' by Jakub ‘unknow’ Mrugalski

About

#100DaysOfLinux

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published