OSX, Failed to listen on 0.0.0.0:80 (reason: Permission denied)

19,861

Ports below 1024 are privileged, and cannot be bound to by anyone other than root. Since you can't run your IDE as root, I would set up an Nginx proxy going from port 80 to port 8080, should be easy to do, there are many tutorials =D

Share:
19,861

Related videos on Youtube

Justin
Author by

Justin

Updated on September 18, 2022

Comments

  • Justin
    Justin over 1 year

    I'm on OSX Mavericks. I installed PHP 5.5 from http://php-osx.liip.ch/. When I go to localhost in a browser I get a page that says, "It Works!" which is not a page I created so I am not sure where it is located. Is this from the PHP install or just Apache?

    When I open my IDE (PHPStorm) and run the website, it works if I use a port like 8080. If I set the port to 80, it fails and the IDE says:

    /usr/local/php5/bin/php -S 0.0.0.0:80 -t /mywebsitepath/ 
    
    Failed to listen on 0.0.0.0:80 (reason: Permission denied)
    

    When I searched for that specific error, all I found was help for NGINX, but I am using Apache. What do I need to change to be able to run my code locally on port 80?

    I want to do this so I can use localhost instead of localhost:8080.

  • Yarek T
    Yarek T over 10 years
    Or an Apache proxy, if you are more familiar with that. Nginx rocks though. Oh and since you have OSX's Apache running on port 80, you'll have to stop it (or use it as a proxy)
  • James T Snell
    James T Snell over 10 years
    He could probably run his IDE as root.. ''sudo open /Applications/PHPStorm'' - though I'm not sure if that IDE uses Workspaces in a way that he can point it at the project.. For dev/testing, running on a port above 1024 would seem like a bit less effort than an nginx reverse proxy, though they are fairly easy to establish.
  • Justin
    Justin over 10 years
    If OSX's Apache is running on port 80 and I cannot use it from my IDE, is there any point in it running? Would it make sense to turn it off? Is that possible?
  • user1984103
    user1984103 over 10 years
    @Justin Unless you have something that is specifically required to be port 80 even in development, I would just use port 8080. It creates the least amount of headaches/work and security holes.
  • Justin
    Justin over 10 years
    Thanks. While I was able to get Apache stopped so localhost address was freed up (no more "It works!" page), I still could not run my IDE on port 80 for the reason you describe in your answer. I'll just deal with the ugly URL for dev.