@@ -295,141 +295,141 @@ Here is a sample configuration file for
ProxyPassReverse / http://127.0.0.1:5000/
#to enable https use line below
#SetEnvIf X-Url-Scheme https HTTPS=1
</VirtualHost>
Additional tutorial
http://wiki.pylonshq.com/display/pylonscookbook/Apache+as+a+reverse+proxy+for+Pylons
Apache as subdirectory
----------------------
Apache subdirectory part::
<Location /<someprefix> >
ProxyPass http://127.0.0.1:5000/<someprefix>
ProxyPassReverse http://127.0.0.1:5000/<someprefix>
SetEnvIf X-Url-Scheme https HTTPS=1
</Location>
Besides the regular apache setup you will need to add the following to your .ini file::
filter-with = proxy-prefix
Add the following at the end of the .ini file::
[filter:proxy-prefix]
use = egg:PasteDeploy#prefix
prefix = /<someprefix>
then change <someprefix> into your choosen prefix
Apache's example WSGI+SSL config
--------------------------------
virtual host example::
<VirtualHost *:443>
ServerName hg.domain.eu:443
DocumentRoot /var/www
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/hg.domain.eu.cert
SSLCertificateKeyFile /etc/apache2/ssl/hg.domain.eu.key
SSLCertificateChainFile /etc/apache2/ssl/ca.cert
SetEnv HTTP_X_URL_SCHEME https
Alias /css /home/web/virtualenvs/hg/lib/python2.6/site-packages/rhodecode/public/css
Alias /images /home/web/virtualenvs/hg/lib/python2.6/site-packages/rhodecode/public/images
Alias /js /home/web/virtualenvs/hg/lib/python2.6/site-packages/rhodecode/public/js
WSGIDaemonProcess hg user=web group=web processes=1 threads=10 display-name=%{GROUP} python-path=/home/web/virtualenvs/hg/lib/python2.6/site-packages
WSGIPassAuthorization On
WSGIProcessGroup hg
WSGIApplicationGroup hg
WSGIScriptAlias / /home/web/apache/conf/hg.wsgi
<Directory /home/web/apache/conf>
Order deny,allow
Allow from all
</Directory>
<Directory /var/www>
<VirtualHost *:80>
ServerName hg.domain.eu
Redirect permanent / https://hg.domain.eu/
HG.WSGI::
import os
os.environ["HGENCODING"] = "UTF-8"
from paste.deploy import loadapp
from paste.script.util.logging_config import fileConfig
fileConfig('/home/web/virtualenvs/hg/config/production.ini')
application = loadapp('config:/home/web/virtualenvs/hg/config/production.ini'
Other configuration files
-------------------------
Some example init.d scripts can be found here, for debian and gentoo:
https://rhodeocode.org/rhodecode/files/tip/init.d
https://rhodecode.org/rhodecode/files/tip/init.d
Troubleshooting
---------------
:Q: **Missing static files?**
:A: Make sure either to set the `static_files = true` in the .ini file or
double check the root path for your http setup. It should point to
for example:
/home/my-virtual-python/lib/python2.6/site-packages/rhodecode/public
|
:Q: **Can't install celery/rabbitmq**
:A: Don't worry RhodeCode works without them too. No extra setup is required.
:Q: **Long lasting push timeouts?**
:A: Make sure you set a longer timeouts in your proxy/fcgi settings, timeouts
are caused by https server and not RhodeCode.
:Q: **Large pushes timeouts?**
:A: Make sure you set a proper max_body_size for the http server.
:Q: **Apache doesn't pass basicAuth on pull/push?**
:A: Make sure you added `WSGIPassAuthorization true`.
For further questions search the `Issues tracker`_, or post a message in the `google group rhodecode`_
.. _virtualenv: http://pypi.python.org/pypi/virtualenv
.. _python: http://www.python.org/
.. _mercurial: http://mercurial.selenic.com/
.. _celery: http://celeryproject.org/
.. _rabbitmq: http://www.rabbitmq.com/
.. _python-ldap: http://www.python-ldap.org/
.. _mercurial-server: http://www.lshift.net/mercurial-server.html
.. _PublishingRepositories: http://mercurial.selenic.com/wiki/PublishingRepositories
.. _Issues tracker: https://bitbucket.org/marcinkuzminski/rhodecode/issues
.. _google group rhodecode: http://groups.google.com/group/rhodecode
\ No newline at end of file
Status change: