Serwer wykorzystuje bibliotekę libpar, główna konfiguracja jest więc zapisana w pliku /etc/szarp/szarp.cfg, którego format opisany jest w rozdziale Sekcja 4.1.
W sekcji o nazwie odpowiadającej nazwie konkretnego programu (a więc np. paramd) umieszczony jest parametr servers. Zawiera on listę oddzielonych spacjami sekcji, z których każda opisuje jeden proces - server.
Każda z takich sekcji zawiera następujące parametry:
port - port TCP/IP, na którym serwer będzie przyjmować połączenia, domyślnie przydzielane są porty o numerach od 8081. Oczywiście nie zadziała to jeżeli w systemie będzie uruchamianych kilka aplikacji korzystających z biblioteki serwera, gdyż obie będą chciały przydzielać sobie porty poczynając od 8081.
timeout - czas w sekundach, po jakim w razie braku reakcji klienta połączenie TCP/IP będzie zamknięte. Dotyczy to zarówno sytuacji, gdy klient nie zdążył przesłać całego żądania HTTP. Domyślna wartość to 30.
allowed_ip - lista adresów IP, z których dozwolone jest
łączenie się z serwerem, w formacie
zgodnym z funkcją fnmatch
. Domyślnie jest to
* (dozwolone są połączenia z dowolnego adresu). W przypadku tego
parametru zapis listy wzorców (zgodny z funkcją fnmatch
)
znajduje się poniżej (lista-wzorców
oznacza kolejne wzorce oddzielone znakiem '|').
?(lista-wzorców) - Wyrażenie jest prawdziwe, gdy żaden lub jeden wzorzec z listy wzorców został dopasowany.
*(lista-wzorców) - Wyrażenie jest prawdziwe, gdy żaden lub dowolna liczba wzorców z listy wzorców została dopasowana.
+(lista-wzorców) - Wyrażenie jest prawdziwe, gdy co najmniej jeden wzorzec z listy wzorców został dopasowany.
@(lista-wzorców) - Wyrażenie jest prawdziwe, gdy dokładnie jeden wzorzec z listy wzorców został dopasowany.
!(lista-wzorców) - Wyrażenie jest prawdziwe, gdy żaden wzorzec z listy wzorców nie został dopasowany.
auth - czy serwer ma żądać autoryzacji (typu HTTP Basic). Autoryzacja będzie włączona jeżeli parametr ma wartość yes, domyślna wartość to no.
access - ścieżka do pliku definiującego prawa dostępu do zasobów serwera, ma znaczenie tylko jeżeli włączona jest autoryzacja. Domyślnie jest to plik access.conf w katalogu głównym. Plik ten zawiera linie o następującej postaci:
[ścieżka do węzła]:[nazwa użytkownika]Linie o innej postaci są ignorowane. Ścieżka opisuje parametr lub węzeł w drzewie parametrów, a nazwa użytkownika oznacza użytkownika, który ma prawo do ustawiania danego parametru lub grupy parametrów zawartej w podanym węźle. Ścieżki do węzłów i parametrów powinny być podane w kodowaniu UTF-8. Przykładowy plik może wyglądać tak:
/:root /Kocioł 1:palacz1 /Kocioł 2/Sterownik/temperatura zadana:palacz2Do ustawienia parametru potrzebne jest także podanie hasła. Serwer sprawdza, czy użytkownik o podanej nazwie ma prawo do dostępu do danej ścieżki, a także czy istnieje taki użytkownik na serwerze i czy podane hasło jest prawidłowe. Korzystanie z haseł systemowych wymaga obecności w katalogu /etc/pam.d pliku paramd o następującej zawartości:
#%PAM-1.0 auth required /lib/security/pam_stack.so service=system-authPlik ten jest automatycznie tworzony także po wydaniu komendy make ssl w katalogu ze źródłami programu.
ssl - yes jeżeli serwer ma korzystać z protokołu HTTPS (HTTP tunelowany przez SSL), domyślnie jest to no.
keypass - hasło użyte do zakodowania prywatnego klucza RSA serwera, domyślnie "paramd". Zobacz też opis opcji key.
key - ścieżka do pliku zawierającego prywatny klucz RSA serwera. Klucz ten może być wygenerowany na przykład przez wydanie komendy make ssl w katalogu ze źródłami programu. Tworzony jest plik server.pem, kopiowany także do katalogu /opt/szarp/resources. Hasło używane do zakodowania klucza jest zapisane w pliku config.ssl (parametr output_password). Aby serwer działał, to samo hasło musi być podane jako wartość parametru keypass w konfiguracji programu. Domyślnie klucz jest czytany z pliku server.pem w katalogu głównym.
cert - ścieżka do pliku zawierającego certyfikat serwera. Jest on generowany razem z kluczem (patrz opis poprzedniej opcji) i zapisywany w tym samym pliku - choć użytkownik może też podać inny plik z prawidłowym certyfikatem x509. Wygenerowany certyfikat ma następujące parametry:
E = pawel@praterm.com.pl CN = [nazwa komputera] OU = ISL O = PRATERM SA L = Warsaw ST = Poland C = PLWażność wygenerowanego certyfikatu wynosi 1 rok. Domyślnie certyfikat jest czytany z pliku server.pem w katalogu głównym.
Przykładowy plik konfiguracyjny może wyglądać na przykład tak:
:paramd servers=local remote :local port=8081 allowed_ip=127.0.0.1 :remote port=8082 auth=yes ssl=yes keypass=paramd access=/opt/szarp/resources/paramd_access.conf key=/opt/szarp/resources/server.pem cert=/opt/szarp/resources/server.pem
Poprzedni | Spis treści | Następny |
ISL | Początek rozdziału | Program paramd |