Dla ułatwienia życia administratora i użytkowników, oraz aby dać programistom SZARP możliwość pobawienia się fajnym pythonowym frameworkiem, powstał interfejs WWW do administracji użytkownikami SSS. Interfejs ten pozwala na tworzenie, edycję i usuwanie kont użytkowników przez administratora, użytkownikom daje możliwość podglądu ich ustawień oraz zmiany/przypomnienia hasła.
Interfejs składa się z 3 niezależnych elementów, z których każdy może znajdować się fizycznie na innej maszynie.
Skrypt /opt/szarp/bin/ssconf.py odpowiada za bezpośrednie modyfikacje pliku XML z konfiguracją użytkowników, musi być więc zainstalowany bezpośrednio na maszynie na której działa serwer SSS. Korzysta z konfiguracji w pliku szarp.cfg (ścieżka do bazy itp.) oraz z dodatkowego pliku /etc/szarp/ssconf.cfg. Zawiera on login i hasło administratora (dlatego też powinien być czytany tylko przez root'a), nazwę głównego serwera oraz adres TCP/IP na którym skrypt ma słuchać - skrypt jest serwerem XML-RPC słuchającym na podanym adresie. Dostęp do serwera wymaga autoryzacji - albo hasłem administratora, albo konkretnego użytkownika - wtedy dostępne są tylko operacje dla konkretnego użytkownika. Uruchamianie skryptu sterowane jest przez zmienną SSCONF w pliku konfiguracyjnym /etc/szarp/parstart.cfg, a sam skrypt wchodzi w skład paczki szarp-daemons.
Program ssconf.py ma też drugi tryb działania, pozwalający na rejestrację z linii poleceń nowego klucza użytkownika jeśli klucz dotychczas był w stanie 'Waiting' (-1). W tym celu łączy się do swojej kopii działającej jako serwer - pozwala to uniknąć problemów z synchronizacją. Program w tym trybie jest wywoływany przez serwer SSS po tym jak użytkownik podłączy się do SSS w celu rejestracji nowego klucza.
Aplikacja WWW wykorzystująca framework Pylons - konfigurowana przez plik /etc/szarp/ssweb.ini. Aplikacja serwuje strony WWW, do pobierania i modyfikacji danych łączy się przez protokół XML-RPC ze skryptem ssconf.py. Aplikacja powinna mieć dostęp do działającego serwera SMTP - jest to niezbędne do wysyłania użytkownikom informacji o nowym czy zresetowanym haśle. W domyślnej konfiguracji administrator dostaje też powiadomienia mailem o błędach w działaniu aplikacji.
Aplikacja wchodzi w skład oddzielnej paczki szarp-sssweb (nie wymagającej innych elementów SZARP'a). Może być uruchomiona jako samodzielny serwer (przydatne do testowania i debuggingu), albo jako skrypt FastCGI (dokładniej tzw. External Fast CGI Server) do którego łączy się trzeci element - serwer WWW.
Trzeci element to serwer WWW obsługujący FastCGI, a dokładniej konfigurację typu External Server. W pliku README.Debian paczki szarp-sssweb znajduje się przykład konfiguracji wykorzystującej serwer Apache2 i moduł mod_fastcgi.
Poprzedni | Spis treści | Następny |
Protokół SSS/SSC | Początek rozdziału | Serwer komentarzy (remarks server) |