While it is possible to run python as an Apache module, just as PHP is commonly installed, we will running our scripts using the Common Gateway Interface or CGI. CGI represents a specification for running processes outside of the webserver, this allows the webserver to use external applications or scripts. There are very few requirements placed on the script that is run. First, the script must have the correct permissions to be run by the webserver. Second, the first lime output by the script must be the Content-type header. Following this are any additionally HTTP headers, followed by a blank line and then the body of the HTML page. Additionally, the webserver configuration may impose addition restrictions. Such examples may require that files to be run using CGI be in a cgi-bin directory, or restrictions on the file extensions used. In the case of the Computer Science server, you may place your file anywhere in your WWW directory that you like, however, your file must end in a .pl or .cgi extensions. The .pl extension is traditionally used for perl scripting, therefore you should use the .cgi extensions. In order for the web sever to know which interrupter to run your script with, the first line of your script will be the sh-bang line this provides the operating system with the location and name of the interpreter to use. For your scripts you will want this line to be #!/usr/bin/env python. This will start the python interpreter located in the path. (See section 1.5.2 if you would like further information on this.)