Skript
CGI Skript
CGI -skript är körbara skript skrivna i t.ex. perl eller shellskript. Förstnämnda ger ändelsen
.pl och sistnämnda
.cgi. Alla CGI -skript skall normalt placeras i katalogen
cgi-bin. Om det är skript som ligger på en annan domän än huvuddomänen, då skall skriptet ligga i
cgi-bin för domänen ifråga.
Du anropar ditt skript såhär
För din huvuddomän, https://dindoman.com/cgi-bin/script.cgi
För en subdomän, https://subdoman.dindoman.com/cgi-bin/script.cgi
Fullständigt filnamn
Väg till din cgi-bin: /home/username/domains/doman.com/public_html/cgi-bin
Väg till din cgi-bin för subdomän: /home/username/domains/doman.com/public_html/subdoman/cgi-bin
Filrättigheter
För att CGI-skript skall fungera, så måste filrättigheterna vara korrekt, dvs skriptet måste vara körbart (exekverbart). Om CGI -skriptet i sin tur använder någon datafil att läsa och skriva i, då måste filrättigheterna för denna fil också vara korrekta. En datafil ska inte vara körbar, men däremot läs och skrivbar.
Såhär ändrar du filrättigheten för en fil. Du markerar filen och väljer
set permissions.
Du får då upp en enkel matris i vilken du kan
klicka i filens rättigheter. Observera att om du inte vet vad du gör, så bör du hålla dig borta från detta och läsa på lite mer först. Ändra inte filrättigheterna helt random, för det kommer troligtvis sluta dåligt. Dina sidor slutar fungera helt eller delvis.
Experimentera och lär dig
Detta ger alltså filrättighetskoden:
Några vanliga filrättigheter är t.ex.
755 Typiskt för körbara CGI. Filen kan läsas och köras av alla
644 Läsbar för alla, redigerbar av ägaren, t.ex. html-filer
666 Läsbar och redigerbar för alla
777 Filen läs & skrivbar och körbar av alla (skall i princip inte användas)
Köra CGI utanför cgi-bin
I vissa fall kan man önska att ett CGI -skript körs
utanför cgi-bin. För att göra detta möjligt så måste du skapa en fil som heter
.htaccess (om den inte redan finns). Skapa filen
.htaccess och lägg den i
mappen
public_html, där de filer som du vill ska vara körbara ligger.
Denna fil
.htaccess skall sedan innehålla följande:
Om dina cgi-skript råkar sluta på ändelsen
.cgi så skriver du istället såhär:
AddHandler cgi-script .cgi .pl
Options +ExecCGI
Använd CGI med stor försiktighet, i synnerhet CGI som görs körsbara utanför cgi-bin.