[Mongrel] OSX requires sudo for using ports < 1024

Philip Hallstrom mongrel at philip.pjkh.com
Thu Nov 16 16:25:16 EST 2006


> I assume some of you have run into this error before when trying to run
> mongrel on port 80 (or another port < 1024) in OSX:
>
> $ mongrel_rails start -p 80
> ** Starting Mongrel listening at 0.0.0.0:80
> /usr/local/lib/ruby/gems/1.8/gems/mongrel-0.3.14/lib/mongrel/tcphack.rb:12:in
> `initialize_without_backlog': Permission denied - bind(2) (Errno::EACCES)
>       from 
> /usr/local/lib/ruby/gems/1.8/gems/mongrel-0.3.14/lib/mongrel/tcphack.rb:12:in
> `initialize'
>       from 
> /usr/local/lib/ruby/gems/1.8/gems/mongrel-0.3.14/lib/mongrel.rb:536:in
> `initialize'
>       from 
> /usr/local/lib/ruby/gems/1.8/gems/mongrel-0.3.14/lib/mongrel/configurator.rb:128:in
> `listener'
>       from 
> /usr/local/lib/ruby/gems/1.8/gems/mongrel-0.3.14/bin/mongrel_rails:96:in
> `cloaker_'
>       from 
> /usr/local/lib/ruby/gems/1.8/gems/mongrel-0.3.14/lib/mongrel/configurator.rb:51:in
> `initialize'
>       from 
> /usr/local/lib/ruby/gems/1.8/gems/mongrel-0.3.14/bin/mongrel_rails:83:in
> `run'
>       from 
> /usr/local/lib/ruby/gems/1.8/gems/mongrel-0.3.14/lib/mongrel/command.rb:211:in
> `run'
>       from /usr/local/lib/ruby/gems/1.8/gems/mongrel-0.3.14
> /bin/mongrel_rails:235
>       from /usr/local/bin/mongrel_rails:18
>
> Mongrel runs without sudo on all other ports > 1024 otherwise. Anyone have
> the reason that these ports require sudo?

This is the way it is on all unixes...  ports under 1024 tend to be "well 
known".  25 for smtp, 80 for http.  So the OS won't let you use that port 
unless you are root so that joe-random-user can't start up some subversive 
web server on that port...

-philip


More information about the Mongrel-users mailing list