Index: controlies/branches/web2py/controlies-apache
===================================================================
--- controlies/branches/web2py/controlies-apache	(revision 169)
+++ controlies/branches/web2py/controlies-apache	(revision 170)
@@ -1,73 +1,10 @@
-WSGIRestrictStdout Off
-<VirtualHost *:80>
-  ServerName ldap
+        WSGIScriptAlias /controlies /var/web2py/subwsgihandler.py
+        WSGIDaemonProcess web2py user=www-data group=www-data \
+                          home=/var processes=5 \
+                          maximum-requests=10000
 
-  WSGIDaemonProcess web2py user=www-data group=www-data
-
- WSGIProcessGroup web2py
- WSGIScriptAlias / /var/web2py/wsgihandler.py
-
-  <Directory /var/web2py>
-    AllowOverride None
-    Order Allow,Deny
-    Deny from all
-    <Files wsgihandler.py>
-      Allow from all
-    </Files>
-  </Directory>
-
-  AliasMatch ^/controlies/([^/]+)/static/(.*) \
-           /var/web2py/applications/$1/static/$2
-  <Directory /var/web2py/applications/*/static/>
-    Order Allow,Deny
-    Allow from all
-  </Directory>
-
-
-  <LocationMatch ^/controlies/([^/]+)/appadmin>
-  Deny from all
-  </LocationMatch>
-
-  CustomLog /var/log/apache2/controlies-access.log common
-  ErrorLog /var/log/apache2/controlies-error.log
-</VirtualHost>
-
-
-<IfModule mod_ssl.c>
-<VirtualHost *:443>
-  ServerName ldap
- WSGIScriptAlias / /var/web2py/wsgihandler.py
-
-
-
-  SSLEngine on
-  SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
-  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
-
-
-
-
-  <Directory /var/web2py>
-    AllowOverride None
-    Order Allow,Deny
-    Deny from all
-    <Files wsgihandler.py>
-      Allow from all
-    </Files>
-  </Directory>
-
-  AliasMatch ^/controlies/([^/]+)/static/(.*) \
-           /var/web2py/applications/$1/static/$2
-  <Directory /var/web2py/applications/*/static/>
-    Order Allow,Deny
-    Allow from all
-  </Directory>
-
-  CustomLog /var/log/apache2/secure-controlies-access.log common
-  ErrorLog /var/log/apache2/secure-controlies-error.log
-
-
-</VirtualHost>
-
-</IfModule>
-
+        <Location "/controlies">
+            Order deny,allow
+            Allow from all
+            WSGIProcessGroup web2py
+        </Location>
Index: controlies/branches/web2py/debian/postrm
===================================================================
--- controlies/branches/web2py/debian/postrm	(revision 169)
+++ controlies/branches/web2py/debian/postrm	(nonexistent)
@@ -1,24 +0,0 @@
-#!/bin/sh
-# postinst script for controlies
-#
-# see: dh_installdeb(1)
-
-set -e
-	case "$1" in
-	    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-            a2dissite controlies-apache
-	    ;;
-	
-	    *)
-	        echo "postrm called with unknown argument \`$1'" >&2
-        exit 1
-	    ;;
-	esac
-
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
Index: controlies/branches/web2py/debian/links
===================================================================
--- controlies/branches/web2py/debian/links	(nonexistent)
+++ controlies/branches/web2py/debian/links	(revision 170)
@@ -0,0 +1 @@
+var/web2py/applications/controlies var/web2py/applications/init
Index: controlies/branches/web2py/debian/dirs
===================================================================
--- controlies/branches/web2py/debian/dirs	(revision 169)
+++ controlies/branches/web2py/debian/dirs	(revision 170)
@@ -1,4 +1,4 @@
 var/web2py
-etc/apache2/sites-available
+etc/apache2/conf.d
 etc/ldap/ssl
 
Index: controlies/branches/web2py/debian/postinst
===================================================================
--- controlies/branches/web2py/debian/postinst	(revision 169)
+++ controlies/branches/web2py/debian/postinst	(revision 170)
@@ -11,7 +11,7 @@
 	chown -R  www-data:www-data /var/web2py
     a2enmod ssl
     a2enmod wsgi
-    a2ensite controlies-apache
+    a2ensite default-ssl
 
     ;;
 
Index: controlies/branches/web2py/debian/install
===================================================================
--- controlies/branches/web2py/debian/install	(revision 169)
+++ controlies/branches/web2py/debian/install	(revision 170)
@@ -1,4 +1,6 @@
 applications var/web2py
-controlies-apache etc/apache2/sites-available
 wsgihandler.py var/web2py
+subwsgihandler.py var/web2py
 VERSION var/web2py
+controlies-apache etc/apache2/conf.d
+applications/__init__.py var/web2py
Index: controlies/branches/web2py/debian/changelog
===================================================================
--- controlies/branches/web2py/debian/changelog	(revision 169)
+++ controlies/branches/web2py/debian/changelog	(revision 170)
@@ -1,3 +1,9 @@
+controlies (0.2-2) unstable; urgency=low
+
+  * Cambios en la configuración de apache: directorio en vez de vhost
+
+ -- José L. Redrejo Rodríguez <jredrejo@debian.org>  Mon, 16 May 2011 14:23:55 +0200
+
 controlies (0.2-1) unstable; urgency=low
 
   * Completando funcionalidades
Index: controlies/branches/web2py/subwsgihandler.py
===================================================================
--- controlies/branches/web2py/subwsgihandler.py	(nonexistent)
+++ controlies/branches/web2py/subwsgihandler.py	(revision 170)
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Author: Fred Gansevles <fred@gansevles.net>
+# 
+# subwsgihandler.py -- a *hack* to make web2py sub-url mountable
+#
+# example apache config
+#
+#        WSGIScriptAlias /web2py /usr/local/www/wsgi-scripts/web2py/subwsgihandler.py
+#        WSGIDaemonProcess subweb2py user=www-data group=www-data \
+#                          home=/usr/local/www/wsgi-scripts processes=5 \
+#                          maximum-requests=10000
+#
+#        <Location "/web2py">
+#            Order deny,allow
+#            Allow from all
+#            WSGIProcessGroup subweb2py
+#        </Location>
+#
+# the web2p app is now mounted at http://localhost/web2py
+#
+
+import sys
+sys.path.insert(0, '')
+
+class SubWeb2py(object):
+    def __init__(self, application):
+        self.application = application
+
+        import gluon.html
+        self.gluon_html_URL = gluon.html.URL
+        gluon.html.URL = self.URL
+
+    def URL(self, *args, **kw):
+        # rewrite the generated URLs, so external referencens have the SCRIPT_NAME prefix
+        return self.script_name + self.gluon_html_URL(*args, **kw)
+
+    def start_response(self, status, headers, info=None):
+        # rewrite redirect URLs, so external referencens have the SCRIPT_NAME prefix
+        if not status.startswith('3'):
+            return self._start_response(status, headers, info)
+        # status: 3xx (redirect)
+        _headers = []
+        for key, value in headers:
+            if key == 'Set-Cookie':
+                # don't modify the cookie, it already has a modified location
+                return self._start_response(status, headers, info)
+            # relative URLs start with '/', absolute URLs start with 'http'
+            if key == 'Location' and value.startswith('/'):
+                value = self.script_name + value
+            _headers.append((key, value))
+        return self._start_response(status, _headers, info)
+
+    def __call__(self, environ, start_response):
+        self.script_name = environ['SCRIPT_NAME']
+        environ['SCRIPT_NAME'] = ''
+        if self.script_name and environ['REQUEST_URI'].startswith(self.script_name):
+            environ['REQUEST_URI'] = environ['REQUEST_URI'][len(self.script_name):]
+        self._start_response = start_response
+        return self.application(environ, self.start_response)
+
+from web2py.wsgihandler import application
+application = SubWeb2py(application)
