If you are on linux you can use capabilities.

Install a python virtual env (http://pypi.python.org/pypi/virtualenv) follow
instructions there.

then you can add the needed capability as follow (become root first):

$ su
#  setcap 'cap_net_bind_service+ep' <path-to-your-virtual-python>/python2.6

then you can run web2py using:
 <path-to-your-virtual-python>/python2.6 web2py -p 80 --nogui

I supposed you wanted to use python2.6 but you can do it with any version
supported by web2py


Ciao,
mic

2010/7/11 Graham Dumpleton <[email protected]>

> Use Apache/mod_wsgi instead then to host your WSGI application. That
> or just setup Apache by itself to proxy to your standalone WSGI
> application listening on a different port.
>
> On Jul 11, 1:24 am, Álvaro J. Iradier <[email protected]>
> wrote:
> > Well the problem is non-root users can't use ports < 1024, and I want
> > to use port 80, so when running:
> >
> > ./web2py.py -p 80 --nogui
> > web2py Enterprise Web Framework
> > Created by Massimo Di Pierro, Copyright 2007-2010
> > Version 1.79.2 (2010-06-08 22:45:26)
> > Database drivers available: SQLite3
> > Starting hardcron...
> > choose a password:**
> > please visit:
> >        http://127.0.0.1:80
> > use "kill -SIGTERM 2958" to shutdown the web2py server
> > ERROR:Rocket.Errors.ThreadPool:Socket 127.0.0.1:80 in use by other
> > process and it won't share.
> > CRITICAL:Rocket.Errors.ThreadPool:No interfaces to listen
> > on...closing.
> >
> > -----
> >
> > the error message is bogus because the binding is just failing because
> > of the non-root user. Some web servers allow you to set a "user" in
> > config. You start them as root, and after the port binding the server
> > setuids to another user.
> >
> > I can't seem to find this option in web2py / rocket server, but it
> > would be useful. Or is there other way I'm missing to achieve this?
> >
> > Thanks very much.
> >
> > On 9 jul, 02:03, mdipierro <[email protected]> wrote:
> >
> >
> >
> > > You NEVER run it as root user. You can run web2py as any user. You
> > > should run it as the user with the lowest permissions.
> >
> > > What problem do you experience?
> >
> > > On 8 Lug, 03:38, Álvaro J. Iradier <[email protected]>
> > > wrote:
> >
> > > > Hi everybody,
> >
> > > > I need to run web2py integrated web server, and I'd like to run it on
> port
> > > > 80 as a non-root user, for security reasons.
> >
> > > > Is it possible? Can web2py be started as root, and then setuid as a
> > > > different user? If it's possible, I didn't find how to do it, can you
> point
> > > > me on the right direction?
> >
> > > > Thanks very much.
> >
> > > > --
> > > > Álvaro J. Iradier Muro
> > > > Departamento de Desarrollo
> > > > [email protected]
> >
> > > > Polar Technologies
> > > > T +34 976 527 952
> > > > F +34 976 466 125www.polartech.es
>

Reply via email to