Artykuł

Administrowanie i zarządzanie serwerem – podstawy dla początkujących

Hosting jakiejkolwiek usługi czy aplikacji, wymaga stałego działania serwera. Konfigurowaniem i późniejszym utrzymaniem wysokiego poziomu SLA zajmują się administratorzy wchodzący w skład działu IT.

Administrowanie i zarządzanie serwerem wymaga kompletnego zestawu niezbędnych umiejętności i zdobywanego latami doświadczenia. Nikt jednak na początku swojej kariery nie wie wszystkiego, a wymaganą wiedzę łatwo zdobyć głównie za pośrednictwem Internetu. Globalna sieć udostępnia swoje zasoby każdemu kto chce poświęcić swój czas na rozwój, który w przyszłości przyniesie wymierne korzyści. Wiele firm świadczących usługi hostingowe prowadzi profesjonalne szkolenia podczas których można ugruntować zdobytą wiedzę, a częste zajęcia praktyczne zagwarantują niezbędne doświadczenie tak bardzo potrzebne w codziennej pracy administratora.

Skąd pozyskiwać wiedzę i niezbędne umiejętności?

Administracja serwerem opiera się na dogłębnej znajomości obsługiwanego systemu operacyjnego, a także działających pod jego kontrolą usług. Swoją przygodę w świecie serwerów warto więc zacząć od instalacji konkretnego systemu operacyjnego i korzystania z niego do codziennych czynności. Pozwoli to na szybkie poznanie jego wad i zalet, a materiały, takie jak dokumentacja i poradniki znalezione w Internecie, zwrócą uwagę na poboczne tematy warte przyswojenia. Pierwszym krokiem jest więc instalacja, konfiguracja i użytkowanie narzędzi wykorzystywanych w późniejszym czasie. Po samodzielnym opanowaniu podstaw, warto sięgnąć po profesjonalne kursy, zarówno te darmowe, jak i płatne dostępne na wielu platformach e-learningowych. Warto także podpatrywać pracę bardziej doświadczonych administratorów na przykład za pośrednictwem forów tematycznych i magazynów branżowych.

Podstawowe umiejętności administratora serwera

Absolutnie niezbędne są umiejętności związane z obsługą systemu operacyjnego i najpopularniejszych usług serwerowych. Instalacja, konfiguracja i sprawne posługiwanie się wykorzystywanymi w pracy programami powinno przebiegać sprawnie i naturalnie. Warto zapoznać się z zagadnieniami związanymi z budową sieci. Podział dostępnej przestrzeni adresowej na podsieci, poprawna konfiguracja ustawień za pośrednictwem plików tekstowych (szczególnie w środowisku opartym na GNU/Linux) to konieczne podstawy związane z łącznością pomiędzy urządzeniami. Praca administratora to także rozwiązywanie napotkanych problemów. Brak dostępu do zdalnego urządzenia może być także wywołany błędami w połączeniu. Tu z pomocą przyjdą programy, takie jak ping i traceroute. Problemy związane z działaniem systemu operacyjnego pozwolą zdiagnozować programy, takie jak free, vmstat i htop. Administracja serwerem to także umiejętność zarządzania prawami dostępu do pliku i ich bezpieczne przechowywanie na zdalnych urządzeniach. Konieczna jest znajomość protokołów opartych o SSH, a także podstawy cyberbezpieczeństwa i ochrony przed atakami. Świadomość czyhających zagrożeń pozwoli na wcześniejsze odpowiednie przygotowanie komputerów i środowiska. Nie powinno się uzależniać działania całego serwisu od pojedynczego urządzenia, ponieważ w razie awarii wszystko przestaje funkcjonować. Niezwykle ważne są też okresowo tworzone kopie bezpieczeństwa.

Jakie języki programowania powinien znać administrator?

Trudno wyobrazić sobie administratora, który spędza dużo czasu na codziennym wpisywaniu powtarzalnych komend, aby przetestować poprawne działanie wymaganych usług. O wiele wygodniejszym jest stworzenie niewielkiego programu, który zrobi to za niego, informując tylko o zakończeniu działania i ewentualnych wykrytych nieprawidłowościach. Biorąc pod uwagę dużą dynamikę pracy, najrozsądniejszym wyborem są języki skryptowe. Do najczęściej wykorzystywanych przez profesjonalistów należą bash i Python. W codziennej pracy z logami systemowymi niezwykle potrzebna może okazać się znajomość narzędzi, takich jak grep, Perl czy AWK. Szybkie poznanie podstaw tych technologii zapewnią: ogólnodostępna dokumentacja, poradniki, tutoriale, wpisy na blogach i kanały w serwisie YouTube. Ze względu na brak środowiska graficznego w systemach serwerowych konieczna jest umiejętność posługiwania się tekstowym edytorem plików. Wybór jest szeroki, jednak do najczęściej wykorzystywanych należą nano, vim i emacs.

Wykorzystywane oprogramowanie w pracy administratora serwera

Przed administratorem działanie wielu usług nie powinno mieć tajemnic. W zależności od potrzeb,  konfigurowane są serwery, takie jak:

  • zarządzające plikami w oparciu o protokół FTP (ProFTPD),
  • udostępniające zasoby za pomocą protokołu HTTP/HTTPS (Apache, nginx),
  • pocztowe w oparciu o SMTP (postfix, courier) i POP3 (courier, dovecot),
  • baz danych (MySQL, NoSQL),
  • VPN (OpenVPN),
  • DNS (bind),
  • zarządzający repozytorium systemu kontroli wersji (Git, SVN),
  • zarządzający kontenerami usług (Docker).

Niezbędne są umiejętności gwarantujące możliwość bezproblemowej instalacji i konfiguracji tych usług zarówno w środowisku testowym, jak i produkcyjnym.