Linuksowo.pl - Linux forum

Transkrypt

Linuksowo.pl - Linux forum
Subject: Wykonywanie programów napisanych w języku C po stronie Apacha
Posted by tomi on Mon, 01 Mar 2010 15:29:50 GMT
View Forum Message <> Reply to Message
Mam taki problem szukałem w google w języku polskim i nie mogłem znaleźć, co trzeba
zrobić, żeby zmusić Apache, żeby wykonywał programy napisane w c czyli poprostu pliki
binarne tak samo jak w PHP, może ktoś z was już ma tak ustawione to by się podzielił
informacjÄ….
Subject: Odp: Wykonywanie programów napisanych w języku C po stronie
Apacha
Posted by hwast on Mon, 01 Mar 2010 16:06:30 GMT
View Forum Message <> Reply to Message
Zainteresuj siÄ™ CGI (http://pl.wikipedia.org/wiki/CGI).
Aktualnie apache.org leży ( 8o :roll: ) ale jest tam fajny przewodnik po CGI
(http://httpd.apache.org/docs/2.2/howto/cgi.html).
Subject: Odp: Wykonywanie programów napisanych w języku C po stronie
Apacha
Posted by tomi on Mon, 01 Mar 2010 17:40:39 GMT
View Forum Message <> Reply to Message
Zastosowałem się do tego poradnika
Cytuj:Aby mieć możliwość uruchamiania na naszej maszynie skryptów perl'a ( .cgi .pl )
należy w pliku konfiguracyjnym httpd.conf dokonać paru małych modyfikacji :
"/usr/local/apache2/conf/httpd.conf"modyfikujemy linijke DirectoryIndex
DirectoryIndex index.html index.htm index.cgi index.pl
dodajemy linijeczke :
AddHandler cgi-script .cgi .pl
oraz określamy w jakich katalogach maja być parsowane pliki .cgi oraz .pl - jako skrypty CGI, w
naszym przypadku wszystkie katalogi cgi-bin we wszystkich podkatalogach * w katalogu
/home/www
<Directory "/home/www/*/cgi-bin">
Options +ExecCGI
Page 1 of 5 ---- Generated from
Linuksowe by FUDforum 2.8.1
Linuksowo.pl - Linux forum - Polskie Forum
</Directory>
Teraz sprawdźmy czy nasze skrypty CGI aby napewno działają poprawnie, otwieramy nasz
ulubiony edytorek i wpisujemy :
Cytuj:#!/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 "<br><br>";
foreach $key (keys %ENV) {
print "$key --> $ENV{$key}<br>";
}
Nasz kod zapisujemy jako plik .cgi lub .pl w miejscu w którym nadaliśmy mozliwość
parsowania plików jako skrypty CGI.
Następnie nadajemy odpowiednie prawa dla pliku :
Cytuj:# chmod 755 /home/www/localhost/cgi-bin/skrypt.cgi
# chmod +x /home/www/localhost/cgi-bin/skrypt.cgi
teraz sprawdzamy już tylko w przeglądarce czy wszystko działa poprawnie podając w
url'u scieżkę do naszego skryptu cgi
np. : http://nasze_ip/cgi-bin/skrypt.cgi.
Jeżeli wszystko działa poprawnie w przeglądarce powinno pokazać się co nieco
zmiennych środowiskowych
I jeszcze kilku innych
W końcu jak wchodzę do jakiegoś pliku zawartego w katalogu cgi-bin
to wyświetla się komunikat
Cytuj:Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your
request.
Please contact the server administrator, [email protected] and inform them of the time the error
occurred, and anything you might have done that may have caused the error.
Page 2 of 5 ---- Generated from
Linuksowe by FUDforum 2.8.1
Linuksowo.pl - Linux forum - Polskie Forum
More information about this error may be available in the server error log.
A w pliku z błędami taki wpis
Cytuj:Premature end of script headers: perl.cgi
Subject: Odp: Wykonywanie programów napisanych w języku C po stronie
Apacha
Posted by Åšlubek on Sun, 07 Mar 2010 19:40:59 GMT
View Forum Message <> Reply to Message
Spróbuj uruchomić ten skrypt z linii poleceń. Poza tym pamiętaj, że serwer www musi
mieć uprawnienia do wykonywania go.
Subject: Odp: Wykonywanie programów napisanych w języku C po stronie
Apacha
Posted by tomi on Sun, 07 Mar 2010 20:03:07 GMT
View Forum Message <> Reply to Message
Cytuj:Poza tym pamiętaj, że serwer www musi mieć uprawnienia do wykonywania go.
A jak mam sprawdzić czy ma odpowiednie uprawnienia nadaje mu uprawnienia chmod 777 i nic,
a jak nie ma to jak mam nadać mu uprawnienia. i uruchomiłem ten skrypt z linii poleceń i
działa.
Subject: Odp: Wykonywanie programów napisanych w języku C po stronie
Apacha
Posted by Åšlubek on Mon, 08 Mar 2010 00:00:27 GMT
View Forum Message <> Reply to Message
tomi napisał(a) dnia Sun, 07 March 2010 09:03i uruchomiłem ten skrypt z linii poleceń i
działa.
A co wyświetla? Bo komunikat oznacza, że skrypt wyświetla niewłaściwe nagłówki.
Powinno zaczynać się tak:
Cytuj:[rafal@localhost tmp]$ ./skrypt.pl
Content-type: text/html
Page 3 of 5 ---- Generated from
Linuksowe by FUDforum 2.8.1
Linuksowo.pl - Linux forum - Polskie Forum
Hello, Im a CGI script and Im gonna print You some environment variables to make You belive
that Im wor...
Subject: Odp: Wykonywanie programów napisanych w języku C po stronie
Apacha
Posted by tomi on Mon, 08 Mar 2010 07:58:42 GMT
View Forum Message <> Reply to Message
Skrypt wyglÄ…da tak
Cytuj:#!/usr/bin/perl
print "asdsd";
A wyświetla w konsoli napis
asdsd
Subject: Odp: Wykonywanie programów napisanych w języku C po stronie
Apacha
Posted by tomi on Sat, 25 Dec 2010 20:12:08 GMT
View Forum Message <> Reply to Message
Mam skrypt w cgi w katalogu /var/www/cgi-bin i mam plik configuracyjny apache skonfigurowany
AddHandler cgi-script .cgi .pl
<Directory "/var/www/*/cgi-bin">
Options +ExecCGI
</Directory>.
DirectoryIndex index.html index.htm index.cgi index.pl
a wyświetla mi się taki komunikat
Not Found
Page 4 of 5 ---- Generated from
Linuksowe by FUDforum 2.8.1
Linuksowo.pl - Linux forum - Polskie Forum
The requested URL /cgi-bin/test2.cgi was not found on this server.
dodam że dodawałem uprawneinia do pliku typu chmod 777 chmod a+x
Page 5 of 5 ---- Generated from
Linuksowe by FUDforum 2.8.1
Linuksowo.pl - Linux forum - Polskie Forum

Podobne dokumenty