Avatar billede donslund Nybegynder
13. marts 2007 - 08:54 Der er 7 kommentarer og
1 løsning

Perl, Apache og AWstats

Jeg har Apache installeret og har hentet både activePerl 5.8 og AW stats. Men jeg kan ikke helt på apache og perl til at arbejde sammen. Burde det ikke være muligt?

Nogle gode How-to's jeg må se?
Avatar billede showsource Seniormester
13. marts 2007 - 09:47 #1
Fra en side jeg engang havde:

For at Apache kan afvikle perl-scripts, skal der gøres nogle få ændringer i httpd.conf.
Så åben din httpd.conf og find Directory blokken for dit DocumentRoot, eksempelvis:

<Directory "C:/Apache/htdocs">
Her skal du tilføje ExecCGI til din Options linie:

Options Indexes FollowSymLinks MultiViews ExecCGI
Find dernæst linien:

#AddHandler cgi-script .cgi
udkommenter den og tilføj .pl :

AddHandler cgi-script .cgi .pl

Genstart Apache, og du er nu klar til at afvikle Perl på Apache!
Men lad det komme an på en tester:
Lav en ny fil med flg. indhold:

#!c:\perl\bin\perl.exe
        print "Content-type: text/html\r\n\r\n";
        print "Hello, World.";

foreach $var (sort(keys(%ENV))) {
    $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    $val =~ s|"|\\"|g;
    print "${var}=\"${val}\"<br>\n";
}

og gem den som f.eks. test.pl i dit cgi-dir.
Den første linie selvfølgelig skal ændres til hvor du har installeret Perl!
Avatar billede donslund Nybegynder
13. marts 2007 - 10:30 #2
Det vil jeg prøve. Jeg vender snart tilbage.
Avatar billede donslund Nybegynder
13. marts 2007 - 18:24 #3
Ja, det har jeg nu gjort, men jeg er lidt blank på hvordan jeg så kalder mit script.
Avatar billede showsource Seniormester
14. marts 2007 - 07:34 #4
Lav en ny fil med flg. indhold:

#!c:\perl\bin\perl.exe
        print "Content-type: text/html\r\n\r\n";
        print "Hello, World.";

foreach $var (sort(keys(%ENV))) {
    $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    $val =~ s|"|\\"|g;
    print "${var}=\"${val}\"<br>\n";
}

og gem den som f.eks. test.pl i dit cgi-dir.
Den første linie selvfølgelig skal ændres til hvor du har installeret Perl!

http://localhost/cgi-bin/test.pl
Avatar billede donslund Nybegynder
14. marts 2007 - 08:24 #5
Jeg spørger nok dumt, men er cgi-bin en mappe der er oprettet af Perl eller skal jeg selv gøre det samme sted som localhost refererer til og i så fald skal Perl vel vide, at her har jeg med pl filer at gøre.
Avatar billede showsource Seniormester
15. marts 2007 - 09:50 #6
Kun svaret kan være dumt, ikke spm.!

Anyway, i det dir hvor apache er installeret, er pr. default et dir, "cgi-bin"
Også pr. default i httpd.conf er der lavet en directory blok for det dir.

Prøv at gemme din test.pl i dir'et, og åben den i din browser.

Perl er installeret på comp'en, den skal ikke ha' noget at vide om cgi-bin dir'et
Avatar billede donslund Nybegynder
21. marts 2007 - 21:18 #7
Jeps, har fået det til at fungere. Tak.

Smid et svar.
Avatar billede showsource Seniormester
22. marts 2007 - 11:34 #8
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester