Use daemon mode of mod_wsgi. Have a daemon process group per user with the user/group of the daemon process corresponding to that of the user whose web2py instance will run in that daemon process group. Then delegate each web2py instance to appropriate daemon process group.
The only hard bit in this is that daemon process groups are statically defined and so to add new user, you need to update Apache configuration and restart Apache. For quick setup instructions for daemon mode of mod_wsgi read: http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide#Delegation_To_Daemon_Process That example shows a daemon process group for whole virtual host, but it isn't limited to that and is flexible enough to do what you want. WSGIDaemonProcess default processes=2 threads=25 <VirtualHost *:80> ServerName www.site.com WSGIDaemonProcess bob user=bob group=bob display-name=%{GROUP} <Directory /home/bob/www> Options ExecCGI AllowOverride FileInfo AddHandler wsgi-script .wsgi WSGIProcessGroup bob </Directory> WSGIDaemonProcess joe user=joe group=joe <Directory /home/joe/www> Options ExecCGI AllowOverride FileInfo AddHandler wsgi-script .wsgi WSGIProcessGroup joe </Directory> </VirtualHost> Graham On Tuesday, January 4, 2011 6:50:40 AM UTC+11, David Bain wrote: > > I'm setting up a webserver that supports web2py, each user should have > their own web2py instance, hopefully everything will be deployed via > mod_wsgi. > > This my goal: > Each user will be able to deploy their apps to their own 'www' folder on > the webserver > > filesystem: > ~user/www/ > > for a <user> the web2py app would be available at: > http server: > https://example.com/<user>/examples/appadmin > https://example.com/<user>/admin > http://example.com/<user>/examples > > *Nice to have would be a Cherokee based solution* >