Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]13087[/thread]

Styleguide zur Skriptausführung

Leser: 3


<< >> 6 Einträge, 1 Seite
BratHering
 2009-02-01 14:24
#118557 #118557
User since
2005-04-28
155 Artikel
BenutzerIn
[default_avatar]
Hallo,

eine Frage zum Ausführen von Perl-Skripten auf einem Apache-Server: Eigentlich ist der CGI-BIN Ordner für CGI- bzw. Perl-Skripten gedacht. Wäre es denn eine Sünde die Ausführung von Perl-Skripten in sämtlichen Verzeichnissen auf einem Web-Server zu erlauben, so wie es bei PHP der Fall ist?

Diese Frage stelle ich mir, da ich sonst keine Idee habe wie eine auf Perl-Basis serverseitig dynamische Homepage zu erstellen ist, ohne die komplette Homepage in den CGI-BIN Ordner zu legen.

Was meint ihr dazu?


Grüße
pktm
 2009-02-01 14:46
#118558 #118558
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Wieso willst du alles in dein cgi-bin legen? Was für Dateien hast du denn? Wie sind deine Projekte aufgebaut?

ich habe z.B. eine Webseite, mit Bildern, HTML-Dokumeten, Templates und einem Skript. Das Skript liegt im cgi-bin/projektordner, die HTML-Dateien in htdocs/projektordner/html, die templates in htdocs/projektordner/templates und die bilder in htdocs/graphics/projektordner.
http://www.intergastro-service.de (mein erstes CMS :) )
scriptor
 2009-02-02 10:30
#118570 #118570
User since
2008-05-07
69 Artikel
BenutzerIn
[Homepage] [default_avatar]
Du kannst mit mod_rewrite die Requests auf Dein zentrales Skript in cgi-bin umleiten. Darin entscheidet zunächst ein "Dispatcher" welche Aktion das Skript für die ursprünglich angeforderte Seite ausgeführt werden soll.
Von aussen kann das dann wie eine statische Site aussehen. (Ich mag keine cgi-bins oder direkten Skriptaufrufe).

Also in der root in der Datei .htaccess die Zeile:

Code: (dl )
RewriteRule	^(.*)$	  /cgi-bin/scriptor/skript.pl/$1?&%{QUERY_STRING}  [L]


In $ENV{'PATH_INFO'} findet das Skript den gefragten Pfad.

Nachtrag: Ich habe die Templates und ein Startskript im cgi-bin der Domain liegen, die Module des CMS liegen im cgi-bin des umgebenden Verzeichnis.
BratHering
 2009-02-02 17:57
#118591 #118591
User since
2005-04-28
155 Artikel
BenutzerIn
[default_avatar]
Das sind echt gute Ideen. Somit wären die Perl-Skripten im cgi-bin vom Rest, wie Bilder, CSS und JavaScripts, im htdocs. Und die ReWriteRule macht alles schön für den User :-)
Hagen
 2009-02-02 19:49
#118592 #118592
User since
2007-09-06
233 Artikel
BenutzerIn
[default_avatar]
Mal so zum Verständnis:

wozu bzw. warum gibt es für denn im Bereich CGI ein eigenes Verzeichnis? PHP-Dateien dürfen überall stehen, warum denn dann nicht auch z.B. Perl-Skripte.
Gruß
Hagen
GwenDragon
 2009-02-02 20:01
#118593 #118593
User since
2005-01-17
14745 Artikel
Admin1
[Homepage]
user image
Hagen+2009-02-02 18:49:31--
wozu bzw. warum gibt es für denn im Bereich CGI ein eigenes Verzeichnis?

/cgi-bin/ ist traditionell das Verzeichnis für alle CGI-Skripte, davon gibt es mehr als nur Perl, auch Shell-Skripte o. ä..

PHP ist überall erlaubt. Das kann bei Perl auch so eingestellt werden.
Hängt eben vom administrierten Server bzw.Provider ab.
<< >> 6 Einträge, 1 Seite



View all threads created 2009-02-01 14:24.