Stworzyłeś swój serwer! – podsumowanie rozdziału
Tym wpisem chciałbym zrobić swego rodzaju znak podziału i podsumowanie, bo osiągnęliśmy pewien milestone (z ang. kamień milowy). Z zakupionego komputera ODROID od zera stworzyliśmy potężny serwer domowy, na którym mamy wiele przydatnych usług. Do tego przy jego konfigurowaniu nauczyliśmy się wielu rzeczy z zakresu Linuxa i nie tylko. Dlatego w tym wpisie przejdziemy sobie krótko przez wszystkie dotychczasowe wpisy, żeby podsumować co udało nam się zrobic.
Początki
Początek naszej podróży z ODROID to oczywiście rozważania zakupowe, czyli co, gdzie i za ile. We wpisie opisałem zestaw jaki będzie nam potrzebny, podałem aktualne ceny oraz odniosłem jest do alternatywy w postaci Raspberry Pi 4B. Następnie dowiedzieliśmy się jak zainstalować na naszym serwerze system operacyjny Ubuntu Mate oraz jak połączyć się zdalnie z serwerem.
Gdy zainstalowaliśmy już system i połączyliśmy się z serwerem przyszła pora na dalszą konfigurację, która zawierała najbardziej niezbędne czynności, które należy wykonać zaraz po pierwszym uruchomieniu, czyli aktualizacja systemu (stworzyliśmy nawet automatyczny skrypt do tego), zmiana hasła administratora, ustawienie statycznego adresu IP, ustawienie odpowiedniej strefy czasowej, zmiana portu do komunikacji po SSH, firewall oraz wyłączenie logowania hasłem i korzystanie z kluczy SSH.
Po najważniejszych rzeczach przeszliśmy do tych mniej istotnych, ale wartych poznania. Nauczyliśmy się jak montować pamięci zewnętrzne oraz naprawiać pendrive, jak zrobić kopię zapasową serwera, a także jak stworzyć swój własny ekran powitalny.
Posiadanie dostępu do serwera jedynie z poziomu sieci lokalnej (z domu) to jak mieć wypasione auto i nie wyjeżdżać nim z garażu, dlatego następnym krokiem było stworzenie sobie możliwości dostępu do serwera z każdego miejsca na świecie. Pierwszym przedstawionym rozwiązaniem było DWService, które umożliwia korzystanie z pulpitu zdalnego przez przeglądarkę. Do tego nauczyliśmy się jak otworzyć w routerze dostęp do portu SSH naszego serwera, co nie do końca jest bezpieczną opcją, dlatego w kolejnym wpisie pokazałem jak przy pomocy routera Mikrotik stworzyć tunel VPN do naszej sieci lokalnej, który w sposób bezpieczny daje nam pełny dostęp do serwera.
Uzbrajanie serwera
Przyszła pora na uzbrojenie naszego serwera w użyteczne narzędzia. Pięć poniższych usług uznałem za serwerowy niezbędnik:
- Pi-hole – serwer DNS, którego jedną z funkcji jest blokowanie reklam i nieporządanego ruchu sieciowego
- Webmin – centrum dowodzenia serwerem
- NextCloud – rozwiązanie chmurowe do przechowywania plików
- Bitwarden – menedżer haseł
- VS Code – środkowisko deweloperskie dostępne z poziomu przeglądarki (dla programistów)
Większość z powyższych usług została uruchomiona jako kontenery Dockera, czyli można przyjąć, że opanowaliśmy też podstawy korzystania z tego potężnego narzędzia. O Dockerze będzie na pewno oddzielny wpis, ale już teraz wiemy z czym to się je.
Na koniec nauczyliśmy się czym jest serwer HTTP o nazwie NGINX i na jego bazie stworzyliśmy stronę domową serwera, która w przyjemny sposób pozwala nam na nawigację pomiędzy uruchomionymi na serwerze narzędziami/usługami.
Czy ODROID C4 dał radę?
Odpowiedź jest prosta – jak najbardziej dał radę! Powiem więcej – stać go jeszcze na sporo więcej, co najłatwiej jest udowodnić poprzez ilość wykorzystanej pamięci RAM. Różne programy różnie przeliczają ilość użytego i dostępnego RAMu, dlatego będziemy się bazować na jednym i będzie to Webmin. Podaje on, że maksymalna dostępna pamięć RAM ODROID C4 to 3.62 GB z czego przy dotychczasowej konfiguracji wykorzystywane jest ok. 1.1 GB, co stanowi 30%.
Obciążenie procesora nie jest tak łatwo policzalne, bo potrafi dość intensywnie skakać, ale patrząc po wykresie widać, że rzadko przekraczana jest granica 50%. Przeważnie w stanie spoczynku zużycie procesora nie przekracza 2-5 procent. W przypadku takiej standardowej pracy jak aktualizacja oprogramowania możemy zaobserwować 25-30% obciążenia. Jednym z lepszych benchmarków (testów obciążeniowych) symulujących standardowe obciążenie pracującego serwera jest tworzenie kopii zapasowej. W takim przypadku obserwuję na moim serwerze obciążenie procesora na poziomie 40-50%, co w mojej ocenie jest dobrym wynikiem. Temperatura procesora, w pomieszczeniu w którym jest 25 stopni Celsjusza, oscyluje przeważnie w granicach 54 stopni. Nie jest to dramat, ale możliwe, że w przyszłości trzeba będzie pomyśleć nad jakimś aktywnym chłodzeniem dla naszego ODROIDa.
W temacie zajętego miejsca na karcie pamięci sytuacja wygląda tak, że karta karcie nie równa. Webmin widzi moją 64-gigabajtową kartę pamięci jako urządzenie o pojemności lekko ponad 61 GB, podzielone na dwie partycje. Pierwsza z nich to „boot”, która ma pojemność niecałych 137 MB, czyli praktycznie pomijalna, a reszta pojemności to druga partycja – „zasadnicza”. Zajęte przeze mnie miejsce to niespełna 25%, czyli jakieś 15GB. A więc mamy jeszcze 46GB do wykorzystania na przyszłe projekty.
Co dalej?
To oczywiście nie koniec! Mam w planach już wiele kolejnych wpisów, które będą się sukcesywnie pojawiać w każdy piątek o godzinie 18:00. W ramach zajawki powiem, że mam już napisane wpisy o następujących tytułach:
- Flagi poleceń bash
- LibreOffice – pakiet biurowy w przeglądarce 🔥
- Transmission – klient torrent
- FreshRSS – twój prywatny czytnik newsów
- Webtop – GIMP w przeglądarce 🔥
- Heimdall – ładniejsza strona domowa
- yt-dlp – pobieranie filmów z YouTube
- Emulatorjs – granie w przeglądarce 🔥
- speedtest-cli – sprawdzenie prędkości internetu
- Zadania Cron – podstawy automatyzacji 🔥
- Automatyczna kopia zapasowa – skrypt + cron 🔥
To wpisy gotowe lub prawie gotowe, a kolejne są w przygotowaniu, dlatego zapraszam do cyklicznego odwiedzania tego bloga.
Jeżeli materiał zawarty w tym wpisie jest dla Ciebie wartościowy i masz ochotę wesprzeć moją pracę to zapraszam na mój profil na >Patronite<. Zachęcam także do odwiedzenia mojej strony >tomaszdunia.pl<. Możesz także zagadać do mnie na Twitterze >@theto3k<.
Poprzedni wpis:
NGINX – hostuj swoje strony internetowe
Następny wpis:
Flagi poleceń Bash
Kategorie: Dla początkujących,Poradniki - @ 2022-07-29 18:00
Tagi: bitwarden, code-server, CPU, DWService, Linux, Mikrotik, nextcloud, nginx, ODROID, pi-hole, podsumowanie, RAM, RaspberryPi, serwer NAS, ubuntu, Visual Studio Code, VS Code, Webmin