Podsumowanie roku 2016

check-list

Stan obecny

No cóż. Biorąc pod uwagę fakt, że jakiś rok wcześniej to jeszcze nie było nic – ciężko tutaj pisać o zmianach. Chyba najprościej będzie tutaj wymienić co już jest. Obszar, który udało mi się zakończyć to konfiguracja apacza. Jako dodatek udało się stworzyć prosty live-monitoring hostów, który został osadzony na stronie z informacjami o danym serwerze. Zaimplementowane zostały również logi, które związane są z monitoringiem. Obecnie pracuję nad funkcjonalnością zarządzania kontami użytkowników w systemach, którą to mam nadzieję niedługo zakończyć.

monitoring

Monitoring

Nie planowałem pierwotnie tworzenia tej funkcjonalności. W sumie to jest to raczej dodatek – niż w pełni funkcjonalna usługa. Tutaj trochę pobawiłem się web workerami dzięki którym zbudowałem dashboardzik z wykresami live interfejsu sieciowego vm-ki, lampkami pokazującymi stan działania takich usług jak httpd czy sshd. Na dashboardzie znalazły się również zegary pokazujące bieżącą utylizację zasobów: cpu, ram, dysk (pojemność).

W tamach monitoringu powstały również logi, z których można odczytać informacje na temat dostępności hostów oraz usług na nich uruchomionych.

Plany

No cóż, na pewno nie uznam projektu za skończony jeśli nie znajdzie się w nim obsługa poczty. Czy będą jeszcze jakieś inne funkcjonalności? Ciężko jest mi to w tej chwili powiedzieć.

W trakcie tworzenia kodu agenta udało mi się napisać kilka użytecznych i w miarę uniwersalnych funkcji. Coraz częściej myślę o stworzeniu toolkitu zawierającego gotowe to wykorzystania funkcje w C. Na pewno też popracuję nad stworzeniem automatycznych testów kodu. Mam śmiały plan aby spiąć travisa ze swoimi vm-kami w amazonie. To będzie dość ciekawy myślę temat i całkiem nowe wyzwanie dla mnie. Liczę na to, że sporo się przy tej okazji nauczę. Wiedzą oczywiście się podzielę 🙂

Wstęp

Czyli jak to wszystko się zaczęło i po co? Jakiś czas temu – pod koniec 2015 roku pomyślałem sobie, że fajnie by było stworzyć system, który pozwalałby na konfigurowanie z poziomu interfejsu webowego serwerów. Od samej idei do realizacji upłynęło może jakieś dwa miesiące. Inspiracją do rozpoczęcia prac był konkurs programistyczny: Daj się poznać (edycja 2016) w którym postanowiłem wziąć udział. Ostatecznie z powodów rodzinnych nie udało mi się spełnić wymogów konkursowych, więc po pewnym czasie zrezygnowałem z dalszej rywalizacji. Nie zrezygnowałem jednak z projektu jako takiego i tworzę go do dziś.

ASF-logo.svg

Apache

Konfiguracja apacza zamyka się w zasadzie wokół definiowania virtualhostów. Za pomocą formularzy można tutaj konfigurować następujące rzeczy:

  • definiować dodatkowe aliasy (ServerAlias) dla witryny,
  • określać opcje katalogu. Np. Można włączyć bądź wyłączyć obsługę symlinków, indexowanie zawartości katalogu, czy będzie możliwość uruchamiania skryptów CGI.
  • określanie z jakich hostów będzie można łączyć się do witryny
  • zabezpieczenie witryny hasłem
  • zdefiniowanie customowego pliku .htaccess w obszarze katalogu witryny.

Konta systemowe

Funkcjonalność pozwala na utworzenie na wybranym hoście konta użytkownika. Za pomocą formularza jesteśmy w stanie określić szereg właściwości związanych z tworzonym przez nas kontem.

  • expiracja
  • czy konto jest aktywne
  • czy ma mieć dostęp do konta root
  • czy ma mieć dostęp do shella

Istnieje również możliwość dodania kluczy ssh. Na chwilę obecną działa dodawanie kont. Pracuję nad ich edycją. To co na pewno jeszcze będę chciał zrealizować to możliwość kasowania kont oraz funkcję resetowania hasła poprzez wygenerowanie i wysłanie użytkownikowi hasła na maila.