Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm running django's simple HTTP server (using python manage.py runserver). It's currently running on port 8000.

How can I open a port on my macbook and allow network traffic to visit my host on port 8000?

share|improve this question
    
If it's running on port 8000, the port is already open. What are you asking? Perhaps you'll need an exclusion in your firewall for that port, but it's not clear from your question. – user3463 Apr 28 '12 at 0:20
    
The port is open to me locally, but is most likely being blocked by my computer's firewall. I need to open it. – n0pe Apr 28 '12 at 0:25
up vote 4 down vote accepted

System Preferences > Security & Privacy > Firewall > Advanced.

Add a new entry with the +. Since you're running an executable, you can search for python, or you could add an entry using the port via command-line and ipfw.

More info here: http://serverfault.com/a/105736/3914

share|improve this answer
python manage.py runserver

The above command will permit access by localhost only. If you want to permit access by other network devices you must serve on 0.0.0.0:

python manage.py runserver 0.0.0.0:8000

For those running from PyCharm, you set the Host field to 0.0.0.0 in the Run Configuration.

Once I did this, I got the OS X firewall popup asking: Do you want the application “Python.app” to accept incoming network connections.

Then you can access via mac-name.local:8000 or via the Mac's ip address.

Incidentally, I'm running Python 3.4, built and installed by MacPorts on OS X El Capitan 10.11.2.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.