Webserver CGI script – Python

cgi icon

python logo

De uitleg op deze pagina beschrijft hoe je een extern programma zoals python kan gebruiken als compiler bij een webserver via de cgi-bin.

Wat heb je nodig?
1) Python (windows)

Download & Installatie
Download het MSI (Win32 X86) bestand en installeer Python.

python installatie 01

python installatie 02

python installatie 03

python installatie 04

Configuratie van Python voor Apache

Om python te gebruiken en de “cgi-bin” folder te activeren moet je het configuratiebestand voor apache openen [ApacheFolder]\conf\httpd.conf.

CGI script folder:
Kijk of de cgi-bin folder goed staat ingesteld, meestal is dit de cgi-bin folder in de Apache folder:

ScriptAlias /cgi-bin/ "[ApacheFolder]/cgi-bin/"

De regel zorgt er voor dat als scripts uit de cgi-bin folder aangeroepen worden via de browser naar de juiste locatie verwijzen, bijvoorbeeld:
http://www.mijnwebsite.com/website/index.html, verwijst naar C:\WWW\website\index.html
http://www.mijnwebsite.com/cgi-bin/hallo.py, verwijst naar [ApacheFolder]\cgi-bin\hallo.py

CGI scripts verwerken:
Zoek het volgende stuk op, en voeg de dik gedrukte tekst toe:

Hiermee geef je aan Apache aan dat er scripts uitgevoerd moeten worden in deze folder.

Optioneel: wil je ook CGI script uitvoeren in je webfolder (of andere delen van je webstructuur), voeg dan de dikgedrukte regel toe in de “directory” van je hoofdfolder (staat meestal onder “documentroot”)

CGI bestandextensies (optioneel):
Als je CGI scripts wil laten uitvoeren wanneer je een opgevraagd, kun je index.cgi toevoegen aan “DirectoryIndex”:

CGI Handler:
De bestandextensie van Pythont is: .py

Ps: opzich maakt de bestand extensie voor Apache niet heel veel uit omdat het programma dat gestart moet worden IN het script staat, welke door Apache uitgelezen wordt!

Zoek het volgende op:

1) Haal het hekje “#” er voor weg, zodat de regel geactiveerd word.
2) Vul de regel aan met de extensie van Python: .py .pyw

Sla het bestand op en herstart Apache, vanaf nu kun je python scripts uitvoeren!


Testen van Python

Om python te testen maak je een bestand aan: [ApacheFolder]\cgi-bin\hallo.py met de volgende inhoud (python script):

Als je nu via een internet browser naar je website cgi-bin folder gaat, bijvoorbeeld http://www.mijnwebsite.com/cgi-bin/hallo.py, dan is dit het resultaat en python werkt dan goed:

Werkt je script niet?, kijk dan in de Apache logs wat de foutmelding is en google deze!

Uitleg CGI scripts algemeen (belangrijk):
In de 1e regel moet je beginnen met een she-bang –> “!#” gevolgd door de locatie en het uitvoerbaar bestand van het externe programma, zodat Apache dit script kan uitvoeren met het juiste programma.
De 2e Regel is bedoeld voor commentaar bij het script (begin met #), geen commentaar, dan laat deze regel LEEG!
Vanaf de 3e regel mag je programmeren!