Dear Crowd,
Due to some pesky restrictions out of my control, I have to make do with a domain [f.q.d.n] that does not allow any sub-domain to be added, nor managed.
I have an up-to-date FreeBSD setup, with Mayan-EDMS running happily in my python web applications jail, inside virtualenv, married it with gunicorn, set up Nginx in a different jail, as well as OpenLDAP and PostgreSQL, all in different jail shoe boxes.
I have, in order to get the sub-URI trick going, added the following into my
local.settings.py:
---------------------------------------%< -----------------------------------
# Define the SCRIPT_NAME header variable for WSGI deployment
#FORCE_SCRIPT_NAME=''
FORCE_SCRIPT_NAME = '/[instance_name]'
# Set the base path
#BASE_PATH = ''
BASE_PATH = '/[instance_name]/'
# URL prefix for static files
#STATIC_URL = '/static'
STATIC_URL = BASE_PATH + 'static/'
# URL prefix for media files
MEDIA_URL = STATIC_URL + 'media/'
# The numeric mode to set newly-uploaded files to
#FILE_UPLOAD_PERMISSIONS = 0644
FILE_UPLOAD_PERMISSIONS = 0640
--------------------------------------->% -----------------------------------
I have configured Nginx accordingly, basically prefixed all locations with /[instance_name].
All seemed well, except an (unrelated?) issue with GraphicsMagick, see here:
https://groups.google.com/forum/#!topic/mayan-edms/FdFAL2pnCt4.
However, I run into troubles as soon as I get into page details: The document details page, e.g. https://[f.q.d.n]/[instance_name]/documents/17/view/ turns up alright, and I can go to the page details, displayed via an Ajax window: https://[f.q.d.n]/[instance_name]/documents/page/141/. As soon as I either do any transformation other than reset (zooming in or out, rotation left or right), or click any of the navigation button under "Related actions" on the right panel, I get a "Page not found" error, and the log says:
29/Sep/2014 19:05:47] "GET /api/v0/documents/documents/17/image/?size=1200&rotation=0&version=17&page=3&zoom=100 HTTP/1.0" 200 147004
WARNING Not Found: /[instance_name]/documents/page/143/navigation/previous/
WARNING Not Found: /[instance_name]/documents/page/143/navigation/previous/
[29/Sep/2014 19:05:51] "GET /documents/page/143/navigation/previous/ HTTP/1.0" 404 14880
I note that the GET command impolitely drops the sub-URI folder name [instance_name], while the WARNING message preserves the same very well.
This is strange, as all actions work well.
For completion, allow me to give you relevant snippets of my Nginx configuration, sitting in a different jail:
The [instance]-specific http configuration file:
# handle ${INSTANCE} at /${INSTANCE}"
location /${INSTANCE}/ {"
# redirect to https
return 301 https://$host$request_uri;
}
The [instance]-specific http+https configuration file:
# define the location of the static collection
location /${INSTANCE}/static/ {
alias /home/${INSTANCE}/static/;
proxy_cache ${VIRTUAL_DOMAIN}_proxy_cache;
expires ${PROXY_CACHE_EXPIRY};
}
echo '' >> /usr/local/etc/nginx/include/${VIRTUAL_DOMAIN}/http+https/default.conf
The [instance]-specific https configuration file:
#
# handle ${INSTANCE} and /${INSTANCE}
location /${INSTANCE}/ {
proxy_pass http://www_py.jail.vlan:8004/;
}
No magic here... Just a bit of caution with the right tailing forward slashes (/).
Any idea what I did wrong, or is there any standard instruction how to deploy Mayan-EDMS in a sub-URI?
Thanks a million,
Chris