wiki:InstallationGuidelinesApacheModWSGI

Version 12 (modified by Fran Boon, 15 years ago) ( diff )

--

Installation on Apache with WSGI

This is what is used to host the Demo site & Trac (sharing just 128Mb RAM!)

If running on a UNIX variant (as would be recommended) then suggest using the Native Cron

vim /etc/crontab
0-59/1 * * * * www-data cd /var/www/web2py/ && python web2py.py -C -D 1 >> /tmp/cron.output 2>&1

cp /var/www/web2py/options_std.py /var/www/web2py/options.py
vim /var/www/web2py/options.py
extcron = True

Ubuntu

apt-get install libapache2-mod-wsgi
a2enmod rewrite
vim /etc/apache2/sites-available/web2py
<VirtualHost ip.ip.ip.ip:80>
  ServerName demo.sahanapy.org
  ServerAdmin webmaster@sahanapy.org
  DocumentRoot /var/www/web2py/applications 

  WSGIScriptAlias / /var/www/web2py/wsgihandler.py
  WSGIDaemonProcess web2py user=www-data group=www-data home=/var/www/web2py processes=10 maximum-requests=500

  RewriteEngine On
  RewriteRule ^/$ /sahana/ [R]

  ### admin only accessible via SSH Tunnel
  <Location "/admin">
    SSLRequireSSL
  </Location>
  ### appadmin requires SSL
  <LocationMatch "^(/[\w_]*/appadmin/.*)">
    SSLRequireSSL
  </LocationMatch>
  ### static files do not need WSGI
  <LocationMatch "^(/[\w_]*/static/.*)">
    Order Allow,Deny
    Allow from all
  </LocationMatch>
  ### everything else goes over WSGI
  <Location "/">
    Order deny,allow
    Allow from all
    WSGIProcessGroup web2py
  </Location>

  ErrorLog /var/log/apache2/demo_error.log
  LogLevel warn
  CustomLog /var/log/apache2/demo_access.log combined
</VirtualHost>

Optimise by using GZip & Expires

ln -s /etc/apache2/sites-available/web2py /etc/apache2/sites-enabled/web2py
/etc/init.d/apache2 force-reload

WSGI Installation comments: http://blog.dscpl.com.au/2009/08/problems-with-example-web2py.html


InstallationGuidelines

Note: See TracWiki for help on using the wiki.