|
|
Uruchamianie skryptów CGI
|
Zanim przystąpimy do konfiguracji serwera pod kątem uruchamiania
skryptów CGI musimy najpierw zainstalować interpreter języka Perl
(zobacz instalacja serwera Apache)
Na platformę Windows dostępnych jest kilka dystrybucji
dostępnych np. na stronie www.perl.org.
Polecam wersję ActivePerl:
Api522e.exe
(5500 KB)
Uruchomienie ściągniętego pliku APi522e.exe
powoduje zainicjowanie procesu instalacji. Jedną z pierwszych decyzji
jest wybór katalogu instalacyjnego - wybieramy katalog C:\usr.
W efekcie, plik perl.exe będzie zlokalizowany
w katalogu C:\usr\bin\, czyli tak
samo, jak w wielu serwerach WWW.
Konfiguracja serwera Apache dla CGI
W pliku httpd.conf odszukujemy
następujące wpisy:
#ScriptAlias /cgi-bin/ "c:/usr/apache/cgi-bin/"
i jeżeli jest opatrzona komentarzem - usuwamy
go.
Lnia ta tworzy alias do katalogu cgi-bin,
który standardowo przeznaczony jest do umieszczania w nim skryptów.
Dzięki temu możemy się odwołać do skryptu w następujący sposób:
http://naszastrona.pl/cgi-bin/skrypt.pl
Kolejna linia definiuje nowy typ procedury o nazwie
cgi-script i pozwala umieszczać skrypty w głównym katalogu serwera.
Jednocześnie następuje kojarzenie plików z wymienionymi rozszerzeniami
z określonym typem procedury.
#AddHandler cgi-script .cgi .pl
Także usuwamy znak komentarza sprzed tej linii i dodajemy rozszerzenie
.pl jeśli go brak.
W ramach serwera wirualnego <VirtualHost...>
</VirtualHost> dodajemy linijkę:
ScriptAlias /cgi-bin/ "c:/usr/www/twojastrona/cgi-bin/"
Test
W Notatniku napiszemy:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Test konfiguracji serwera";
i zapisujemy plik jako test.pl.
Po umieszczeniu w katalogu C:\usr\www\twojastrona\cgi-bin\ i wpisaniu
w przeglądarce adresu:
http://naszastrona.pl/cgi-bin/test.pl
powinniśmy otrzymać komunikat, zawarty w ostatniej
linijce skryptu "Test konfiguracji serwera"
Uruchomienie skryptu CGI
na przykładzie formularza i skryptu FormMail.pl:
1. W dokumencie html, na początku kodu definiujacego
formularz wstawiamy odwołanie do skryptu:
<form name=addform method=post
action=/cgi-bin/FormMail.pl>
<input type=hidden name="recipient" value="adre
e-mail na który zostaną wysłane dane z formularza">
2. Edytujemy skrypt w notatniku:
sprawdzamy scieżkę zachęty do perla która powinna
wygladać następująco: #!/usr/bin/perl
zmieniamy scieżkę do programu pocztowego na serwerze - sendmaila
(lub innego), tak by była zgodna z ustawieniami waszego serwera.
Przykładowo może wygladać nastepująco (proponuję najpierw skontaktować
sie z administrtorem serwera).
/usr/lib/sendmail
lub
/bin/sendmail
2. Skrypt umieszczamy na serwerze w katalogu cgi-bin
3. Nadajemy uprawnienia:
W oknie programu typu klient ftp (np. CuteFTP) klikamy prawym klawiszem
myszy na plik skryptu po stronie serwera a nastepnie wybieramy CHMOD
i ustawiamy maskę Owner permision na 755.
(W przypadku SSH Secure Shell Client należy wybrac Properties i
Permission Mask).
|