17

Just tried accessing my localhost today, but it doesn't work. I worked yesterday, but I believe it's because my Mac crashed. I've tried started httpd again with brew services start httpd. This results in:

Bootstrap failed: 5: Input/output error Try re-running the command as root for richer errors. Error: Failure while executing; /bin/launchctl bootstrap gui/501 /Users/UserName/Library/LaunchAgents/homebrew.mxcl.httpd.plist exited with 5.

Have tried reinstalling httpd, but it still gives the same error. Any ideas what the cause can be?

badbeat1
  • 231
  • 1
  • 2
  • 9

9 Answers9

47

I had the same problem after I upgraded to macOS Monterey. But I solved my issue via these commands.

Unload homebrew.mxcl.httpd.plist

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.httpd.plist

And then load it again:

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.httpd.plist

After that I used this command to start httpd again.

brew services start httpd
bad_coder
  • 11,289
  • 20
  • 44
  • 72
Sophy
  • 8,845
  • 6
  • 36
  • 30
  • 1
    I was having the same issues with Nginx. I had to do @Dave Myburgh's solution followed by this to get it working (replacing httpd for nginx in file paths, etc). – Vaelin Sep 04 '22 at 09:16
  • This weird! it also fixed "httpd error 256 root" error! thanks. – Ihab Shoully Sep 22 '22 at 00:19
40

Just thought I'd share what worked for me for anyone else still stuck...

It seemed I had a version of apache running which was stopping the brew version. (thought I'd removed the built in apache already!).

This also happened after my Mac crashed and got the exact same error message but I did:

Stop brew httpd service completely

brew services stop httpd   

Stop Mac Apache leftovers

sudo apachectl -k stop

Start brew httpd again

brew services start httpd

Started like a charm and solved my issue.

Fez
  • 401
  • 4
  • 3
  • Thank you, Wasted an hour trying to work out why my local server just stopped working, running sudo apachectl -k stop showed that I had a site configured in my httpd-vhost.conf that I had deleted in my sites folder in my last dev session. Warning: DocumentRoot [/Users/xxxxxx/Sites/xxxxxxxx/public_html] does not exist Deleting that entry, restarting the server and I'm back in business :) – DerekOBrien Dec 17 '22 at 21:17
  • @DerekOBrien Great to hear! Quick tip - you can also use command `sudo apachectl configtest` This will tell you if there's any issues with your current apache config without having to stop apache. Usually good to run this after any config changes or big changes to Sites directory. – Fez Jun 15 '23 at 12:12
  • @Fez thanks for this. httpd successfully starts but is stopped right away on its own. Anyone happens to know why? I got the same issue after a computer crash. – biko Aug 14 '23 at 01:13
9

I had the same problem after any Restart my Macbook. I'm using Macbook Air m1 and Monterey OS version.

I have solved my problem with these 4 command

At first run:

sudo apachectl -k stop

After that run these three command: (note: do not run as sudo)

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.httpd.plist

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.httpd.plist

brew services start httpd

Then you can see run services with command below:

brew services list
Morteza
  • 91
  • 1
  • 2
8

After trying ALL the solutions proposed all over the place, what finally did it for me was changing the owner of the log files in /usr/local/var/log/httpd to my user, instead of root.

sudo chown [username] *

This took me hours to figure out, sadly - I even removed and reinstalled httpd (which was actually a good thing, because there was a n older version's keg knocking around back there).

Dave Myburgh
  • 81
  • 1
  • 2
3

So after trying a lot of things, this seemed to work:

Trying what Volex suggests here (brew services. Cant start service. get "Bootstrap failed: 5: Input/output error") gave me a more precise error message.

The new error message led me to this: apache doesn't work after upgrade of macOs Sierra brew reinstall apr-util fixed the problem.

badbeat1
  • 231
  • 1
  • 2
  • 9
1

for me I got quite same problem once I have tried to start postgresql forgetting that I have already started it, after stopping it and started it again it worked

user@users-MacBook-Pro ~ % brew services start postgresql
Warning: Use postgresql@14 instead of deprecated postgresql
Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/user/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist` exited with 5.
user@users-MacBook-Pro ~ % brew services stop postgresql 
Warning: Use postgresql@14 instead of deprecated postgresql
Stopping `postgresql@14`... (might take a while)
==> Successfully stopped `postgresql@14` (label: homebrew.mxcl.postgresql@14)
user@users-MacBook-Pro ~ % 
user@users-MacBook-Pro ~ % brew services start postgresql
Warning: Use postgresql@14 instead of deprecated postgresql
==> Successfully started `postgresql@14` (label: homebrew.mxcl.postgresql@14)
user@users-MacBook-Pro ~ % 
DINA TAKLIT
  • 7,074
  • 10
  • 69
  • 74
0

In some cases will help restart HTTPD.

brew services restart httpd

It happens to me when the PC crashes for some reason and httpd is running, but localhost is "down". Or you can stop httpd and restart PC. Then start httpd and it's ok.

0

Deleting access_log and error_log in the log directory may help you reproduce the problem as sometimes those files are not writable.

After deleting them, those files will be created by the user and the error will be logged there.

Abdulrahman Hashem
  • 1,481
  • 1
  • 15
  • 20
0

After having tried all the solutions in this post without success, I finally found the solution that worked for me.

I don't know how, I don't why but the owner of the log files was root. The fact is the httpd service does NOT start in sudo... #deadlock.

I just changed the owner of the access_log and error_log files from /usr/local/var/log/httpd :

sudo chown <my_regular_user> access_log
sudo chown <my_regular_user> error_log

re-install httpd with brew :

brew reinstall httpd

execute a automatic-suggested command :

sudo rm -rf /usr/local/Cellar/httpd/2.4.57.reinstall

and finaly restart my httpd service

brew services restart httpd
stephane brun
  • 234
  • 1
  • 10