I have successfully installed a pootle server in a localhost environment using the django default server following the instructions found here: http://docs.translatehouse.org/projects/pootle/en/stable-2.8.x/server/installation.html

Then I successfully setup nginx as reverse proxy server following the instructions here: http://docs.translatehouse.org/projects/pootle/en/stable-2.8.x/server/web.html#proxying-with-nginx

Then I successfully migrated the database from SQLite to MySQL following the instructions here: http://docs.translatehouse.org/projects/pootle/en/stable-2.8.x/server/mysql_installation.html#mysql-installation

Now I wanted to take the next step and run the pootle server under apache with mod_wsgi so as not to use the default django server, as I get ready for a fully fledged production server. I followed the instructions here: http://docs.translatehouse.org/projects/pootle/en/stable-2.8.x/server/web.html#apache-with-mod-wsgi

I have succeeded in loading the start page, but I'm having trouble when I try to login. I'm getting this error in the chrome console: vendor.min.ce9c05c2.js:25 POST http://pootle.localhost/var/www/vhosts/pootle/env/lib/python2.7/site-packages/pootle/accounts/login/?next=%2F 402 (Payment Required)

The start page is showing just fine at http://pootle.localhost so I'm pretty sure the assets are being loaded directly without any trouble with the Apache instruction:

Alias /assets /var/www/vhosts/pootle/env/lib/python2.7/site-packages/pootle/assets/

It seems that there is something wrong between apache and wsgi because I don't think I should be seeing /var/www/vhosts/pootle/env/lib/python2.7/site-packages/pootle in the URL of the POST ?


Well I figured out the problem. And I should kick myself for it. I had this at the end of my pootle.conf :

# - Include the following settings in your custom Pootle settings:
STATIC_URL = '/assets/'
FORCE_SCRIPT_NAME = '/var/www/vhosts/pootle/env/lib/python2.7/site-packages/pootle/'

FORCE_SCRIPT_NAME obviously should have been:


Problem solved, dumb mistake on my part.

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.