Я успешно установил сервер pootle в среде localhost, используя сервер по умолчанию django, следуя приведенным здесь инструкциям: http://docs.translatehouse.org/projects/pootle/en/stable-2.8.x/server/installation.html
Затем я успешно настроил nginx в качестве обратного прокси-сервера, следуя инструкциям здесь: http://docs.translatehouse.org/projects/pootle/en/stable-2.8.x/server/web.html#proxying-with-nginx
Затем я успешно перенес базу данных из SQLite в MySQL, следуя инструкциям здесь: http://docs.translatehouse.org/projects/pootle/en/stable-2.8.x/server/mysql_installation.html#mysql-installation
Теперь я хотел сделать следующий шаг и запустить сервер pootle под apache с помощью mod_wsgi, чтобы не использовать сервер django по умолчанию, поскольку я готовлюсь к полноценному производственному серверу. Я выполнил инструкции здесь: http://docs.translatehouse.org/projects/pootle/en/stable-2.8.x/server/web.html#apache-with-mod-wsgi
Мне удалось загрузить стартовую страницу, но при попытке войти в систему возникают проблемы. Я получаю эту ошибку в консоли Chrome:
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)
Стартовая страница отлично отображается на http: //pootle.localhost поэтому я почти уверен, что ресурсы загружаются напрямую без каких-либо проблем с помощью инструкции Apache:
Alias /assets /var/www/vhosts/pootle/env/lib/python2.7/site-packages/pootle/assets/
Кажется, что что-то не так между apache и wsgi, потому что я не думаю, что должен видеть /var/www/vhosts/pootle/env/lib/python2.7/site-packages/pootle в URL-адресе POST?
Ну я разобрался с проблемой. И я должен себя за это дать. У меня было это в конце моего 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/'
POOTLE_ENABLE_API = True
FORCE_SCRIPT_NAME, очевидно, должно было быть:
FORCE_SCRIPT_NAME = '/'
Проблема решена, глупая ошибка с моей стороны.