R 29 07, HTML

[ Pobierz całość w formacie PDF ]
Rozdział 29.
Porady i wskazówki
na temat serwera WWW
Serwer WWW jest mózgiem każdej witryny, można porównać go do centrum
sterowania lotem kosmicznym. Bez niego to, co stworzyłeś, będzie tylko zbiorem
nieistotnych i nikomu niepotrzebnych stron WWW, przechowywanych na czyimś
twardym dysku.
Z drugiej strony jest to w końcu tylko program komputerowy, który instaluje się i
ustawia, tak jak inne programy. Oprócz tego, że jest odpowiedzialny za publikację
Twoich stron w sieci, pozwala także na wykorzystywanie skryptów CGI, map
odnośników i zabezpiecza pliki przed nieupoważnionym
W tym rozdziale opiszę kilka sztuczek, które ułatwią Ci zarządzanie witryną po stronie
serwera i sprawią
następujące zagadnienia:
mechanizm SSI serwerów NSCA oraz jego wykor
stronach informacji na bieżąco aktualizowanych,
automatyczne przekierowanie przez serwer połączeń do przeniesionych stron
log — jego struktura, wykorzystanie i programy do generowa
zystanie do umieszczania na
,
nia statystyk,
tworzenie własnych dokumentów informujących o błędach.
Tak jak w poprzednich rozdziałach, moje uwagi dotyczą przede wszystkim serwerów
działających w systemie Unix. Jednakże większość podawanych informacji dotyczy
serwerów w ogóle, dlatego też treść tego rozdziału może okazać
HTTPD
się przydatna nawet wtedy,
gdy używasz innego serwera na innej platformie programowej.
Mechanizm NCSA SSI
Mechanizm SSI
(ang.
Server Side Include
) jest udostępniany przez wiele serwerów WWW,
umożliwia tworzenie stron WWW przetwarzanych przez serwer i umieszczanie w nich
specjalnych poleceń. W momencie zgłoszenia żądania odczytu pliku HTML, serwer
dostępem (o czym powiem w
rozdziale 30. — „Bezpieczeństwo serwera WWW i kontrola dostępu”).
, że będzie ona bardziej przejrzysta dla czytelników. Będą to
804
Część 10.
Konfiguracja i administracja serwera WWW
przetwarza umieszczone w nim polecenia, a ich wyniki umieszcza w kodzie pliku. Me-
chanizm SSI pozwala na wykonywanie następujących operacji:
umieszczanie plików wewnątrz innych (z reguły są to pliki z podpisami lub notki
o prawach autorskich),
umieszczanie na stronie HTML bieżącej daty i czasu,
umieszczanie na stronie informacji o pliku, na przykład, jego wielkości lub daty
ostatniej modyfikacji,
umieszczanie na stronie wyniku działania skryptu CGI — przykładem może być
licznik odwiedzin danej strony.
SSI wprowadza sporą elastyczność dotyczącą typu informacji, które można dołączyć do
strony WWW. Wadą tego rozwiązania jest to, że każdy plik zawierający specjalne kody
musi być dodatkowo przetworzony przez serwer, co powoduje jego większe obciążenie
i wolniejsze ładowanie strony. Oprócz tego wywoływanie skryptów CGI osłabia bezpie-
czeństwo serwera.
W tej części rozdziału przedstawię pokrótce każde z wyrażeń, które może zostać
umieszczone w kodzie strony. Opiszę również, jak skonfigurować serwer i pliki, aby
mechanizm SSI mógł zadziałać.
Zarówno teraz, jak i w dalszej części rozdziału przyjmuję założenie, że masz do dyspozycji
własny serwer WWW, który możesz konfigurować w dowolny sposób. Jeżeli korzystasz z
usług serwera, będącego pod opieką kogoś innego, może okazać się, że nie posiada on
opisywanych tu możliwości. Porozmawiaj z jego administratorem i dowiedz się, jakie cechy
potrafi on obsłużyć.
Konfiguracja serwera
Pierwszym warunkiem korzystania z mechanizmu SSI jest jego obsługa przez serwer.
Jeżeli jest on spełniony, należy jeszcze skonfigurować oprogramowanie tak, aby go
uruchomić.
W serwerach opartych o NSCA należy dokonać dwóch modyfikacji w plikach
konfiguracyjnych, a więc trzeba:
dodać opcję Include do dyrektywy Options,
Zdefiniować specjalny typ dla plików, które mają być przetwarzane przez serwer.
Może się zdarzyć, że serwer, którego używasz, obsługuje SSI, ale sposób włączania tego
mechanizmu jest nieco inny. W takim razie należy dokładnie przejrzeć dokumentację i
znaleźć odpowiedni opis.
SSI może zostać zainicjowane dla całego serwera lub tylko dla niektórych katalogów.
Podobnie, pewnym katalogom można odebrać prawo dostępu do tej usługi.
Rozdział 29.
Porady i wskazówki na temat serwera WWW
805
Aby udostępnić SSI dla wszystkich plików w drzewie katalogów serwera, należy doko-
nać zmian w pliku
access.conf
, który znajduje się w katalogu konfiguracyjnym (zwykle
nosi on nazwę
conf
).
Plik kontroli dostępu dla całego serwera może znajdować się gdzie indziej i nosić inną nazwę.
Jest to zdefiniowane w pliku
httpd.conf
. W nowszych wersjach serwera Apache, wszystkie
dyrektywy konfiguracyjne umieszczane są w pliku
httpd.conf
, dotyczy to także dyrektyw
określających prawa dostępu.
Aby udostępnić SSI dla wszystkich katalogów, dopisz do pliku
access.conf
następującą
linię:
Options Includes
Zamiast umożliwiać przetwarzanie plików znajdujących się we wszystkich katalogach,
możesz je ograniczyć tylko do kilku wybranych. Aby włączyć mechanizm SSI tylko dla
plików, znajdujących się w katalogu
/home/www/includes
, musisz w pliku
access.conf
wpisać następujące linie:
<Directory /home/www/includes>
Options Includes
</Directory>
Włączenia SSI dla konkretnego katalogu można dokonać również za pomocą pliku kontroli
dostępu, znajdującego się właśnie w tym katalogu. Plik ten nosi zwykle nazwę
.htaccess
, a
więcej na jego temat opowiem w następnym rozdziale.
Zarówno globalnie, jak i tylko dla określonych katalogów można uaktywnić mechanizm
SSI z pewnym ograniczeniem, nie będą wykonywane polecenia, które powodują wywo-
łanie skryptów CGI. W tym celu, zamiast linii podanej powyżej, należy wstawić:
Options IncludesNoExec
Przejdźmy teraz do edycji pliku
srm.conf
(lub
http.conf
, w zależności do posiadanej
wersji serwera Apache), który powinien również znajdować się w katalogu konfigura-
cyjnym. W tym miejscu należy określić rozszerzenie dla plików HTML, które będą
przetwarzane przez serwer i będą zawierały odpowiednie polecenia. Zwykle pliki te po-
siadają rozszerzenie
.shtml
. Aby serwer mógł przetwarzać pliki z takim właśnie rozsze-
rzeniem, należy dopisać następującą linię:
AddType text/x-server-parsed-html .shtml
Możesz też spowodować, że wszystkie pliki znajdujące się na serwerze będą przezeń
przetwarzane:
AddType text/x-server-parsed-html .html
Zwróć jednak uwagę, że jeżeli serwer będzie analizował każdy wysyłany przez siebie
plik HTML, jego działanie ulegnie znacznemu spowolnieniu.
Po dokonaniu tych zmian należy ponownie uruchomić serwer, aby je uaktywnić i w za-
sadzie wszystko będzie już przygotowane.
806
Część 10.
Konfiguracja i administracja serwera WWW
Tworzenie plików z poleceniami SSI
Teraz, kiedy serwer jest już odpowiednio ustawiony, można rozpocząć wstawianie po-
leceń SSI do plików HTML, tak aby serwer przetwarzał je w momencie, w którym ktoś
zażąda dostępu do nich.
Polecenia SSI umieszczane są w komentarzach HTML (w ten sposób są one ignorowa-
ne przez serwery, które nie wiedzą, co to jest SSI). Mają one swój specyficzny format,
który wygląda następująco:
<!--#polecenie arg1="wartość1"-->
W wyrażeniu tym polecenie oznacza polecenie SSI, które zostanie wykonane (np.
inclu-
de
,
exec
lub
echo
— z każdym z nich zapoznasz się bliżej, kontynuując lekturę tego
rozdziału). Każde polecenie posiada jeden lub więcej argumentów, których wartości
podawane są w cudzysłowach. Tak skonstruowane wyrażenie można umieścić w do-
wolnym miejscu kodu HTML. Po przetworzeniu pliku przez serwer całość komentarza
zostanie zastąpiona przez to, co jest wynikiem wykonania danego polecenia: może być
to zawartość innego pliku, wartość zmiennej lub efekt działania skryptu.
Aby serwer wiedział, że powinien przetworzyć dany plik, należy nadać mu odpowied-
nie rozszerzenie (to samo, które zostało zdefiniowane w pliku konfiguracyjnym, czyli
.shtml
). Jednakże, jeżeli skonfigurowałeś serwer tak, aby przetwarzał wszystkie pliki,
nie musisz zmieniać rozszerzenia.
Wiele z powstających obecnie, bardzo rozbudowanych serwerów WWW zawiera różnorakie
mechanizmy, umożliwiające tworzenie dość złożonych skryptów. Jednym z przykładów
takich rozwiązań jest środowisko tworzenia aplikacji LiveWire firmy Netscape, które
umożliwia wykonywanie przez serwer programów w języku JavaScript.
Konfiguracja SSI
Istnieje polecenie SSI, które nie powoduje wstawiania żadnych dodatkowych elemen-
tów, lecz służy do konfiguracji formatu innych poleceń. Polecenie
#config
określa
konfigurację wszystkich innych wyrażeń SSI, występujących po nim w danym pliku
HTML.
#config
może posiadać trzy argumenty.
errms
g
Jeżeli w trakcie wykonywania polecenia SSI wystąpi błąd, na stronie HTML oraz
w logu błędów pojawi się komunikat określony za pomocą tej opcji.
time-
fmt
Argument ten określa format wyświetlania daty oraz czasu i jest wykorzystywany
przez wiele poleceń SSI. Standardowy format wygląda następująco:
Wednesday, 14-May-98 21:04:46
size-
fmt
Ten argument określa format wyświetlania wartości polecenia SSI, które zwraca rozmiar
zadanego pliku. Jego możliwe wartości to „bytes”, która powoduje podanie pełnej liczby
bajtów oraz „abbrev”, która sprawia, że liczba jest przeliczana na kilobajty lub megabajty
oraz dodatkowo zaokrąglana. Standardowo przyjmowana jest wartość „abbrev”.
Rozdział 29.
Porady i wskazówki na temat serwera WWW
807
Oto kilka przykładów użycia polecenia
#config
:
<!--#config errmsg="Wystąpił błąd"-->
<!--#config timefmt="%m/%d/%y"-->
<!--#config sizefmt="bytes"-->
<!--#config sizefmt="abbrev"-->
Tabela 29.1 przedstawia elementy możliwe do wykorzystania przy specyfikacji formatu
daty i czasu za pomocą polecenia
timefmt
. Pełną ich listę można znaleźć w systemie
podręczników Uniksa (
man strftime
).
Tabela 29.1.
Formaty daty i czasu
Format
Efekt
%c
Pełna data i czas: Thu, May 21 20:45:34 1998.
%x
Skrócona data: 05/21/98.
%X
Skrócony czas (24 godziny): 20:45:44.
%b
Skrócona nazwa miesiąca: Jan, Feb, Mar.
%B
Pełna nazwa miesiąca: January, February, March.
%m
Numer miesiąca (od 1 do 12).
%a
Skrócona nazwa dnia tygodnia (Mon, Tue, Thu).
%A
Pełna nazwa dnia tygodnia (Monday, Tuesday).
%d
Numer dnia tygodnia (od 1 do 7).
%y
Skrócony rok (96, 97, 98).
%Y
Pełny rok (1996, 1997, 1998).
%H
Aktualna godzina (wg zegara 24-godzinnego).
%I
Aktualna godzina (wg zegara 12-godzinnego).
%M
Aktualna minuta (od 0 do 60).
%S
Aktualna sekunda (od 0 do 60).
%p
a.m. lub p.m. — wskazanie pory przed lub popołudniowej.
%Z
Strefa czasowa (EST, PST, GMT).
Włączanie innych plików do stron WWW
Najprostszym zastosowaniem SSI jest włączanie do plików HTML zawartości innych
plików. Służy do tego polecenie
#include
wraz z argumentami
file
lub
virtual
:
<!--#include file="signature.html"-->
<!--#include virtual="~/foozle/header.html"-->
Argument
file
służy do określania względnej ścieżki dostępu do włączanego pliku
(względem pliku bieżącego). W pierwszym przykładzie plik
singniture.html
znajduje
się w tym samym katalogu, co edytowana strona. W ten sposób można również włączać
pliki znajdujące się w podkatalogach katalogu bieżącego (np.
file=signatures/mysig.html
),
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • agraffka.pev.pl