Search code examples
macosapachemacos-sierra

Fixing Apache for MacOS Sierra: Reset apachectl


Due to my own idiocracy I have managed to run two versions of Apache on my Mac OS. Since a late update to Sierra my webserver has fallen into decay. I feel it is only a matter of time, until the whole environment breaks down and the OS is doomed for reincarnation.

For now I have managed to get my system side Apache running. However I have found that my "apachectl" command has been replaced with the brew version of apache. Since I am not strong with cmd line I want to ask how I can revert this? For now I am starting system side apache with "/usr/sbin/apachectl start".

If anyone could give me some advice how to keep the two versions from colliding, I would be more than grateful: keep brew apache from autoloading, check for which httpd processes are running and where they are rooted, put brew apache in a dumpster in the middle of the night etc.

I also have brew versions of php installed but I dare not to uninstall due to dependencies... any advide here would be appreciated as well.

IF ANY NEWCOMER READS THIS THREAD: Since I updated my Mac OS to the new Sierra my whole Apache configurations have gone mad. Unfortunately I have followed a very, very bad tutorial a few updates ago (https://www.getgrav.org/blog/macos-sierra-apache-multiple-php-versions) to configure my web development environment. I RECOMMEND EVERYONE TO AVOID THIS TUTORIAL! The blogger writes that his tutorial is only for advanced developers, however the tutorial itself is a total mess: there are no hints for any backup files and the configurations are all in bad style... I would advise anyone to double check on custom configurations in apache and always backup every file you change! For me it is too late and I feel only a hard reset of the system will suffice. Dark days on the horizon...


Solution

  • When you upgraded to the new OS, it does change your default apache config. The good thing is it does save a copy and renames it to httpd.conf~previous also creates a folder under etc/apache2/original for the previous default version. Just copy them back over and you're good to go.

    Also you can throw homebrew in the dumpster using their own script

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
    

    Hope that helps.