Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
1. Zainstalowałem właśnie apache2 i chcę przystąpić do konfiguracji, ma on obsługiwać skrypty *.cgi, reszta mnie nie interesuje ... i opis odnośnie cgi jest m.in tutaj http://dug.net.pl/lib/index.php jak i samego apache2 ... tylko to z roku 2005 jak zauważyłem, aktualne? Domyślam się, że opis cgi będzie poprawny, ale konfiguracji apache2?
Pliki konfiguracyjne:
/etc/apache2/apache2.conf
/etc/apache2/httpd.conf - pusty
2. Jak mogę sprawdzić czy apache2 działa poprawnie? Chyba działa bo np:
# /etc/init.d/apache2 restart Restarting web server: apache2apache2: apr_sockaddr_info_get() failed for linux apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName ... waiting apache2: apr_sockaddr_info_get() failed for linux apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Powinienem się tym komunikatem przejmować?
Gdy wpiszę w przeglądarce 192.168.1.21 (czyli mój lokalny ip) dostaję:
It works!
Z kolei gdy dam 127.0.0.1 to:
Index of /
Name Last modified Size Description
htdig/ 16-Mar-2008 19:30 -
ping/ 23-Apr-2008 09:21 -
usr/ 11-Jan-2009 15:47 -
Apache/2.2.9 (Debian) Server at 127.0.0.1 Port 80
Offline
kondzio14 napisał(-a):
Chyba działa bo np:
Kod:
# /etc/init.d/apache2 restart Restarting web server: apache2apache2: apr_sockaddr_info_get() failed for linux apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName ... waiting apache2: apr_sockaddr_info_get() failed for linux apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerNamePowinienem się tym komunikatem przejmować?
Gdy wpiszę w przeglądarce 192.168.1.21 (czyli mój lokalny ip) dostaję:It works!
Z kolei gdy dam 127.0.0.1 to:
Index of /
Name Last modified Size Description
htdig/ 16-Mar-2008 19:30 -
ping/ 23-Apr-2008 09:21 -
usr/ 11-Jan-2009 15:47 -
Apache/2.2.9 (Debian) Server at 127.0.0.1 Port 80
Ad1. Komunikat informuje Cię o braku pełnej domenowej nazwy serwera. Wg. mnie nie jest groźny ale upierdliwy :)
Ad2. It works! w wolnym tłumaczeniu "dla Apache" oznacza dokładnie, że serwer działa.
Różnica między podaniem IP a localhost wynika z konfiguracji apache2.
Offline
Czyli apache2 jest poprawnie skonfigurowany? Ciekawi mnie dlaczego plik '/etc/apache2/httpd.conf' jest pusty, ale pewnie dlatego abym go mógł uzupełnić:P
I tak też zrobiłem, tzn wpisałem do niego:
DirectoryIndex index.html index.htm index.cgi index.pl
AddHandler cgi-script .cgi .pl
<Directory "/home/kondzio14/cgi-bin">
Options +ExecCGI
</Directory>
A następnie w przeglądarce: "http://192.168.1.21/cgi-bin/proba.pl" ale nie działa, wyświetla:
Not Found
The requested URL /cgi-bin/proba.pl was not found on this server.
Apache/2.2.9 (Debian) Server at 192.168.1.21 Port 80
Plik proba.pl mieści się w /home/kondzio14/cgi-bin i jego treść to:
#!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello, Im a CGI script and Im gonna print You some environment variables to make You belive that Im working fine smile.gif \n"; print " "; foreach $key (keys %ENV) { print "$key --> $ENV{$key} "; }
Offline
W konfiguracji "strony" brakuje Ci ScriptAlias badź musiałbys wrzucić go do ścieżki, która jest domyślnie skonfigurowana w apache2.
Nie pamiętam, i nie ma aktualnie jak sprawdzić. Możesz zerknąc za ScriptAlias do apache2.conf.
Offline
Pierwsza sprawa, który plik mam edytować? apache2.conf czy httpd.conf?
Offline
Najwygodniej, bo zachowasz przejrzystość konfiguracji, utwórz nowy plik np. "proba" w /etc/apache2/sites-available. Zrob symlinka dla tego pliku do /etc/apache2/sites-enabled
ln -s /etc/apache2/sites-available/proba /etc/apache2/sites-enabled/proba
Do pliku "proba" wpisz (najprostsza konfiguracja, mozna wiecej:))
<Directory "/pelna/sciazka/do/katalogu/gdzie/masz/strone"> #for execute CGI files Options ExecCGI FollowSymLinks AddHandler cgi-script .pl </Directory>
zapisz, zrestartuj apache2.
Powinno wystarczyć na początek i śmigać.
Powodzenia.
Offline
Niestety nie działa, wciąż to samo.. później w przeglądarce jak wpisuje? Stworzony plik tak uzupełniłem:
<Directory "/home/kondzio14/cgi-bin"> #for execute CGI files Options ExecCGI FollowSymLinks AddHandler cgi-script .pl </Directory>
I w katalogu /home/kondzio14/cgi-bin mam pliki *.pl. Prawa do pliku:
-rwxr-xr-x 1 kondzio14 kondzio14 78 lut 25 17:22 first.pl
W przeglądarce próbowałem:
http://192.168.1.21/cgi-bin/first.pl http://192.168.1.21/first.pl http://192.168.1.21/kondzio14/bialy/cgi-bin/first.pl
Jeszcze popróbuję .. z tym ScriptAlias.. uzupełniając plik apache2.conf. Ale chętnie poczytam jeśli macie jakieś pomysły.
PS. mariaczi u Ciebie w ten sposób, który opisałeś działa?
Offline
Działa, działa. Jak będę miał dostęp do maszyny to sprawdze konfig specjalnie pod Ciebie :)
Offline
Tak jak obiecałem :) Po sprawdzeniu, konkretnie pod Twoj przypadek.
/etc/apache2/conf.d/proba
<Directory "/var/www/proba/"> Options Indexes FollowSymLinks AddHandler cgi-script .pl AllowOverride None Order deny,allow Allow from all </Directory> <Directory "/var/www/proba/cgi-bin/"> Options ExecCGI SetHandler cgi-script </Directory>
Co prawda, umieściłem sobie tylko "stronę" w innej lokalizacji :)
Powodzenia.
PS. Poczytaj troszke ;) tutaj i w powyższych opisach :)
Offline