Python CGI Programming

CGI in long, Common Gateway Interface, is a set of standards, defines how information is exchanged between the web server and a custom script.

CGI Configuration

Before start with CGI programming with python, first make sure that your web server supports CGI and it is configured to the handle CGI programs. All the CGI programs that is to be executed by the HTTP server are kept in a pre-configured directory. And this directory is called as CGI directory and by convention, it is named as /var/www/cgi-bin. CGI files have .cgi extension, but you can use .py extension as well.

By default, the Linux server is configured to run only the scripts in the cgi-bin directory in /var/www. But if you want to specify any directory to run your CGI scripts in python, then comment these lines in the httpd.conf file

<Directory "/var/www/cgi-bin">
   AllowOverride None
   Options ExecCGI
   Order allow,deny
   Allow from all

<Directory "/var/www/cgi-bin">
Options All

My First CGI Program in Python

Here is a simple link, which is linked to the CGI script named The file,, is kept in /var/www/cgi-bin directory and it has the following content:


print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>Hello Word - First CGI Program</title>'
print '</head>'
print '<body>'
print '<h2>Hello Word! This is my first CGI program</h2>'
print '</body>'
print '</html>'

If you click, then it will produce the following output:

Hello Word! This is my first CGI program

Python Online Test

« Previous Tutorial Next Tutorial »