As you probably know, the web2py admin must be hosted on a secured domain. We set a client up with a basic CRM system under the domain, which worked perfectly until a GeoTrust SSL Certificate was installed.

Since the purchased GeoTrust certificate was just for a single domain, there was no way to access the web2py admin unless another dedicated IP address was purchased - which the site owner did not want to pay for.

Fortunately, there is a work around.


After hours of research/tests, the identified solution was to configure the web2py application, as well as the admin, under the main domain:

  • App:
  • Admin:

Essentially, any URL pattern that fell under /crm/ would be served by web2py, while all other URLS would be served by an existing Joomla application.


  1. Transfer the apache SSL configuration from the current crm domain ( to the main domain (
# mv /usr/local/apache/conf/userdata/ssl/2/main/ /usr/local/apache/conf/userdata/ssl/2/main/
  1. Update the apache config /usr/local/apache/conf/userdata/ssl/2/main/

WSGIScriptAlias /crm /home/main/python/

Note: Make sure to also comment out ‘UserDir disabled’ and all apache Rewrite lines

  1. Update web2py routing configuration, /home/main/python/
routers = dict(
    BASE = dict(
  1. Rebuild apache config:
# /scripts/rebuildhttpdconf
  1. Restart apache:
# /scripts/restartsrv_httpd