Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apache gives Access denied on macOS Catalina

I have Apache webserver (the one supplied by Apple) running on my Macbook and it ran flawlessly, until I upgraded to Catalina 10.15. I used the same httpd.conf, but now it is displaying

You don't have permission to access this resource.Server unable to read htaccess file, denying access to be safe

I thought is was folder access by Catalina, but I don't know how to let Apache access the web root folder (which is inside my /Users/me/Documents folder)as Apache is not a normal /Application.

Port 80 is open when I check with lsof -nP -i4TCP:80 | grep LISTEN op nmap, so Apache does start.

I set a simple index.html in the root folder, but the problem persists. And when I remove the .htaccess from the Apache root folder I get:

You don't have permission to access this resource.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

What can be the problem here ?

like image 975
php and js Avatar asked Oct 18 '19 17:10

php and js


2 Answers

I have found the solution, myself.

It is a Catalina issue:

  1. Go to System Preferences => Security & Privacy => Full Disk Access
  2. Click on the "+" button to add an app and go to the root folder of the disk and press Cmd + Shift + .(dot)
  3. Go to /usr/sbin/ and select httpd.

That worked for me.

like image 194
php and js Avatar answered Nov 14 '22 09:11

php and js


i had the same error, the problem in my case was that macOS Catalina comes with the php module disable by default, in the error log apear as:

tail /private/var/log/apache2/error_log

[Wed Feb 26 18:10:57.123036 2020] [autoindex:error] [pid 3145] [client 127.0.0.1:53734] AH01276: Cannot serve directory /Library/WebServer/Documents/subdir/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive

the apache server was loking for index.html instead of index.php so it was blocking the list directory, I uncommented the line #LoadModule php7_module libexec/apache2/libphp7.so in /etc/apache2/httpd.conf and restart the apache server

sudo apachectl restart

and it just work. hope it helps.

like image 32
bobvivanco Avatar answered Nov 14 '22 09:11

bobvivanco