I have a local Apache2 server (installed with LAMP). The Apache2 directory is
/etc/apache2 and my document root is
/var/www. Under the doc root, there's a
/cgi-bin directory, in which my script
cgi.pyis. Executing with
./cgi.py gives the desired output, but when I point my web browser to the file it offers me to download it. Apparently this is often due to an access problem, but after adding
a+x permissions to the file the problem remains.
Here's the simple script:
#!/usr/bin/python3 # -*- coding: UTF-8 -*- #enable debugging import cgitb cgitb.enable() print("Content-Type: text/plain;charset=utf-8"); print() print("Hello World!");
In the apache2 directory's
httpd.conf I've added the follow (it was empty prior to it):
ScriptAlias /cgi-bin/ /var/www/cgi-bin/ <Directory /var/www/cgi-bin/> Options ExecCGI AddHandler cgi-script .cgi .py </Directory>
What could be the reason the script won't execute?
EDIT: Rookie mistake, I didn't restart the server after making changes to
httpd.conf. After doing that the script executed. Thanks to Jenny D for suggesting it.