Apache config resetting after every OS update

This is infuriating. I have a lot of custom settings on my development Mac and every time there is an OS upgrade I have to go back and reset everything.

I read somewhere that the old config is saved in httpd.conf~previous, but that file doesn't contain my changes either. It seems to be more or less the same as the new one.

Questions

Why does this happen on every Mac update?

What can I do to avoid this? Should I install a second copy of apache with brew? and if I do that, is it reasonably possible to disable the built-in MAMP?

All solutions are greatly appreciated.


Solution 1:

Yes, this is a general PITA. Why Apple feels it needs to blow away your httpd.conf settings (not to mention any others) is beyond me. Especially since they stopped supporting Apache "out of the box".

The good news is they don't actually "blow them away" and there is an EASY way to see what files are changed on update AND GET THEM BACK:

/Users/Shared/Relocated Items/[All your files Apple deems worthy of fight you over] <= It retains the Native structure, so you can immediately spot what you need to change. No guesswork. If you miss an update there is ALSO /Users/Shared/Previously Relocated Items xxx/ xxx in the above is a number which represents every update. Mine is up to 13

In my case it's not just httpd.conf, but also ../extra/httpd-userdir.conf, etc.

I'm sure you can script a fix, but it would require a bit of logic. I just eyeball them after an update take a minute to rename (or mv, etc.)