I'm new to web2py and python (currently evaluating python frameworks
to replace Ruby on Rails on production servers by July 4th weekend.)
PROBLEM:
* Saving a file using the admin interface displays a red
"communication error" in the "Last Saved On" field. However, when I
click Reload in the browser, a new date and time appears correctly so
the file is successfully saved.
I'm using HTTPS (web2py is not running on 127.0.0.1.)
SYSTEM:
* Software: web2py 1.79.1, Python 2.6.5, Apache 2.2.14, mod_wsgi 2.8,
OpenSSL 0.98k, sqlite 3.6.22
* Browsers: Latest stable versions of Chrome and Firefox on Vista 32-
bit
* OS: Ubuntu Server 10.04 LTS guest running in Virtual PC 2007 SP1 on
Vista 32-bit host
(because Virtual PC 2007 only uses ~16 (sixteen) MB RAM for
actively used Ubuntu Server 10.04 guest setup with 512 MB RAM,
and because my work desktop is Vista, and I need to develop
web apps on identical OS & packages as the production server due to
policy)
CONFIGURATION:
I'm using HTTPS, so here's the SSL portion of the Apache2 config
(ubuntu.private.lan is the dev machine mapped to a LAN address):
<VirtualHost *:80>
ServerName ubuntu.private.lan
WSGIDaemonProcess web2py user=www-data group=www-data display-
name=web2py
...
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName ubuntu.private.lan
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
# WSGIDaemonProcess defined is under <VirtualHost *:80> as:
WSGIDaemonProcess web2py user=www-data group=www-data display-
name=web2py
WSGIProcessGroup web2py
WSGIScriptAlias / /srv/web2py/wsgihandler.py
<Directory /srv/web2py>
AllowOverride None
Order Allow,Deny
Deny from all
<Files wsgihandler.py>
Allow from all
</Files>
</Directory>
AliasMatch ^/([^/]+)/static/(.*) \
/srv/web2py/applications/$1/static/$2
<Directory /srv/web2py/applications/*/static/>
Order Allow,Deny
Allow from all
</Directory>
CustomLog /var/log/apache2/access.log common
ErrorLog /var/log/apache2/error.log
</VirtualHost>
</IfModule>