Konfiguracja serwera Apache

Dla osób, które same administrują serwerami WWW i zamierzają udostępnić możliwość uruchamiania w nich skryptów CGI, podajemy poniżej wskazówki dotyczące konfiguracji najpopularniejszego w Internecie serwera WWW - Apache:

Wszelkich niezbędnych wpisów dokonywać będziemy w pliku srm.conf, znajdującym się w podkatalogu conf głównego katalogu serwera Apache (katalog ten określamy przy instalacji; przy standardowej instalacji ze źródeł jest to /usr/local/etc/httpd).

Odnajdźmy najpierw w tym pliku wiersz zaczynający się od polecenia "ScriptAlias"; może on mieć np. taką postać:

     ScriptAlias /cgi-bin/ /usr/local/etc/httpd/cgi-bin/
Wiersz ten definiuje katalog /cgi-bin, przeznaczony do umieszczania skryptów, oraz jego rzeczywistą lokalizację na dysku (w tym przypadku /usr/local/etc/httpd/cgi-bin). Możemy zmienić tę lokalizację; możemy także dodać dodatkowe katalogi przeznaczone dla skryptów dopisując kolejne polecenia ScriptAlias w następnych wierszach.

Jeżeli chcemy umożliwić rozpoznawanie skryptów CGI przez rozszerzenie, musimy w pliku srm.conf umieścić poniższe polecenie (zwykle już się ono tam znajduje, ale jest wyłączone poprzez umieszczenie przed nim znaku "#"; aby je uaktywnić, musimy ten znak usunąć):

     AddHandler cgi-script .cgi
Dla umożliwienia natomiast używania wstawek SSI niezbędne będą poniższe dwa polecenia (analogicznie jak poprzednie, zwykle są już one w pliku - trzeba tylko usunąć znaki "#" przed nimi):

     AddType text/html .shtml
     AddHandler server-parsed .shtml
Wszystkich powyższych zmian dokonać należy w pliku srm.conf. Natomiast drugim wartym zainteresowania plikiem jest plik access.conf, w którym możemy określić, w których katalogach wolno uruchamiać skrypty CGI. W pliku tym znajdziemy zwykle jedną lub kilka konstrukcji następującej postaci:

     <Directory /ścieżka/dostępu/do/katalogu>
     ...
     Options lista opcji
     ...
     </Directory>
na przykład:

     <Directory /usr/local/etc/httpd/htdocs>
     Order deny,allow
     Allow from all
     Options Indexes FollowSymLinks
     AllowOverride None
     </Directory>
Obecność w wierszu Options napisu "ExecCGI" oznacza zezwolenie na uruchamianie w danym katalogu skryptów CGI, zaś "Includes" - na stosowanie SSI. Można też spotkać się z formą "Options All", która zawiera w sobie m.in. obydwa te uprawnienia.

W zależności od potrzeb, możemy modyfikować wiersze Options istniejące w pliku lub dopisywać całkowicie nowe fragmenty <Directory ...> ... </Directory> dla katalogów, w których chcemy odblokować możliwość korzystania z CGI lub SSI.

Należy pamiętać, że po każdej zmianie w plikach konfiguracyjnych musimy zrestartować program Apache, aby zmiany zostały zauważone przez serwer.