Så här ser det ut i min httpd.conf.
När jag försöker köra exempel script från apaches sida så blir det internal server error kör scripten i från skalet så funkar det alldeles utmärkt. Vad kan tänkas vara fel??
Addhandler har inte direkt med cgi-bin-mappen att göra, utan anger vilka filändelser som ska exekveras som skript.
I cgi-bin-mappen kommer filerna automatiskt att exekveras.
Om koden skrivs ut så innebär det att cgi-bin-mappen du använder inte är "rätt" mapp att exekvera i.
Har du flera olika användare som ska använda servern?
Annars kan du först testa att få igång default-mappen för cgi-skripten.
Sök reda på raden ScriptAlias /cgi-bin/ och se till att den innehåller sökvägen till den mapp du vill exekvera filerna i.
T.ex ScriptAlias /cgi-bin/ "/www/cgi-bin/"
Strax nedanför så ska samma sökväg finnas i raden
<Directory "/www/cgi-bin">
Vill du att cgi-filer ska kunna exekveras oavsett var man lägger dom, så anger du detta i raden
AddHandler cgi-script .cgi
Någonstans angav du din dokumentrot (exempelvis DocumentRoot "/www/html") och nedanför finns den även angiven i <Directory "/www/html">
Före sluttaggen </Directory> lägger du till ExecCGI i raden Options.
T.ex Options Indexes FollowSymLinks MultiViews ExecCGI
Får summera lite nu
Att du fick ett internal error berodde antagligen på att du hade Addhandler cgi-script .cgi men att något annat inte stämde. När du tog bort Addhandler cgi-script cgi så visas koden.
Då bör det vara så att du inte angivit något alias för den cgi-bin-mapp du försökte exekvera skriptet i.
Eftersom du vill att varje användare ska använda en egen cgi-bin-mapp och hålla sig till den, så bör du inte använda funktionen Addhandler.
Nu har jag knaper erfarenhet av flera användares cgi-bin-mappar men det verkar rimligt att var och en deklareras i en ScriptAlias.
Syntaxen är:
ScriptAlias [/alias/] [fullständig sökväg/]
Exempelvis ScriptAlias /cgi-bin/ "/home/username/public_html/cgi-bin/"
Detta exemplet ska ge användarna rätt att exekvera filer med ändelsen .cgi och .pl i sin cgi-bin-mapp.
Observera att användarnamnen i båda exemplen måste vara i gemener och inga siffror. I annat fall får man ange det i villkoret.
(sökvägarna får du såklart ändra efter din server)
Jag har nu testat ett antal varianter av det du har tipsat om här och av andra ställen på internet. Och börjar misstänka att det är något annat som är fel. Har du nån aning om var man kan börja leta efter fel??