Perl telepítése
February 6th, 2008 | Written by Varga Péter | Topic: Apache, php, perl1. Töltsük le a http://www.activestate.com/store/activeperl/download oldalról a Windows (x86) MSI verziót (ActivePerl-5.10.0.1002-MSWin32-x86-283697.msi). Az email címet meg egyebet nem kell megadni (!!!) csak kattints a “Continue” gombra.
2. Indítsuk el a setup progit, és nyomkodjuk bőszen a next-eket! A harmadik panelon van a Location beállítás, amit nagyon fontos, hogy C:\usr -re állítsunk. Így elérhetjük, hogy a linux/unix renszereken megszokott perl elérési útvonalat /usr/bin/perl megtartsuk, ne kelljen átírni scriptjeinket.
3. Az Add Perl to the PATH environment variable legyen bejelölve, mert így a perl futtatható állományait a windows a helyükön is el tudja indítani. A Create Perl file extension association is maradjon.
4.Szerkesszük az Apache httpd.conf konfig filet! Keressük meg az alábbi sort és adjuk hozzá az ExecCGI paramétert! Vhost-ok használata esetén nyilván a vhost-oknál kell megadni.
Options Indexes FollowSymLinks Options Indexes FollowSymLinks ExecCGI
5. Ha szeretnénk, hogy ne csak az apache könyvtár/cgi-bin alatt lehessen futtatni scripteket, a következő sor elől töröljük a #-et.
#AddHandler cgi-script .cgi
A futtatás helyét a Script Alias segítségével adhatjuk meg így (értsd: DOC_ROOT/cgi-bin/):
ScriptAlias /cgi-bin/ "C:/[apache utvonal]/cgi-bin/"
6. Indítsuk újra az Apache-ot! Ha nem indul újra, ellenőrizzük az átírt httpd.conf-ot!
7. Készen is vagyunk! Próbáljuk ki! Készítsünk egy teszt.cgi fájlt a következő tartalommal és mentsük a document_root/cgi-bin/ -be.
#!/usr/bin/perl print "Content-type:text/htmlnn"; print "Sikerült!";
A böngészőnkben próbáljuk ki az elkészített miniszkriptünket’: http://[domain]/cgi-bin/teszt.cgi
Ha a sikerült szöveget olvassuk, működik, ha 500-as hibát kapunk, az apache error logjában tudunk utána nézni a probléma forrásának.



Comment by peet on the February 7th, 2008 at 00:01
UPDATE:
Ha az AddHandler cgi-script .cgi -hez hozzádobjuk a .pl kiterjesztést, akkor a perl scriptek is a cgi-ként lesznek kezelve. Praktikus..
Comment by ggabor on the January 8th, 2009 at 17:05
Szia!
A segítségedet szeretném kérni. Van egy drupal alapú honlapom, amihez szeretnék egy Perl alapú családfa programot rendelni. A szolgáltatóm
- backups
- cgi-bin
- errors
- htdocs
- logs
- phptmp
struktúrát adott, ahol természetesen a htdocs a gyökérkönyvtáram.
A családfaprogramot a htdocs/csaladfa/ könyvtárban helyeztem el. Az ftree.cgi így a 0:/htdocs/csaladfa/cgi/ könyvtárban található.
A http://sajatdomain.hu/csaladfa/cgi/ftree.cgi -re 403-as hibaüzenetet ad: Forbidden!
Hogyan tudnám beállítani úgy , hogy működjön?
A Perl alapú program telepítésénél azt írja:
1.Tömörítsük ki és töltsük fel a webszolgáltatóhoz a fájlokat (a könyvtárhierarchiát és a jogosultságokat tartsuk meg).
2.Tetszés szerint módosítsuk a config/PerlSettingsImporter.pm fájlt. Itt állíthatjuk be például a családfa karbatartó email címét, weboldalát és az alapértelmezett nyelvet. Ha a családfa adatait adatbázisban tároljuk, akkor az adatbázis elérhetőségeit is itt kell megadni.
Nagyon megköszönném ha segítenél!
ggabor
Comment by Varga Péter on the January 8th, 2009 at 17:17
Feltelepítetted a perlt? Apache configban be van állítva ami kell? Működik más programmal?
Próbáld ki a teszt.cgi-s mókát ami a tutorialom végén van.
Comment by ggabor on the January 8th, 2009 at 17:34
Külön nem telepítettem perlt, de nem is tudnék, mert nem én üzemeltetem a servert. De mivel a drupal fut rajta, amiben (azt hiszem) vannak perlben írt dolgok is és az fut, úgy hiszem az megy is.
A teszt.cgi-t kipróbáltam, de sem úgy, hogy a cgi-bin könyvtárban helyeztem el, sem úgy, hogy htocs/csaladfa/cgi/teszt.cgi nem működik. Első esetben azt írja: nem találja a filet, a második esetben pedigg 403-as hibaüzenet és Forbidden!
Comment by ggabor on the January 8th, 2009 at 17:46
Megnéztem a szolgáltatómnál, a Hibalapok között a 403-asra azt írja: tiltott. Elképzelhető hogy az a gond, nincs engedélyezve perl script futtatása?
Comment by ggabor on the January 8th, 2009 at 17:53
Csak akkor azt nem értem, miért ad a könyvtárstruktúrában cgi-bin könyvtárat. Ill. ha a htdocs a gyökérkönyvtáram, akkor hogyan tudom elérni a cgi-bin/ könyvtárat?