Fix Apache on macOS Catalina

Penned 2 years ago. It will take about 1:14 to read.
It was 71°F in San Diego, CA with clear skies. Miniaturized Circuitry by Zalza was playing.

"Every update, something new to hate."

So if you've updated to macOS Catalina and are now racking your brains and trawling Stack Overflow for a way to make Apache just WORK again, I'm here for you friend. I'm here for you.

After two days of fruitless searching, I stumbled upon a solution, at least for my issues, and I thought I would share them with the internet, as it were.

So, for me, the crux of the problem is that starting in Catalina, every program, and I mean every program, must be given explicit permission to access or interact with the file system, which includes our old friend Apache.

After some digging, I was able to find a workable solution, which is as follows. First, we need to open up System Preferences and select the Security Privacy option (Figure 1).

Figure 1

On the left, you'll see a list of permissions you can grant to a program. We want Full Disk Access. Once you select that you'll be presented with a list of applications that currently have access (Figure 2).

Figure 2

Click the [+] button, then hold down [shift] + [command] + [.] to show hidden files. Now you need to find the httpd daemon and add it. The httpd daemon is located at /usr/sbin/httpd. Simply select httpd and you should be done.

You might need to do a few other things, like make the permissions on all your web files are correct, but this was the big one for me. I hope this helps someone out there!

Further Reading

When in Doubt, Buff it Out.

Thanks for checking out the site, be sure to come back for more.