How do I find out how macPorts stole my port:80?

10,936

Solution 1

From what you describe about launchd errors and /private/etc/apache2/httpd.conf, it sounds like the copy of Apache installed with the base OS got turned on. Check System Preferences -> Services -> Web Service, and turn it off if needed. If it's not turned on there, try:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

...and if that doesn't work, take a look in /Library/LaunchDaemons to see if something else has been installed that's launching the system copy of Apache (/usr/sbin/httpd).

Solution 2

On Max OS 10.1, Mountain Lion, turning off apache fixed this problem for me.

sudo apachectl stop

Solution 3

OS X had inbuilt apache webserver installed, which is located on /etc/apache2. The message ""It Works!" is displayed when somehow the apache webserver is started. Below are the process to stop/ start it.

sudo apachectl stop
sudo apachectl start

sudo is needed as webserver access port 80.

Solution 4

The MongoDB port doesn't install anything that would require or use port 80. Nor does any of its dependencies. Furthermore, the only way a MacPorts port could grab port 80 on startup is if it installed a launch daemon, but MacPorts doesn't activate any launch daemons on its own (you have to do that manually).

However, you can find out what program is listening on a particular port by executing

$ lsof -i :<port>

For example,

$ lsof -i :80

will show you the program listening on port 80. That should narrow down what is grabbing the port.

Solution 5

Make sure your httpd.conf files are correct. This means: No more then 1 'Listen 80'. If you have Listen 80 (or whatever port) more then once, this will trigger the binding error.

I hope this is useful to you :)

Share:
10,936
user446699
Author by

user446699

Updated on June 11, 2022

Comments

  • user446699
    user446699 almost 2 years

    I had MAMP installed (and working fine) then I tried to install mongoDB through macPorts. macports then began installing a bunch of dependencies. after that, http://localhost started giving an "It Works!" screen. after rebooting to see if it might fix it, I found that I could not start my MAMP server. console said this:

    9/13/10 1:20:54 PM  [0x0-0x12012].de.appsolute.MAMP[133]    (48)Address already in use: make_sock: could not bind to address [::]:80
    

    I know that macPorts did something stupid to mess with me. how can I find out what it installed thats stealing port:80?

    here's some command I've tried: (:80 didn't work, so I just used 80)

    $ sudo netstat -an | grep 80 
    Password:
    tcp46      0      0  *.80                   *.*                    LISTEN
    udp6       0      0  fe80::21e:52ff:f.123   *.*                    
    udp6       0      0  fe80::1%lo0.123        *.*   
    

    and:

    $ lsof -i :80
    COMMAND   PID        USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
    firefox-b 451 biting_duck   39u  IPv4 0x0ab806b0      0t0  TCP 192.168.0.198:49515->stackoverflow.com:http (ESTABLISHED)
    firefox-b 451 biting_duck   40u  IPv4 0x0ab87ec8      0t0  TCP 192.168.0.198:49517->sstatic.net:http (ESTABLISHED)
    firefox-b 451 biting_duck   41u  IPv4 0x0ab88aec      0t0  TCP 192.168.0.198:49516->pz-in-f95.1e100.net:http (ESTABLISHED)
    firefox-b 451 biting_duck   42u  IPv4 0x0ab97334      0t0  TCP 192.168.0.198:49518->sstatic.net:http (ESTABLISHED)
    firefox-b 451 biting_duck   47u  IPv4 0x0ab87abc      0t0  TCP 192.168.0.198:49519->sstatic.net:http (ESTABLISHED)
    firefox-b 451 biting_duck   48u  IPv4 0x0ab886e0      0t0  TCP 192.168.0.198:49520->sstatic.net:http (ESTABLISHED)
    firefox-b 451 biting_duck   50u  IPv4 0x0ab89b1c      0t0  TCP 192.168.0.198:49521->sstatic.net:http (ESTABLISHED)
    firefox-b 451 biting_duck   51u  IPv4 0x0ab86680      0t0  TCP 192.168.0.198:49522->peak-colo-196-216.peak.org:http (ESTABLISHED)
    firefox-b 451 biting_duck   54u  IPv4 0x0ab81ef8      0t0  TCP 192.168.0.198:49523->gravatar.com:http (ESTABLISHED)
    firefox-b 451 biting_duck   55u  IPv4 0x0ab82710      0t0  TCP 192.168.0.198:49524->gravatar.com:http (ESTABLISHED)
    firefox-b 451 biting_duck   56u  IPv4 0x0ab8a334      0t0  TCP 192.168.0.198:49526->64.34.80.176:http (ESTABLISHED)
    firefox-b 451 biting_duck   57u  IPv4 0x0ab812d4      0t0  TCP 192.168.0.198:49525->pv-in-f101.1e100.net:http (ESTABLISHED)
    
  • user446699
    user446699 over 13 years
    no dice. it just shows firefox, which I'm using to try and figure this out. :( I appended the code to my main question because the comment doesn't support code blocks
  • Gordon Davisson
    Gordon Davisson over 13 years
    You need to sudo or lsof only shows files opened by your processes.
  • user446699
    user446699 over 13 years
    You are 100% right! Something must have turned that on (I know I didn't). I feel so dumb now running around in circles only to find out it was that stupid checkbox in the System Preferences. Gordon Davisson, You Rock the kasbah!
  • Daniel Flippance
    Daniel Flippance over 10 years
    Thanks @Gordon Davisson, "It works" was puzzling me - you saved the day!