50.DOC

(148 KB) Pobierz









Rozdział 50.
Konfigurowanie usługi Gopher









E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\50.DOC              755










Rozdzia³ 50. ¨ Konfigurowanie usługi Gopher              755

Tim Parker

W tym rozdziale:

u                                          Gopher i Linux             

u                                          Konfigurowanie usługi Gopher             

u                                          Katalogi systemu Gopher             

u                                          Uruchamianie usługi Gopher             

u                                          Daj światu znać o sobie             

Gopher to jedna z bardziej przydatnych usług internetowych, używana zarówno przez początkujących, jak i doświadczonych użytkowników. Jest to oparty na interfejsie tekstowym system wyszukiwania plików, który umożliwia użytkownikowi odszukanie interesujących danych za pomocą hierarchicznego systemu menu. Konfiguracja węzła Gopher sprowadza się do uruchomienia oprogramowania obsługi serwera i utworzenia pewnej liczby katalogów zawierających pliki indeksowane przez system Gopher.

Działanie systemu Gopher polega na tym, że program klienta (uruchamiany przez użytkownika) łączy się z serwerem usługi Gopher i otrzymuje informacje o plikach dostępnych w Internecie (albo w sieci lokalnej, jeśli działanie serwera jest ograniczone tylko do takiego obszaru). Pod koniec roku 1995 w Internecie działało około 6000 serwerów usługi Gopher, dostępnych dla każdego, kto posiadał odpowiedni program klienta. Choć liczba ta nieco się zmniejszyła (głównie z powodu rozpowszechnienia się stron WWW), w sieci wciąż działa mnóstwo węzłów udostępniających usługę Gopher. Serwery te zawierają informacje o ponad 10 milionach elementów, wśród których są najróżniejsze pliki, od dokumentów tekstowych do filmów, dźwięków czy grafik i różnego rodzaju plików wykonywalnych. Gopher pozwala użytkownikowi na przeglądanie i manipulowanie listami plików, dzięki czemu możliwe jest łatwe odnalezienie interesujących materiałów.

Jeśli chcesz łączyć się z serwerem usługi Gopher (osobiście, lub też chce to robić któryś z użytkowników Twojego systemu), będziesz potrzebował oprogramowania klienta Gopher. Niektóre programy tego typu rozprowadzane są wraz z dystrybucjami Linuxa, inne dostępne są w węzłach FTP, BBS i z innych źródeł. Jeśli nie chcesz pozwolić użytkownikom swojego systemu na uruchamianie klienta Gopher, możesz za pomocą programu Telnet połączyć się z serwerem umożliwiającym anonimowemu użytkownikowi dostęp do klienta Gopher. Większość pakietów umożliwiających dostęp do usługi Gopher pozwala również korzystać z systemu WAIS, FTP, a także w pewnym stopniu współpracuje z przeglądarkami WWW.

W tym rozdziale omówimy konfigurowanie serwera usługi Gopher, pozwalającego użytkownikom na dostęp do danych o plikach zgromadzonych w Twoim systemie. Nie będziemy omawiać problemów związanych z utworzeniem odpowiedniej (ułatwiającej poszukiwania) struktury udostępnianych danych, skoncentrujemy się tylko na konfiguracji oprogramowania.

Gopher i Linux

Obecnie dostępne są dwie wersje systemu Gopher przeznaczone do pracy w systemie Linux: Gopher i Gopher+ (Gopher Plus). Gopher jest systemem dostępnym za darmo, natomiast Gopher+ to produkt komercyjny. Różnią się one funkcjonalnością – jeśli zależy Ci na możliwościach, jakie daje Gopher+, możesz rozważyć zakup tego programu. Gopher+ przewyższa system Gopher pod kilkoma względami:

u                                          udostępnia rozszerzone informacje o pliku,

u                                          umożliwia odczytanie opisu pliku,

u                                          pozwala na jednoczesne ładowanie kilku wersji pliku (na przykład dokumentacji w formacie ASCII i postscriptowym),

u                                          umożliwia ładowanie plików w oparciu o kryteria wyszukiwania definiowane przez użytkownika.

Gopher+ jest kompatybilny z systemem Gopher, ale Gopher nie potrafi korzystać z możliwości udostępnianych przez system Gopher+. Oba systemy współpracują z przeglądarkami WWW. Koszt zainstalowania systemu Gopher+ wynosi od 100 do 500 dolarów, zależnie od przeznaczenia węzła.

Wersje systemu Gopher przeznaczone dla Linuxa pochodzą z dwóch źródeł. Uniwersytet w Minnesocie opracował systemy Gopher i Gopher+, a system Gopher dostępny jest również jako GN Public License Gopher. Najnowsza dostępna za darmo wersja systemu Gopher opracowana w UM ma numer 1.3 (wersja 2.13 jest darmowa tylko dla instytucji edukacyjnych), ale uniwersytet ten porzucił prace nad doskonaleniem wersji darmowej, koncentrując się na komercyjnym produkcie Gopher+. GN Public License Gopher zawiera również usługę WWW; niestety obecnie nie jest jeszcze w pełni funkcjonalny.

Gopher bazuje na jednym z protokołów rodziny TCP/IP, nazywanym (co za niespodzianka) protokołem Gopher. Jest to dość prosty protokół oparty na seriach zapytań i odpowiedzi, zaimplementowany ze zwróceniem uwagi na prędkość działania. Gopher przesyła informacje o plikach (nazywaną plikiem menu systemu Gopher) w następującym formacie:

 

<typ> <nazwa_widoku> <selektor> <serwer> <port>

Poszczególne pola mają następujące znaczenie:

typ              jednoznakowy identyfikator typu pliku (za chwilę przedstawimy listę wszystkich wartości, które mogą zostać użyte w tym polu);

nazwa_widoku              nazwa menu lub widoku, po której następuje znak tabulacji;

selektor              unikalny (w obrębie serwera) identyfikator dokumentu, zwykle oparty na nazwie pliku, po którym następuje znak tabulacji;

serwer              nazwa serwera, w którym przechowywany jest dokument, po której również musi wystąpić znak tabulacji;

port               numer portu, przez który należy łączyć się z serwerem. Po numerze portu (zwykle 70) przesyłane są znaki powrotu karetki i nowego wiersza.

Wersja Gopher+ przesyła jeszcze kilka dodatkowych danych, takich jak identyfikator administratora odpowiedzialnego za obsługę systemu Gopher, krótki opis typu dokumentu (na przykład text), język, w jakim jest napisany dokument, datę ostatniej modyfikacji i rozmiar w bajtach.

Kiedy użytkownik zdecyduje się na pobranie któregoś z plików, do nawiązania połączenia wykorzystywane są informacje o nazwie serwera i numerze portu, natomiast selektor pozwala na zidentyfikowanie pliku, który ma zostać przesłany.

Gopher obsługuje kilkanaście typów plików, oznaczanych jednoznakowymi kodami. Oto ich lista:

0              plik tekstowy;

1              katalog;

2              serwer książki telefonicznej CSO (nazwa serwera określa komputer, z którym należy się połączyć, natomiast selektor w tym przypadku pozostawiany jest pusty);

3              błąd;

4              plik typu BinHex systemu Macintosh;

5              archiwum binarne systemu DOS;

6              archiwum UNIX-owe, zakodowane programem uuencode;

7              serwer przeszukiwania indeksu;

8              wskaźnik do tekstowej sesji programu Telnet (nazwa serwera określa komputer, z którym należy się połączyć, a selektor zawiera identyfikator użytkownika);

9              plik binarny;

g              grafika w formacie GIF;

h              dokument HTML;

I              plik grafiki;

i              tekst wyświetlany w menu, pełniący funkcję separatora;

M              dokument poczty w standardzie MIME;

P              plik dokumentacji w formacie PDF firmy Adobe;

s              dźwięk;

T              wskaźnik do sesji programu Telnet 3270 (nazwa serwera określa komputer, z którym należy się połączyć, a selektor zawiera identyfikator użytkownika);

System Gopher używa kilku innych programów, niezbędnych do prawidłowego działania; są to:

u                                          tn3270 lub podobny emulator 3270 – używany przy połączeniach Telnet 3270;

u                                          program komunikacyjny kermit lub zmodem, używany do ładowania plików; odpowiednie pliki wykonywalne zwykle nazywają się kermit, sz, sb i sx;

u                                          program graficzny – jeśli zezwolisz na wyświetlanie grafiki, niezbędny będzie program do jej obsługi, taki jak na przykład xv.

Powyższe wymagania można dostosować do własnych potrzeb, jeśli system działa tylko w sieci lokalnej, ale jeśli usługa ma być ogólnodostępna, wymienione programy powinny znaleźć się w Twoim systemie.

Konfigurowanie usługi Gopher

Instalowanie i konfiguracja systemu Gopher (lub Gopher+) wymaga zwykle ustawienia pewnych opcji konfiguracyjnych jeszcze przed przystąpieniem do kompilowania oprogramowania (które zwykle jest rozprowadzane w postaci kodu źródłowego) i modyfikacji kilku standardowych plików. Konfiguracja systemu Gopher+ przebiega prawie dokładnie tak samo – trzeba tylko podać kilka dodatkowych informacji. Ponieważ w systemach linuxowych częściej używa się systemu Gopher, a nie Gopher+, właśnie na nim się skoncentrujemy.

W tym podrozdziale nie będziemy używać pełnych ścieżek dostępu do plików, ponieważ punkt zainstalowania oprogramowania obsługującego system Gopher nie ma żadnego znaczenia, o ile ścieżki przeszukiwania są odpowiednio skonfigurowane. Poza tym nie wyklarował się żaden standard co do rozmieszczenia katalogów, więc Ty również masz wolną rękę przy ich tworzeniu.

Plik gopherd.conf

Parametry konfiguracyjne systemu Gopher (i Gopher+) zapisane są w pliku gopherd.conf, odczytywanym przez program rezydentny gopherd. Wartości domyślne tych parametrów zwykle wymagają niewielkich modyfikacji, ale większość z nich polega tylko na usunięciu lub dodaniu symbolu komentarza.

Pierwszym krokiem konfiguracji jest utworzenie aliasu dla usługi Gopher w Twoim systemie. W pliku gopherd.conf powinien znajdować się wpis o następującej postaci:

 

hostalias: tpci

Alias ten jest potrzebny, aby serwer Gopher mógł zostać odnaleziony w danym systemie. Nie powinien on wskazywać na komputer bezpośrednio, dzięki czemu łatwiej będzie wprowadzać zmiany w konfiguracji. Najlepszym rozwiązaniem jest utworzenie aliasu i powiązanie go z fizycznym komputerem za pomocą DNS. Jeśli Twój komputer nie działa w sieci, musisz użyć albo aliasu powiązanego z nazwą Twojego komputera, albo bezpośrednio nazwy komputera.

Możliwe jest również określenie maksymalnej dopuszczalnej liczby jednoczesnych połączeń Gopher. Takie rozwiązanie okazuje się czasem niezbędne, aby uniknąć nadmiernego obciążania systemu. Liczba jednoczesnych połączeń zwykle zdefiniowana jest w pliku w katalogu określonym przez wartość zmiennej PIDS_Directory. Odpowiedni wiersz w pliku gopherd.conf jest zwykle zaznaczony jako komentarz, ponieważ wcześniejsze wersje systemu nie obsługiwały poprawnie takiego ograniczenia. Jeśli chcesz skorzystać z tej możliwości, powinieneś upewnić się, że katalog wskazywany przez zmienną PIDS_Directory istnieje i zawiera odpowiednie dla Twojej wersji systemu Gopher pliki, a następnie usunąć symbol komentarza z wiersza

 

#PIDS_Directory: /pids

Lepszym sposobem kontrolowania obciążenia systemu jest użycie słowa kluczowego MaxConnections, które pozwala określić liczbę obsługiwanych równocześnie klientów. Aby dobrać odpowiednią wartość, zapewniającą równowagę pomiędzy obciążeniem systemu i wygodą użytkowników, musisz nieco poeksperymentować – dobrym punktem wyjścia dla systemów opartych o procesory 80486 czy Pentium jest ok. 15 – 25 użytkowników. Jeśli jednak równocześnie w systemie działa serwer WWW, liczba ta powinna być nieco mniejsza, co pozwoli ograniczyć zużycie zasobów systemu. Odpowiedni wpis w pliku konfiguracyjnym ma postać:

 

MaxConnections: 15

Jeśli liczba użytkowników zostanie przekroczona, przy próbie połączenia generowany będzie komunikat o błędzie. Można również skorzystać z możliwości oferowanych przez programy dekodujące. Używane są one wtedy, gdy użytkownik zleca załadowanie pliku, dodając do jego nazwy rozszerzenie (takie jak .Z, .zip czy .gz), które powoduje przesłanie danych w postaci skompresowanej. Dekoder rozpoznaje przekazane przez użytkownika rozszerzenie i wywołuje odpowiedni program użytkowy, dzięki czemu dane są przesyłane w żądanym formacie. W większości plików gopherd.conf znajdują się następujące wpisy:

 

decoder: .Z /usr/ucb/zcat
decoder: .gz /usr/gnu/bin/zcat
#decoder: .adpcm /usr/openwin/bin/adpcm_dec
#decoder: .z /usr/gnu/bin/zcat

Wpisy dotyczące dwóch ostatnich dekoderów są zaznaczone jako komentarz, ale można usunąć symbol #, jeśli chcesz umożliwić korzystanie z plików w formatach .adpcm i .z poprzez usługę Gopher. Możesz również dodać obsługę innych formatów plików, wpisując dane o odpowiednich dekoderach (nazwę wraz z pełną ścieżką dostępu).

Należy również ustawić czas, przez jaki pliki mają być buforowane. Odpowiedni wpis znajduje się w wierszu rozpoczynającym się od słowa kluczowego Cachetime; rozsądną wartością jest ok. 180 sekund. W pliku gopherd.conf powinien więc znajdować się wpis:

 

Cachetime: 180

Podając odpowiednie dane w pliku gopherd.conf można również ograniczyć dostęp do niektórych plików w systemie, używając słowa kluczowego ignore. Zwykle znajdują się tam wpisy takie jak:

 

ignore: lib
ignore: bin
ignore: etc
ignore: dev

Wszystkie pliki o rozszerzeniach lib, bin, etc i dev będą przez system Gopher ignorowane. Jeśli istnieje potrzeba ograniczenia dostępu do innego typu plików, na przykład jeśli w księgowości używa się plików o rozszerzeniu .acct, które nie powinny być one widoczne dla klientów Gopher, powinieneś dodać wpis:

 

ignore: acct

Słowo kluczowe ignore pozwala ukryć pliki tylko na podstawie ich rozszerzenia – takie rozwiązanie bywa czasem niewystarczające. Na szczęście po słowie kluczowym ignore_patt (ang. ignore pattern, ignoruj według wzorca) możliwe jest użycie symboli wieloznacznych. Przykładowo, aby uniemożliwić klientom Gopher dostęp do plików o nazwach rozpoczynających się od liter usr, powinieneś do pliku gopherd.conf dodać wpis:

 

ignore_patt: ^usr$

Plik gopherdlocal.conf

W pliku gopherdlocal.conf należy dokonać co najmniej dwóch modyfikacji, dzięki którym system przestanie generować komunikaty o błędach, które po pewnym czasie zaczynają być denerwujące. W pliku tym domyślnie znajdują się między innymi dwa wpisy:

 

Admin: blank
AdminEmail: blank

...

Zgłoś jeśli naruszono regulamin