Portál AbcLinuxu, 5. května 2025 21:20

Dotaz: Perl a Apache

27.7.2006 00:20 Sirius2 | skóre: 2
Perl a Apache
Přečteno: 380×
Odpovědět | Admin
Ahoj, nevi nekdo jak pod Apachem rozjet skripty Perlu? Apache funguje, Perl taky, ale dohromady to moc nejde. Pouzivam Debian. To ze Apache funguje mylim tak, ze na nem jede statickej web a nic vic. Perl funguje tak, ze skript muzu spustit "normalne", tedy: #/etc/neco/skrip.txt

Predem diky za odpovedi.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.7.2006 01:57 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Perl a Apache
Odpovědět | | Sbalit | Link | Blokovat | Admin
Potřebujete mod_perl. Pokud máte Apache 2, pak je to myslím balíček libapache2-mod-perl2, dokumentace: libapache2-mod-perl2-doc nebo zde.
27.7.2006 04:31 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Perl a Apache
a nestaci nahodou jenom podpora cgi skriptu (tedy cd /etc/apache2/mods-enabled; ln -s ../mods-available/cgi* .) a pak v prislusnem adresari povolit ExecCGI ?
Urine should only be green if you're Mr. Spock.
27.7.2006 13:12 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Perl a Apache
Taky možnost.
27.7.2006 16:35 Sirius2 | skóre: 2
Rozbalit Rozbalit vše Re: Perl a Apache
ln -s kvuli vytvoreni odkazu? To uz tam mam defaultne. Spousteni skriptu v danem adresari mam asi nasledovne:

Directory /var/www/xxx> Options Indexes ExecCGI AddHandler cgi-script .cgi /Directory>

Skript, ktery se pokousim spustit ma samozrejme priponu cgi. Pri spousteni mi Apache oznami: Internal Server Error

Prava jsou samozrejme nastavena na spousteni.
27.7.2006 16:45 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Perl a Apache
v error logu apache je dovod. Casto to byva pozabudnutie, ze cgi musi vratit kompletny http response.
27.7.2006 18:29 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Perl a Apache
Super, takže vám to jede. Jestli pouštíte skript, co jste psal do téhle diskuse, tak se nedivte, že to háže 500 Internal Server Error. Zkuste tenhle:
#!/usr/bin/perl
print "Content-type: text/html\r\n\r\n";
print "Příště si o tom něco zkusím přečíst v dokumentaci,  než se budu ptát na triviální věci...";
27.7.2006 07:44 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
Rozbalit Rozbalit vše Re: Perl a Apache
Odpovědět | | Sbalit | Link | Blokovat | Admin
apache bývá většinou nastaven tak, že skripty jsou spouštět pouze z adresáře cgi-bin - tam ten skript musí ležet a musí na něm být nastavena práva na spouštění. v debianu je to v /usr/lib/cgi-bin. přidávání dalších adresářů - viz dokumentace
27.7.2006 10:33 Sirius2 | skóre: 2
Rozbalit Rozbalit vše Re: Perl a Apache
Dalsi hloupej dotaz: Jak ho pak prez webovi rozhrani spustim? Staci jenom napsat cestu k nemu? To by se mi ale otevrel jako textak. Takze mam zakazat prava na cteni a dat mu prava jenom na spousteni? Nebo to co rikam je absolutni blbost? Moje predstava ja nasledujici: Potrebuju si napsat nakej sktript, kterej bych moh jedinym stiskem tlacitka na webu spustit. Skript by pak naslede treba prepsal firewall ci neco jinyho dle me potreby.
27.7.2006 10:35 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Perl a Apache
Ne, apache ví, že to má spustit (má to v konfiguraci), ten soubor musí mít práva r-x pro toho uživatele, pod kterým apache běží...
27.7.2006 10:38 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Perl a Apache
teda "má to v konfiguraci" ... vy mu to tam musíte napsat, co se má spouštět (direktivy "Option ExecCGI", "AddHandler ..." apod.) :-)
27.7.2006 10:47 Sirius2 | skóre: 2
Rozbalit Rozbalit vše Re: Perl a Apache
Chapu doufam dobre prava jako r-read x-execute? Apache jsem nainstaloval nasledujicim zpusobem: apt-get install apache2. Potom jsem zadny configi nemenil. Mam takovejdle skript:

#!/usr/bin/perl print "Hello world \n"; for($i=0;$i<10;$i++) { printf ("Hello world \n"); }

Jenze misto toho, aby se vykonal, tak se mi otevre. Spoustim ho nasledovne: http://nakaadresa/mojeskrypty/skrypt

Nebo mi neco podstatnyho uniklo?
27.7.2006 10:59 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Perl a Apache
co je v tom skriptu není důležité (když to bude blbě - a to ten váš skript je, dostanete 500 Internal server error :-) ). podstatná je konfigurace apache. ten evidentně nepozná, že se jedná o skript a že ho má spustit, proto vám ho nabídne ke stažení. otevřete konfigurák apache a hledejte "cgi", nějaký příklad tam určitě bude. jinak pořád je tu manuál apache, tak se začněte trochu snažit.
27.7.2006 10:48 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Perl a Apache
Treba mat nakonfigurovany handler pre ten subor. Bezne byva apache nakonfigurovany na priponu .cgi
27.7.2006 10:57 Sirius2 | skóre: 2
Rozbalit Rozbalit vše Re: Perl a Apache
No tak priponu na .cgi opravdu zmenit nestacilo. Musi to teda bejt v nakym specialnim adresari? Jak ho spravne spustit? Nevi nekdo o nakym hezkym examplu?
27.7.2006 11:35 gooff
Rozbalit Rozbalit vše Re: Perl a Apache
27.7.2006 12:11 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Perl a Apache
<Directory /home/aaa/public_html/bbb>
  Options Indexes ExecCGI
</Directory>
a toto pre kazdy adresar, kde sa nachadza cgi-cko

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.