I’m new to Sysadmin and Apache configuration. Trying to get AWStats running, but in troubleshooting have gotten to trying to run a simple Hello World (html output) script on port 8888 and have been hitting a wall of 403 Forbidden.
It’s not the script:
mikekilmer@glitchbox:/var/www/html$ perl /usr/lib/cgi-bin/hello.pl Content-type: text/html <HTML> <HEAD> <TITLE>Hello, world!</TITLE> </HEAD> <BODY> <H1>Hello, world!</H1> </BODY> </HTML>
Shebang matches path to perl:
These are the main config settings:
<Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
Directory and file permissions are 755 and 644 with ownership being root:root (on the cgi-bin and perl files).
Apache’s html/index.html shows up: http://www.infiniteglitch.net:8888/manual.html/howto/cgi.html
This is what the error log says:
[Sat Jun 06 05:53:24.412867 2015] [authz_core:error] [pid 28374:tid 140381836453632] [client 18.104.22.168:55886] AH01630: client denied by server configuration: /usr/local/apache2
I think maybe I’m missing something with Configuring Apache to permit CGI.
Module 1. Note: If Apache has been built with shared module support you need to ensure that the module is loaded; in your apache2.conf you need to make sure the LoadModule directive has not been commented out. A correctly configured directive may look like this:
LoadModule cgi_module modules/mod_cgi.so
I don’t know if it was built with shared module support. Installed with apt-get. Not finding the line LoadModule in the config file. If I add the above line above line to
apache2.conf, Apache won’t restart.
2. There is one ScriptAlias in the config file, put there by AWStats. Adding this directive
ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ didn’t seem to do anything. I even tried moving my hello (or should i say hellp) script into
/usr/local/apache2/cgi-bin/ still 403.
Explicitly using Options Even tried adding
Options +ExecCGI AddHandler cgi-script .cgi
<Directory /var/www/> directive.
All to no avail. Any ideas for next step?