[ Następny rozdział ] [ Poprzedni rozdział ] [ Spis treści ]

11. Serwery

11.1 Jakie serwery WWW (HTTP) są dostępne? Jaki serwer wybrać?

Pytanie rzeka... najlepiej spojrzeć na stronę WebCompare http://webcompare.internet.com/ gdzie szczegółowo opisano (i porównano) większość dostępnych serwerów WWW.

Ja osobiście używam boa http://www.boa.org/ - małego, taniego (GNU) i chodzącego (niezależnie od ustawień) jako nobody nie zaś jako root.

Inni preferują Apache 1.2 http://SunSite.ICM.edu.pl/pub/www/apache/ lub 1.1.3 i wcale się im nie dziwię - potężne narzędzie, z dość łatwą integracją z bazami danych, opcjami takimi jak: wirtualny serwer i używane na tyle powszechnie (podobnie jest z sendmailem http://www.SendMail.org/ ), że skutecznie przetestowane ( Netcraft http://www.netcraft.com/ donosi że Apache stanowi ponad 40% wszystkich używanych w Internecie serwerów HTTPd - a następny developer, Microsoft, ma tylko 10% udziałów w rynku ;-). A potencjalne niebezpieczeństwa można zwalczać przez zainstalowanie ,,wrapperów'' i ścian ognia. (wersje 1.2. - działają w trybie HTTP/1.1)

Wartym uwagi produktem (choć po części testowym) jest napisany przez zespół z W3C serwer Jigsaw http://www.w3.org/pub/WWW/Jigsaw/ (w Javie więc naprawdę wieloplatformowy, a w dodatku jako jeden z pierwszych prawie w pełni realizujący HTTP/1.1).

Ci którzy używają w swojej sieci Novella http://www.Novell.com.pl/ powinni przyjrzeć się serwerowi YAWN http://www.cpu.lublin.pl/yawn/ napisanemu w Lublinie przez Artura Urbanowicza mailto:artur@golem.umcs.lublin.pl (a pozostali powinni to zobaczyć, choćby dla dokumentacji)

Są wreszcie tacy, którzy lubią płacić za... coś co mogą otrzymać niemal za darmo... Tym polecam { ;-)))) } produkty firm:

Patrz też:

11.2 Platforma sprzętowa

Obojętna... Na pytanie: Jaką platformę sprzętową wybrać? odpowiedź brzmi: Nie Unixa, nie MacIntosha, nie MS Windows, a tę na której się najlepiej znasz i której ufasz... Ważne przy tym by była to platforma stabilna (tj. żeby serwer WWW był dostępny co najmniej przez 23.5 godziny na dobę ;-).

Patrz też:

11.3 Obsługa błędów

O klasie danego serwisu (serwera) decyduje nie tylko to jakie usługi proponuje, ale także to jak sobie radzi z sytuacjami nietypowymi - czy gdy użytkownik źle wpisze adres krzyczy na niego Bad URL , czy też stwierdza Chyba się pomyliłeś. Masz oto skrócony spis mojej zawartości, i wybierz proszę, to czego szukałeś. Możesz także skorzystać z moich usług wyszukiwawczych

Sposób reakcji na najbardziej podstawowe błędy (typu 404: file not found lub 403: Forbiden można ustawić w pliku srm.conf (w rodzinie serwerów z NSCA).

Patrz też:

11.4 Strony na hasło

W danym katalogu należy umieścić plik .htaccess o zawartości:

AuthName this page
AuthType basic
AuthUserFile /home/looser/.htpasswd
AuthGroupFile /dev/null
<Limit GET PUT>
require user secret
</Limit>
opis do kodu: Hasła dodaje się odpowiednim programem:

htpasswd -c /home/looser/.htpasswd secret (-c jeśli tworzymy nowy plik) htpasswd jest w dystrybucji NCSA i Apache, w katalogu support . W przypadku gdy użytkowników ma być więcej niż kilkudziesięciu, należy przejść na format DB lub DBM. Przeszukiwanie plików DB i DBM jest znacznie szybsze niż zwykłego tekstowego .htpasswd Ustawienia są analogiczne, tylko że zamiast zbioru funkcji Auth* mamy AuthDB* lub AuthDBM* i do zarządzania

11.5 Wirtualny serwer

W bardzo wielu przypadkach istnieje potrzeba wykorzystania jednego komputera do obsługiwania informacji dostarczonych przez kilku różnych klientów. Problem można rozwiązać na kilka różnych sposobów:

1. Informacje każdego klienta umieszczamy w innej kartotece i propagujemy odsyłacze:

2. Informacje umieszczamy w osobnych kartotekach i uruchamiamy kilka serwerów http; każdy korzystający z innego portu. Odsyłacze będą wyglądały wówczas tak: lub jeżeli zarejestrujemy w DNS jako alias dla naszego serwera nazwy www.klient1.com.pl, ... , www.klientn.com.pl Rozwiązania oba są bardzo proste, ale niezbyt eleganckie. Klient może domagać się występowania pod własną nazwą i nie godzić się na żadne "dopiski". W takiej sytuacji musimy uruchomić "serwery wirtualne". Musimy: W ostatecznym układzie sytuacja będzie wyglądać tak: na naszym komputerze będzie pracował jeden serwer www, który, w zależności od tego do jakiego adresu "zapuka" klient serwował będzie inny zestaw informacji...

Aby dodać alias IP w Linuxie (z jądrem 2.0) wystarczy (przy odpowiednio skompilowanym jądrze - opcje Network Aliasing i IP Aliasing w make config ) wydać polecenie:

/sbin/ifconfig eth0:10 192.168.17.1 broadcast 192.168.17.255 \
netmask 255.255.255.0

Apache (nie rozgryzłem jeszcze do końca mechanizmu działania) pozawala poza tym zdefiniować kilka serwerów wirtualnych na jednym nr IP.


<VirtualHost nazwa_wirtualnego>
ServerAdmin webmaster@nazwa_wirtualnego
DocumentRoot /gdzieś/w/systemie/
ServerName nazwa_wirtualnego
ErrorLog logs/nazwa_wirtualnego.errors
TransferLog logs/nazwa_wirtualnego.errors
</VirtualHost>

Patrz też:

11.6 Robot exlusion

Należy pogodzić się z istnieniem rozmaitych robotów w pajęczynie ;-). To dzięki nim można przeszukiwać pajęczynę, to dzięki nim możliwe jest tworzenie indywidualizowanych usług dostarczających informacje a nie dane, wreszcie sprawdzanie poprawności powiązań pomiędzy dokumentami. A to, że czasem mają ochotę ściągnąć, dynamicznie tworzone strony, albo rozmaite niepowołane zasoby (jak na przykład nieopatrznie ,,odsłonięty'' katalog z wszystkimi RFC?) Jest na to rada. Już w początkach WWW (czyli w lipcu 1994 r. ;-) został opracowany nieformalny standard for Robot Exclusion do które stosują się wszystkie ,,przyzwoite'' http://info.webcrawler.com/mak/projects/robots/norobots.html roboty. Opiera się on na sprawdzaniu przez robota istnienia pliku /robots.txt http://www.webcrawler.com/robots.txt zawierającego polecenia:

. Poza tym istnieją (jeszcze niezbyt powszechnie uznane) zaklęcia <META takie jak np <META name="robots" CONTENT="NOINDEX">

Patrz też:

11.7 Zagadnienia specyficzne dla poszczególnych serwerów

Apache

O konfiguracji Apache można przeczytać w następujących dokumentach:


[ Następny rozdział ] [ Poprzedni rozdział ] [ Spis treści ]