For ages my Apache web server wound not work properly.
Details:
I spent a while configuring and installing web applications. Like I’ve done on
several other machines.
It was all working at this time. Then I decided to use variables rather than
hard-coded values.
Check:
When problems first arrived, I ran “apachectl -t”, to test the syntax - it said
Syntax OK. However each page that tried to visit (on my local machine)
returned 403 Forbidden.
Due to other projects I ignored this and decided to fix it later. (This also
gave me space in the logs - so I could distinguish this issue.)
The logs just said the "client denied by server configuration: ” then said my
document root. This is quite general, but it indicated the problem was
document root. So I looked for a .htaccess file - was none, so I created an
empty one - no difference.
Using trial and error, I swapped each variable with hard-coded values
(reloading Apache, and testing each time).
Fixed:
Finally it worked after changing the “<Directory “ for my document root.
Quickly I examined it - looked OK. Upon close examination, I had $(…} instead
of ${…}. A fine look revealed a parenthesis ( was used by mistake instead of a
curly-brace {.
Yet apachectl -t said Syntax OK, the typo wasn’t picked-up.