Configuring the Apache Web Server to Run Python on Windows

Listed below is information on how to configure the Apache web server to run Python programs on Windows machines. For information on installing and configuring Apache for Windows, please see the following:

Installing and Configuring Apache for Windows

For information on configuring Apache to run other programming languages such as Perl, PHP, and Ruby, please see the following links:

PHP for Windows

Perl for Windows

Ruby for Windows

 

1. Install Python

You can get Python from the following: http://python.org/download/. Simply download the Python installer and follow the instructions. Make sure to remember the directory you used to install Python. You will need this information at the top of each of your Python cgi scripts.

 

2. Configure Apache to run Python CGI

The next step is to use EditRocket to open the httpd.conf apache configuration file located in the apache install directory in the conf directory. Search the httpd.conf file for the line

Options Indexes FollowSymLinks

Add ExecCGI to this line. The line should now look similar to the following (NOTE: there may be more options listed):

Options Indexes FollowSymLinks ExecCGI

Next, search for the following:

#AddHandler cgi-script .cgi

Uncomment this line by removing the # in front of the line, and add a .py to the end of the line. The new line should look like this:

AddHandler cgi-script .cgi .py

3. Restart Apache

Now, the apache web server needs to be restarted. You can do this either via the Apache service located in the services control panel or via the Start -> All Programs -> Apache . . . -> Control Apache Server menu option.

4. Run a test Python page

You can use the EditRocket hello world Python sample web page template for a test Python page. This is located in File -> New From Template -> python -> Sample_Web_Page. The following is an example of the template:

#!/usr/bin/python
print "Content-type: text/html"
print
print "<html><head>"
print ""
print "</head><body>"
print "Hello."
print "</body></html>"

Note the line #!/usr/bin/python. This line needs changed to match the location of your Python installation. For example,

#!/Python26/python

Here is an example assuming Python is installed in the C:\Python26 location

#!/Python26/python
print "Content-type: text/html"
print
print "<html><head>"
print ""
print "</head><body>"
print "Hello."
print "</body></html>"

Save this file as test.py to your htdocs folder under your apache installation directory. Open your web browser and type in your apache host (and :port if the port is something other than 80) followed by test.py, for example

http://localhost/test.py