Changeset - c8974135732a
[Not reviewed]
Marcin Kuzminski - 15 years ago 2011-04-12 23:51:04
marcin@python-works.com
docs, and changelog update
3 files changed with 61 insertions and 10 deletions:
0 comments (0 inline, 0 general)
docs/changelog.rst
Show inline comments
 
.. _changelog:
 

	
 
Changelog
 
=========
 

	
 

	
 
1.1.8 (**2011-04-XX**)
 
1.1.8 (**2011-04-12**)
 
======================
 

	
 
news
 
----
 

	
 
- improved windows support
 

	
 
fixes
 
-----
 

	
 
- fixed #140 freeze of python dateutil library, since new version is python2.x
 
  incompatible
 
- setup-app will check for write permission in given path
 
- cleaned up license info issue #149
 
- fixes for issues #137,#116 and #116, problems with unicode and 
 
  accented characters.
 
- fixes for issues #137,#116 and problems with unicode and accented characters.
 
- fixes crashes on gravatar, when passed in email as unicode
 
- fixed tooltip flickering problems
 
- fixed came_from redirection on windows
 
- fixed logging modules,and sql formatters
 
- windows fixes for os.kill #133
 
- windows fixes for os.kill issue #133
 
- fixes path splitting for windows issues #148
 
- fixed issue #143 wrong import on migration to 1.1.X
 
- fixed problems with displaying binary files, thanks to Thomas Waldmann
 
- removed name from archive files since it's breaking ui for long names
 
- fixed issue witg archive headers sent to browser, thanks to Thomas Waldmann
 
- removed name from archive files since it's breaking ui for long repo names
 
- fixed issue with archive headers sent to browser, thanks to Thomas Waldmann
 
- fixed compatibility for 1024px displays, and larger dpi settings, thanks to 
 
  Thomas Waldmann
 
- fixed issue #166 summary pager was skipping 10 revisions on second page
 

	
 
1.1.7 (**2011-03-23**)
 
======================
 

	
 
news
 
----
 

	
 
fixes
 
-----
 

	
 
- fixed (again) #136 installation support for FreeBSD
 

	
 

	
 
1.1.6 (**2011-03-21**)
 
======================
 

	
 
news
 
----
 

	
 
fixes
 
-----
 

	
 
- fixed #136 installation support for FreeBSD
 
- RhodeCode will check for python version during installation
 

	
 
1.1.5 (**2011-03-17**)
 
======================
 

	
 
news
 
----
 

	
 
- basic windows support, by exchanging pybcrypt into sha256 for windows only
 
  highly inspired by idea of mantis406
 

	
 
fixes
 
-----
 

	
 
- fixed sorting by author in main page
 
- fixed crashes with diffs on binary files
 
- fixed #131 problem with boolean values for LDAP
 
- fixed #122 mysql problems thanks to striker69 
 
- fixed problem with errors on calling raw/raw_files/annotate functions 
 
  with unknown revisions
 
- fixed returned rawfiles attachment names with international character
 
- cleaned out docs, big thanks to Jason Harris
 

	
 
1.1.4 (**2011-02-19**)
 
======================
 

	
 
news
 
----
 

	
 
fixes
 
-----
 

	
 
- fixed formencode import problem on settings page, that caused server crash
 
  when that page was accessed as first after server start
 
- journal fixes
 
- fixed option to access repository just by entering http://server/<repo_name> 
 

	
 

	
 
1.1.3 (**2011-02-16**)
 
======================
 

	
 
news
 
----
 

	
 
- implemented #102 allowing the '.' character in username
 
- added option to access repository just by entering http://server/<repo_name>
 
- celery task ignores result for better performance
 

	
 
fixes
 
-----
 

	
 
- fixed ehlo command and non auth mail servers on smtp_lib. Thanks to 
 
  apollo13 and Johan Walles
 
- small fixes in journal
 
- fixed problems with getting setting for celery from .ini files
 
- registration, password reset and login boxes share the same title as main 
 
  application now
 
- fixed #113: to high permissions to fork repository
 
- fixed problem with '[' chars in commit messages in journal
 
- removed issue with space inside renamed repository after deletion
 
- db transaction fixes when filesystem repository creation failed
 
- fixed #106 relation issues on databases different than sqlite
 
- fixed static files paths links to use of url() method
 

	
 
1.1.2 (**2011-01-12**)
 
======================
 

	
 
news
 
----
 

	
docs/setup.rst
Show inline comments
 
@@ -235,151 +235,201 @@ Sample config for nginx using proxy::
 
               }
 
               #this is important if you want to use https !!!
 
               proxy_set_header X-Url-Scheme $scheme;
 
               include         /etc/nginx/proxy.conf;  
 
       }
 
    }  
 
  
 
Here's the proxy.conf. It's tuned so it will not timeout on long
 
pushes or large pushes::
 

	
 
    proxy_redirect              off;
 
    proxy_set_header            Host $host;
 
    proxy_set_header            X-Host $http_host;
 
    proxy_set_header            X-Real-IP $remote_addr;
 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
 
    proxy_set_header            Proxy-host $proxy_host;
 
    client_max_body_size        400m;
 
    client_body_buffer_size     128k;
 
    proxy_buffering             off;
 
    proxy_connect_timeout       3600;
 
    proxy_send_timeout          3600;
 
    proxy_read_timeout          3600;
 
    proxy_buffer_size           16k;
 
    proxy_buffers               4 16k;
 
    proxy_busy_buffers_size     64k;
 
    proxy_temp_file_write_size  64k;
 
 
 
Also, when using root path with nginx you might set the static files to false
 
in the production.ini file::
 

	
 
    [app:main]
 
      use = egg:rhodecode
 
      full_stack = true
 
      static_files = false
 
      lang=en
 
      cache_dir = %(here)s/data
 

	
 
In order to not have the statics served by the application. This improves speed.
 

	
 

	
 
Apache virtual host example
 
---------------------------
 

	
 
Here is a sample configuration file for apache using proxy::
 

	
 
    <VirtualHost *:80>
 
            ServerName hg.myserver.com
 
            ServerAlias hg.myserver.com
 
    
 
            <Proxy *>
 
              Order allow,deny
 
              Allow from all
 
            </Proxy>
 
    
 
            #important !
 
            #Directive to properly generate url (clone url) for pylons
 
            ProxyPreserveHost On
 
    
 
            #rhodecode instance
 
            ProxyPass / http://127.0.0.1:5000/
 
            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 FCGI config
 
----------------------------
 
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
 

	
 
TODO !
 
        <Directory /home/web/apache/conf>
 
            Order deny,allow
 
            Allow from all
 
        </Directory>
 
        <Directory /var/www>
 
            Order deny,allow
 
            Allow from all
 
        </Directory>
 
    
 
    </VirtualHost>
 

	
 
    <VirtualHost *:80>
 
        ServerName hg.domain.eu
 
        Redirect permanent / https://hg.domain.eu/
 
    </VirtualHost>
 

	
 

	
 
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
 

	
 

	
 
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
docs/theme/nature/static/nature.css_t
Show inline comments
 
/**
 
 * Sphinx stylesheet -- default theme
 
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 */
 
 
 
@import url("basic.css");
 
 
 
/* -- page layout ----------------------------------------------------------- */
 
 
 
body {
 
    font-family: Arial, sans-serif;
 
    font-size: 100%;
 
    background-color: #111;
 
    color: #555;
 
    margin: 0;
 
    padding: 0;
 
}
 

	
 
div.documentwrapper {
 
    float: left;
 
    width: 100%;
 
}
 

	
 
div.bodywrapper {
 
    margin: 0 0 0 230px;
 
}
 

	
 
hr{
 
    border: 1px solid #B1B4B6;
 
}
 
 
 
div.document {
 
    background-color: #eee;
 
}
 
 
 
div.body {
 
    background-color: #ffffff;
 
    color: #3E4349;
 
    padding: 0 30px 30px 30px;
 
    font-size: 0.8em;
 
}
 
 
 
div.footer {
 
    color: #555;
 
    width: 100%;
 
    padding: 13px 0;
 
    text-align: center;
 
    font-size: 75%;
 
}
 
 
 
div.footer a {
 
    color: #444;
 
    text-decoration: underline;
 
}
 
 
 
div.related {
 
    background-color: #6BA81E;
 
    background-color: #003367;
 
    line-height: 32px;
 
    color: #fff;
 
    text-shadow: 0px 1px 0 #444;
 
    font-size: 0.80em;
 
}
 
 
 
div.related a {
 
    color: #E2F3CC;
 
}
 
 
 
div.sphinxsidebar {
 
    font-size: 0.75em;
 
    line-height: 1.5em;
 
}
 

	
 
div.sphinxsidebarwrapper{
 
    padding: 20px 0;
 
}
 
 
 
div.sphinxsidebar h3,
 
div.sphinxsidebar h4 {
 
    font-family: Arial, sans-serif;
 
    color: #222;
 
    font-size: 1.2em;
 
    font-weight: normal;
 
    margin: 0;
 
    padding: 5px 10px;
 
    background-color: #ddd;
 
    text-shadow: 1px 1px 0 white
 
}
 

	
 
div.sphinxsidebar h4{
 
    font-size: 1.1em;
 
}
 
 
 
div.sphinxsidebar h3 a {
 
    color: #444;
 
}
 
 
 
 
 
div.sphinxsidebar p {
 
    color: #888;
 
    padding: 5px 20px;
 
}
 
 
 
div.sphinxsidebar p.topless {
 
}
 
 
 
div.sphinxsidebar ul {
 
    margin: 10px 20px;
 
    padding: 0;
 
    color: #000;
 
}
 
 
 
div.sphinxsidebar a {
 
    color: #444;
 
}
 
 
 
div.sphinxsidebar input {
 
    border: 1px solid #ccc;
 
    font-family: sans-serif;
 
    font-size: 1em;
 
}
 

	
 
div.sphinxsidebar input[type=text]{
 
    margin-left: 20px;
 
}
 
 
 
/* -- body styles ----------------------------------------------------------- */
 
 
 
a {
 
    color: #005B81;
 
    text-decoration: none;
 
}
 
 
 
a:hover {
 
    color: #E32E00;
 
    text-decoration: underline;
 
}
 
 
 
div.body h1,
 
div.body h2,
 
div.body h3,
 
div.body h4,
 
div.body h5,
 
div.body h6 {
 
    font-family: Arial, sans-serif;
 
    background-color: #BED4EB;
 
    font-weight: normal;
 
    color: #212224;
 
    margin: 30px 0px 10px 0px;
 
    padding: 5px 0 5px 10px;
 
    text-shadow: 0px 1px 0 white
 
}
 
 
 
div.body h1 { border-top: 20px solid white; margin-top: 0; font-size: 200%; }
0 comments (0 inline, 0 general)