Ucz się Linuxa krok po kroku
ShellForge prowadzi od podstaw terminala do praktycznej administracji systemem, deploymentu aplikacji, automatyzacji i monitoringu.
Ścieżka nauki pokazuje sugerowaną kolejność materiałów. Zacznij od poziomu podstawowego, a następnie przechodź do kolejnych obszarów, gdy poczujesz się pewniej w pracy z Linuxem.
Podstawy
Terminal, pliki, katalogi, uprawnienia, użytkownicy, procesy, praca z tekstem i pakiety.
Administracja i sieć
Usługi systemowe, logi, konta użytkowników, diagnostyka, DNS, SSH, firewall, SELinux i HTTPS.
DevOps
Deployment aplikacji, Nginx, HTTPS, kontenery, CI/CD, monitoring i utrzymanie.
Podstawy Linuxa
Pierwszy etap uczy swobodnej pracy w terminalu. To fundament, bez którego trudno przejść do administracji systemem, sieci, deploymentu i automatyzacji.
Materiały w tym etapie
- Gdzie jestem? Komendy pwd, ls i cd
- Pliki i katalogi: mkdir, touch, cp, mv i rm
- Uprawnienia plików: chmod, rwx, 755 i 644
- Użytkownicy i grupy: whoami, id i groups
- Procesy w Linuxie: ps, top, kill i PID
- Praca z plikami tekstowymi: cat, less, tail, grep i nano
- Pakiety i aktualizacje: yum, rpm i repozytoria
Administracja systemem
Kompletny etap rozwijający podstawy w kierunku codziennej pracy administratora. Użytkownik uczy się zarządzania usługami, logami, kontami, miejscem na dysku oraz zadaniami cyklicznymi.
Materiały w tym etapie
- Usługi systemowe: systemctl i systemd
- Logi systemowe: journalctl i katalog /var/log
- Struktura katalogów administracyjnych: /etc, /var, /opt, /usr i /tmp
- Podstawowa diagnostyka systemu: uptime, free, df, du i hostnamectl
- Sudo i praca administratora: sudo, su, root i dobre praktyki
- Zarządzanie użytkownikami i grupami: useradd, passwd, usermod i userdel
- Diagnostyka usług systemd: systemctl status, restart, enable i journalctl -u
- Analiza logów w praktyce: journalctl, /var/log i filtrowanie zdarzeń
- Miejsce na dysku i porządkowanie systemu: df, du, cache i logi
- Zadania cykliczne: cron i podstawy systemd timers
Sieć i bezpieczeństwo
Kompletny etap skupia się na podstawach komunikacji sieciowej, DNS, portach, zdalnym logowaniu, firewallu, SELinux oraz HTTPS w codziennej administracji serwerem Linux.
Materiały w tym etapie
- Podstawy adresacji IP
- DNS w praktyce
- Porty i usługi sieciowe
- SSH w administracji systemem
- Firewall — podstawy
- SELinux — podstawowe pojęcia
- Bezpieczna konfiguracja SSH
- Klucze SSH w praktyce
- Firewalld — strefy, usługi i porty
- SELinux — diagnostyka problemów
- Diagnostyka DNS, routingu i połączeń
- Podstawy TLS i HTTPS
Deployment aplikacji
Ten etap pokazuje, jak uruchomić aplikację webową na serwerze. Użytkownik poznaje praktyczny proces przejścia od aplikacji lokalnej do publicznego wdrożenia dostępnego przez domenę i HTTPS.
Materiały w tym etapie
- Aplikacja jako usługa systemowa
- Nginx jako reverse proxy
- Domena i rekordy DNS
- HTTPS z Let's Encrypt i Certbot
- Aktualizacja aplikacji na serwerze
DevOps i automatyzacja
Po opanowaniu ręcznego deploymentu kolejnym krokiem jest automatyzacja. Ten etap prowadzi przez konteneryzację, automatyczne testy, CI/CD i bardziej powtarzalne wdrożenia.
Materiały w tym etapie
- Podstawy konteneryzacji
- Dockerfile dla aplikacji webowej
- PostgreSQL w środowisku aplikacji
- CI/CD z GitHub Actions
Monitoring i utrzymanie
Ostatni etap koncentruje się na utrzymaniu aplikacji po wdrożeniu. Użytkownik poznaje podstawy monitorowania, health checków, logów, metryk, alertów i procedur operacyjnych.
Materiały w tym etapie
- Health checki i podstawy obserwowalności
- Monitoring aplikacji
- Metryki i alerty
- Backup i procedury odtworzeniowe