##// END OF EJS Templates
docs update
marcink -
r845:a040597b beta
parent child Browse files
Show More
@@ -1,117 +1,121 b''
1 .. _changelog:
1 .. _changelog:
2
2
3 Changelog
3 Changelog
4 =========
4 =========
5
5
6 1.1.0 (**2010-XX-XX**)
6 1.1.0 (**2010-XX-XX**)
7 ----------------------
7 ----------------------
8
8
9 :status: in-progress
9 :status: in-progress
10 :branch: beta
10 :branch: beta
11
11
12 news
12 news
13 ++++
13 ++++
14
14
15 - rewrite of internals for vcs >=0.1.10
15 - rewrite of internals for vcs >=0.1.10
16 - uses mercurial 1.7 with dotencode disabled for maintaining compatibility
16 - uses mercurial 1.7 with dotencode disabled for maintaining compatibility
17 with older clients
17 with older clients
18 - anonymous access, authentication via ldap
18 - anonymous access, authentication via ldap
19 - performance upgrade for cached repos list - each repository has it's own
19 - performance upgrade for cached repos list - each repository has it's own
20 cache that's invalidated when needed.
20 cache that's invalidated when needed.
21 - performance upgrades on repositories with large amount of commits (20K+)
21 - performance upgrades on repositories with large amount of commits (20K+)
22 - main page quick filter for filtering repositories
22 - main page quick filter for filtering repositories
23 - user dashboards with ability to follow chosen repositories actions
23 - user dashboards with ability to follow chosen repositories actions
24 - sends email to admin on new user registration
24 - sends email to admin on new user registration
25 - added cache/statistics reset options into repository settings
25 - added cache/statistics reset options into repository settings
26 - more detailed action logger (based on hooks) with pushed changesets lists
26 - more detailed action logger (based on hooks) with pushed changesets lists
27 and options to disable those hooks from admin panel
27 and options to disable those hooks from admin panel
28 - introduced new enhanced changelog for merges that shows more accurate results
28 - introduced new enhanced changelog for merges that shows more accurate results
29 - new improved and faster code stats (based on pygments lexers mapping tables,
29 - new improved and faster code stats (based on pygments lexers mapping tables,
30 showing up to 10 trending sources for each repository
30 showing up to 10 trending sources for each repository. Additionally stats
31 can be disabled in repository settings.
31 - gui optimizations, fixed application width to 1024px
32 - gui optimizations, fixed application width to 1024px
33 - added cut off (for large files/changesets) limit into config files
32 - whoosh, celeryd, upgrade moved to paster command
34 - whoosh, celeryd, upgrade moved to paster command
33 - other than sqlite database backends can be used
35 - other than sqlite database backends can be used
34
36
35 fixes
37 fixes
36 +++++
38 +++++
37
39
38 - fixes #61 forked repo was showing only after cache expired
40 - fixes #61 forked repo was showing only after cache expired
39 - fixes #76 no confirmation on user deletes
41 - fixes #76 no confirmation on user deletes
40 - fixes #66 Name field misspelled
42 - fixes #66 Name field misspelled
41 - fixes #72 block user removal when he owns repositories
43 - fixes #72 block user removal when he owns repositories
42 - fixes #69 added password confirmation fields
44 - fixes #69 added password confirmation fields
45 - fixes #87 RhodeCode crashes occasionally on updating repository owner
46 - fixes #82 broken annotations on files with more than 1 blank line at the end
43 - a lot of fixes and tweaks for file browser
47 - a lot of fixes and tweaks for file browser
44 - fixed detached session issues
48 - fixed detached session issues
45 - fixed when user had no repos he would see all repos listed in my account
49 - fixed when user had no repos he would see all repos listed in my account
46 - fixed ui() instance bug when global hgrc settings was loaded for server
50 - fixed ui() instance bug when global hgrc settings was loaded for server
47 instance and all hgrc options were merged with our db ui() object
51 instance and all hgrc options were merged with our db ui() object
48 - numerous small bugfixes
52 - numerous small bugfixes
49
53
50 (special thanks for TkSoh for detailed feedback)
54 (special thanks for TkSoh for detailed feedback)
51
55
52
56
53 1.0.2 (**2010-11-12**)
57 1.0.2 (**2010-11-12**)
54 ----------------------
58 ----------------------
55
59
56 news
60 news
57 ++++
61 ++++
58
62
59 - tested under python2.7
63 - tested under python2.7
60 - bumped sqlalchemy and celery versions
64 - bumped sqlalchemy and celery versions
61
65
62 fixes
66 fixes
63 +++++
67 +++++
64
68
65 - fixed #59 missing graph.js
69 - fixed #59 missing graph.js
66 - fixed repo_size crash when repository had broken symlinks
70 - fixed repo_size crash when repository had broken symlinks
67 - fixed python2.5 crashes.
71 - fixed python2.5 crashes.
68
72
69
73
70 1.0.1 (**2010-11-10**)
74 1.0.1 (**2010-11-10**)
71 ----------------------
75 ----------------------
72
76
73 news
77 news
74 ++++
78 ++++
75
79
76 - small css updated
80 - small css updated
77
81
78 fixes
82 fixes
79 +++++
83 +++++
80
84
81 - fixed #53 python2.5 incompatible enumerate calls
85 - fixed #53 python2.5 incompatible enumerate calls
82 - fixed #52 disable mercurial extension for web
86 - fixed #52 disable mercurial extension for web
83 - fixed #51 deleting repositories don't delete it's dependent objects
87 - fixed #51 deleting repositories don't delete it's dependent objects
84
88
85
89
86 1.0.0 (**2010-11-02**)
90 1.0.0 (**2010-11-02**)
87 ----------------------
91 ----------------------
88
92
89 - security bugfix simplehg wasn't checking for permissions on commands
93 - security bugfix simplehg wasn't checking for permissions on commands
90 other than pull or push.
94 other than pull or push.
91 - fixed doubled messages after push or pull in admin journal
95 - fixed doubled messages after push or pull in admin journal
92 - templating and css corrections, fixed repo switcher on chrome, updated titles
96 - templating and css corrections, fixed repo switcher on chrome, updated titles
93 - admin menu accessible from options menu on repository view
97 - admin menu accessible from options menu on repository view
94 - permissions cached queries
98 - permissions cached queries
95
99
96 1.0.0rc4 (**2010-10-12**)
100 1.0.0rc4 (**2010-10-12**)
97 --------------------------
101 --------------------------
98
102
99 - fixed python2.5 missing simplejson imports (thanks to Jens BΓ€ckman)
103 - fixed python2.5 missing simplejson imports (thanks to Jens BΓ€ckman)
100 - removed cache_manager settings from sqlalchemy meta
104 - removed cache_manager settings from sqlalchemy meta
101 - added sqlalchemy cache settings to ini files
105 - added sqlalchemy cache settings to ini files
102 - validated password length and added second try of failure on paster setup-app
106 - validated password length and added second try of failure on paster setup-app
103 - fixed setup database destroy prompt even when there was no db
107 - fixed setup database destroy prompt even when there was no db
104
108
105
109
106 1.0.0rc3 (**2010-10-11**)
110 1.0.0rc3 (**2010-10-11**)
107 -------------------------
111 -------------------------
108
112
109 - fixed i18n during installation.
113 - fixed i18n during installation.
110
114
111 1.0.0rc2 (**2010-10-11**)
115 1.0.0rc2 (**2010-10-11**)
112 -------------------------
116 -------------------------
113
117
114 - Disabled dirsize in file browser, it's causing nasty bug when dir renames
118 - Disabled dirsize in file browser, it's causing nasty bug when dir renames
115 occure. After vcs is fixed it'll be put back again.
119 occure. After vcs is fixed it'll be put back again.
116 - templating/css rewrites, optimized css.
120 - templating/css rewrites, optimized css.
117
121
@@ -1,21 +1,21 b''
1 .. _enable_git:
1 .. _enable_git:
2
2
3 Enabling GIT support (beta)
3 Enabling GIT support (beta)
4 ===========================
4 ===========================
5
5
6
6
7 Git support in RhodeCode 1.1 was disabled due to some instability issues, but
7 Git support in RhodeCode 1.1 was disabled due to some instability issues, but
8 If You would like to test it fell free to re-enable it. To enable GIT just
8 If You would like to test it fell free to re-enable it. To enable GIT just
9 uncomment git line in rhodecode/__init__.py file
9 uncomment git line in rhodecode/__init__.py file
10
10
11 .. code-block:: python
11 .. code-block:: python
12
12
13 BACKENDS = {
13 BACKENDS = {
14 'hg': 'Mercurial repository',
14 'hg': 'Mercurial repository',
15 #'git': 'Git repository',
15 #'git': 'Git repository',
16 }
16 }
17
17
18 .. note::
18 .. note::
19 Please note that it's not fully stable and it might crash (that's why it
19 Please note that it's not fully stable and it might crash (that's why it
20 was disabled), so be carefull about enabling git support. Don't use it in
20 was disabled), so be careful about enabling git support. Don't use it in
21 production ! No newline at end of file
21 production !
@@ -1,96 +1,96 b''
1 .. _installation:
1 .. _installation:
2
2
3 Installation
3 Installation
4 ============
4 ============
5
5
6 ``RhodeCode`` is written entirely in Python, but in order to use it's full
6 ``RhodeCode`` is written entirely in Python, but in order to use it's full
7 potential there are some third-party requirements. When RhodeCode is used
7 potential there are some third-party requirements. When RhodeCode is used
8 together with celery You have to install some kind of message broker,
8 together with celery You have to install some kind of message broker,
9 recommended one is rabbitmq_ to make the async tasks work.
9 recommended one is rabbitmq_ to make the async tasks work.
10
10
11 Of course RhodeCode works in sync mode also, then You don't have to install
11 Of course RhodeCode works in sync mode also, then You don't have to install
12 any third party apps. Celery_ will give You large speed improvement when using
12 any third party apps. Celery_ will give You large speed improvement when using
13 many big repositories. If You plan to use it for 2 or 3 small repositories, it
13 many big repositories. If You plan to use it for 7 or 10 small repositories, it
14 will work just fine without celery running.
14 will work just fine without celery running.
15
15
16 After You decide to Run it with celery make sure You run celeryd and
16 After You decide to Run it with celery make sure You run celeryd using paster
17 message broker together with the application.
17 and message broker together with the application.
18
18
19 Requirements for Celery
19 Requirements for Celery
20 -----------------------
20 -----------------------
21
21
22 .. note::
22 .. note::
23 Installing message broker and using celery is optional, RhodeCode will
23 Installing message broker and using celery is optional, RhodeCode will
24 work without them perfectly fine.
24 work without them perfectly fine.
25
25
26
26
27 **Message Broker**
27 **Message Broker**
28
28
29 - preferred is `RabbitMq <http://www.rabbitmq.com/>`_
29 - preferred is `RabbitMq <http://www.rabbitmq.com/>`_
30 - possible other is `Redis <http://code.google.com/p/redis/>`_
30 - possible other is `Redis <http://code.google.com/p/redis/>`_
31
31
32 For installation instructions You can visit:
32 For installation instructions You can visit:
33 http://ask.github.com/celery/getting-started/index.html
33 http://ask.github.com/celery/getting-started/index.html
34 It's very nice tutorial how to start celery_ with rabbitmq_
34 It's very nice tutorial how to start celery_ with rabbitmq_
35
35
36 Install from Cheese Shop
36 Install from Cheese Shop
37 ------------------------
37 ------------------------
38 Rhodecode requires python 2.5 or 2.6 and will not run on older or newer
38 Rhodecode requires python 2.x greater than version 2.5
39 versions of python. Python 2.7 is untested and thus not supported.
40
39
41 Easiest way to install ``rhodecode`` is to run::
40 Easiest way to install ``rhodecode`` is to run::
42
41
43 easy_install rhodecode
42 easy_install rhodecode
44
43
45 Or::
44 Or::
46
45
47 pip install rhodecode
46 pip install rhodecode
48
47
49 If you prefer to install manually simply grab latest release from
48 If you prefer to install manually simply grab latest release from
50 http://pypi.python.org/pypi/rhodecode, decompres archive and run::
49 http://pypi.python.org/pypi/rhodecode, decompres archive and run::
51
50
52 python setup.py install
51 python setup.py install
53
52
54
53
55 Step by step installation example
54 Step by step installation example
56 ---------------------------------
55 ---------------------------------
57
56
58
57
59 - Assuming You have installed virtualenv_ create one using. The `--no-site-packages`
58 - Assuming You have installed virtualenv_ create one using.
60 will make sure non of Your system libs are linked with this virtualenv_
59 The `--no-site-packages` will make sure non of Your system libs are linked
60 with this virtualenv_
61
61
62 ::
62 ::
63
63
64 virtualenv --no-site-packages /var/www/rhodecode-venv
64 virtualenv --no-site-packages /var/www/rhodecode-venv
65
65
66 - this will install new virtualenv_ into `/var/www/rhodecode-venv`.
66 - this will install new virtualenv_ into `/var/www/rhodecode-venv`.
67 - Activate the virtualenv_ by running
67 - Activate the virtualenv_ by running
68
68
69 ::
69 ::
70
70
71 source activate /var/www/rhodecode-venv/bin/activate
71 source activate /var/www/rhodecode-venv/bin/activate
72
72
73 - Make a folder for rhodecode somewhere on the filesystem for example
73 - Make a folder for rhodecode somewhere on the filesystem for example
74
74
75 ::
75 ::
76
76
77 mkdir /var/www/rhodecode
77 mkdir /var/www/rhodecode
78
78
79
79
80 - Run this command to install rhodecode
80 - Run this command to install rhodecode
81
81
82 ::
82 ::
83
83
84 easy_install rhodecode
84 easy_install rhodecode
85
85
86 - this will install rhodecode together with pylons
86 - this will install rhodecode together with pylons
87 and all other required python libraries
87 and all other required python libraries
88
88
89
89
90 You can now proceed to :ref:`setup`
90 You can now proceed to :ref:`setup`
91
91
92 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
92 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
93 .. _python: http://www.python.org/
93 .. _python: http://www.python.org/
94 .. _mercurial: http://mercurial.selenic.com/
94 .. _mercurial: http://mercurial.selenic.com/
95 .. _celery: http://celeryproject.org/
95 .. _celery: http://celeryproject.org/
96 .. _rabbitmq: http://www.rabbitmq.com/ No newline at end of file
96 .. _rabbitmq: http://www.rabbitmq.com/
@@ -1,253 +1,262 b''
1 .. _setup:
1 .. _setup:
2
2
3 Setup
3 Setup
4 =====
4 =====
5
5
6
6
7 Setting up the application
7 Setting up the application
8 --------------------------
8 --------------------------
9
9
10 First You'll ned to create RhodeCode config file. Run the following command
11 to do this
12
10 ::
13 ::
11
14
12 paster make-config RhodeCode production.ini
15 paster make-config RhodeCode production.ini
13
16
14 - This will create `production.ini` config inside the directory
17 - This will create `production.ini` config inside the directory
15 this config contains various settings for RhodeCode, e.g proxy port,
18 this config contains various settings for RhodeCode, e.g proxy port,
16 email settings,static files, cache and logging.
19 email settings, usage of static files, cache, celery settings and logging.
20
21
22
23 Next we need to create the database.
17
24
18 ::
25 ::
19
26
20 paster setup-app production.ini
27 paster setup-app production.ini
21
28
22 - This command will create all needed tables and an admin account.
29 - This command will create all needed tables and an admin account.
23 When asked for a path You can either use a new location of one with already
30 When asked for a path You can either use a new location of one with already
24 existing ones. RhodeCode will simply add all new found repositories to
31 existing ones. RhodeCode will simply add all new found repositories to
25 it's database. Also make sure You specify correct path to repositories.
32 it's database. Also make sure You specify correct path to repositories.
26 - Remember that the given path for mercurial_ repositories must be write
33 - Remember that the given path for mercurial_ repositories must be write
27 accessible for the application. It's very important since RhodeCode web interface
34 accessible for the application. It's very important since RhodeCode web
28 will work even without such an access but, when trying to do a push it'll
35 interface will work even without such an access but, when trying to do a
29 eventually fail with permission denied errors.
36 push it'll eventually fail with permission denied errors.
30 - Run
37
38 You are ready to use rhodecode, to run it simply execute
31
39
32 ::
40 ::
33
41
34 paster serve production.ini
42 paster serve production.ini
35
43
36 - This command runs the RhodeCode server the app should be available at the
44 - This command runs the RhodeCode server the app should be available at the
37 127.0.0.1:5000. This ip and port is configurable via the production.ini
45 127.0.0.1:5000. This ip and port is configurable via the production.ini
38 file created in previous step
46 file created in previous step
39 - Use admin account you created to login.
47 - Use admin account you created to login.
40 - Default permissions on each repository is read, and owner is admin. So
48 - Default permissions on each repository is read, and owner is admin. So
41 remember to update these if needed.
49 remember to update these if needed. In the admin panel You can toggle ldap,
50 anonymous, permissions settings. As well as edit more advanced options on
51 users and repositories
42
52
43
53
44 Setting up Whoosh full text search
54 Setting up Whoosh full text search
45 ----------------------------------
55 ----------------------------------
46
56
47 Index for whoosh can be build starting from version 1.1 using paster command
57 Index for whoosh can be build starting from version 1.1 using paster command
48 passing repo locations to index, as well as Your config file that stores
58 passing repo locations to index, as well as Your config file that stores
49 whoosh index files locations. There is possible to pass `-f` to the options
59 whoosh index files locations. There is possible to pass `-f` to the options
50 to enable full index rebuild. Without that indexing will run always in in
60 to enable full index rebuild. Without that indexing will run always in in
51 incremental mode.
61 incremental mode.
52
62
53 ::
63 ::
54
64
55 paster make-index --repo-location=<location for repos> production.ini
65 paster make-index production.ini --repo-location=<location for repos>
56
66
57 for full index rebuild You can use
67 for full index rebuild You can use
58
68
59 ::
69 ::
60
70
61 paster make-index -f --repo-location=<location for repos> production.ini
71 paster make-index production.ini -f --repo-location=<location for repos>
62
72
63 - For full text search You can either put crontab entry for
73 - For full text search You can either put crontab entry for
64
74
65 This command can be run even from crontab in order to do periodical
75 This command can be run even from crontab in order to do periodical
66 index builds and keep Your index always up to date. An example entry might
76 index builds and keep Your index always up to date. An example entry might
67 look like this
77 look like this
68
78
69 ::
79 ::
70
80
71 /path/to/python/bin/paster --repo-location=<location for repos> /path/to/rhodecode/production.ini
81 /path/to/python/bin/paster /path/to/rhodecode/production.ini --repo-location=<location for repos>
72
82
73 When using incremental(default) mode whoosh will check last modification date
83 When using incremental(default) mode whoosh will check last modification date
74 of each file and add it to reindex if newer file is available. Also indexing
84 of each file and add it to reindex if newer file is available. Also indexing
75 daemon checks for removed files and removes them from index.
85 daemon checks for removed files and removes them from index.
76
86
77 Sometime You might want to rebuild index from scratch. You can do that using
87 Sometime You might want to rebuild index from scratch. You can do that using
78 the `-f` flag passed to paster command or, in admin panel You can check
88 the `-f` flag passed to paster command or, in admin panel You can check
79 `build from scratch` flag.
89 `build from scratch` flag.
80
90
81
91
82 Setting up LDAP support
92 Setting up LDAP support
83 -----------------------
93 -----------------------
84
94
85 RhodeCode starting from version 1.1 supports ldap authentication. In order
95 RhodeCode starting from version 1.1 supports ldap authentication. In order
86 to use ldap, You have to install python-ldap package. This package is available
96 to use ldap, You have to install python-ldap package. This package is available
87 via pypi, so You can install it by running
97 via pypi, so You can install it by running
88
98
89 ::
99 ::
90
100
91 easy_install python-ldap
101 easy_install python-ldap
92
102
93 ::
103 ::
94
104
95 pip install python-ldap
105 pip install python-ldap
96
106
97 .. note::
107 .. note::
98 python-ldap requires some certain libs on Your system, so before installing
108 python-ldap requires some certain libs on Your system, so before installing
99 it check that You have at least `openldap`, and `sasl` libraries.
109 it check that You have at least `openldap`, and `sasl` libraries.
100
110
101 ldap settings are located in admin->ldap section,
111 ldap settings are located in admin->ldap section,
102
112
103 Here's a typical ldap setup::
113 Here's a typical ldap setup::
104
114
105 Enable ldap = checked #controls if ldap access is enabled
115 Enable ldap = checked #controls if ldap access is enabled
106 Host = host.domain.org #actual ldap server to connect
116 Host = host.domain.org #actual ldap server to connect
107 Port = 389 or 689 for ldaps #ldap server ports
117 Port = 389 or 689 for ldaps #ldap server ports
108 Enable LDAPS = unchecked #enable disable ldaps
118 Enable LDAPS = unchecked #enable disable ldaps
109 Account = <account> #access for ldap server(if required)
119 Account = <account> #access for ldap server(if required)
110 Password = <password> #password for ldap server(if required)
120 Password = <password> #password for ldap server(if required)
111 Base DN = uid=%(user)s,CN=users,DC=host,DC=domain,DC=org
121 Base DN = uid=%(user)s,CN=users,DC=host,DC=domain,DC=org
112
122
113
123
114 `Account` and `Password` are optional, and used for two-phase ldap
124 `Account` and `Password` are optional, and used for two-phase ldap
115 authentication so those are credentials to access Your ldap, if it doesn't
125 authentication so those are credentials to access Your ldap, if it doesn't
116 support anonymous search/user lookups.
126 support anonymous search/user lookups.
117
127
118 Base DN must have %(user)s template inside, it's a placer where Your uid used
128 Base DN must have %(user)s template inside, it's a placer where Your uid used
119 to login would go, it allows admins to specify not standard schema for uid
129 to login would go, it allows admins to specify not standard schema for uid
120 variable
130 variable
121
131
122 If all data are entered correctly, and `python-ldap` is properly installed
132 If all data are entered correctly, and `python-ldap` is properly installed
123 Users should be granted to access RhodeCode wit ldap accounts. When
133 Users should be granted to access RhodeCode wit ldap accounts. When
124 logging at the first time an special ldap account is created inside RhodeCode,
134 logging at the first time an special ldap account is created inside RhodeCode,
125 so You can control over permissions even on ldap users. If such user exists
135 so You can control over permissions even on ldap users. If such user exists
126 already in RhodeCode database ldap user with the same username would be not
136 already in RhodeCode database ldap user with the same username would be not
127 able to access RhodeCode.
137 able to access RhodeCode.
128
138
129 If You have problems with ldap access and believe You entered correct
139 If You have problems with ldap access and believe You entered correct
130 information check out the RhodeCode logs,any error messages sent from
140 information check out the RhodeCode logs,any error messages sent from
131 ldap will be saved there.
141 ldap will be saved there.
132
142
133
143
134
144
135 Setting Up Celery
145 Setting Up Celery
136 -----------------
146 -----------------
137
147
138 Since version 1.1 celery is configured by the rhodecode ini configuration files
148 Since version 1.1 celery is configured by the rhodecode ini configuration files
139 simply set use_celery=true in the ini file then add / change the configuration
149 simply set use_celery=true in the ini file then add / change the configuration
140 variables inside the ini file.
150 variables inside the ini file.
141
151
142 Remember that the ini files uses format with '.' not with '_' like celery
152 Remember that the ini files uses format with '.' not with '_' like celery
143 so for example setting `BROKER_HOST` in celery means setting `broker.host` in
153 so for example setting `BROKER_HOST` in celery means setting `broker.host` in
144 the config file.
154 the config file.
145
155
146 In order to make start using celery run::
156 In order to make start using celery run::
147 paster celeryd <configfile.ini>
157 paster celeryd <configfile.ini>
148
158
149
159
150 Nginx virtual host example
160 Nginx virtual host example
151 --------------------------
161 --------------------------
152
162
153 Sample config for nginx using proxy::
163 Sample config for nginx using proxy::
154
164
155 server {
165 server {
156 listen 80;
166 listen 80;
157 server_name hg.myserver.com;
167 server_name hg.myserver.com;
158 access_log /var/log/nginx/rhodecode.access.log;
168 access_log /var/log/nginx/rhodecode.access.log;
159 error_log /var/log/nginx/rhodecode.error.log;
169 error_log /var/log/nginx/rhodecode.error.log;
160 location / {
170 location / {
161 root /var/www/rhodecode/rhodecode/public/;
171 root /var/www/rhodecode/rhodecode/public/;
162 if (!-f $request_filename){
172 if (!-f $request_filename){
163 proxy_pass http://127.0.0.1:5000;
173 proxy_pass http://127.0.0.1:5000;
164 }
174 }
165 #this is important for https !!!
175 #this is important for https !!!
166 proxy_set_header X-Url-Scheme $scheme;
176 proxy_set_header X-Url-Scheme $scheme;
167 include /etc/nginx/proxy.conf;
177 include /etc/nginx/proxy.conf;
168 }
178 }
169 }
179 }
170
180
171 Here's the proxy.conf. It's tuned so it'll not timeout on long
181 Here's the proxy.conf. It's tuned so it'll not timeout on long
172 pushes and also on large pushes::
182 pushes and also on large pushes::
173
183
174 proxy_redirect off;
184 proxy_redirect off;
175 proxy_set_header Host $host;
185 proxy_set_header Host $host;
176 proxy_set_header X-Host $http_host;
186 proxy_set_header X-Host $http_host;
177 proxy_set_header X-Real-IP $remote_addr;
187 proxy_set_header X-Real-IP $remote_addr;
178 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
188 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
179 proxy_set_header Proxy-host $proxy_host;
189 proxy_set_header Proxy-host $proxy_host;
180 client_max_body_size 400m;
190 client_max_body_size 400m;
181 client_body_buffer_size 128k;
191 client_body_buffer_size 128k;
182 proxy_buffering off;
192 proxy_buffering off;
183 proxy_connect_timeout 3600;
193 proxy_connect_timeout 3600;
184 proxy_send_timeout 3600;
194 proxy_send_timeout 3600;
185 proxy_read_timeout 3600;
195 proxy_read_timeout 3600;
186 proxy_buffer_size 8k;
196 proxy_buffer_size 8k;
187 proxy_buffers 8 32k;
197 proxy_buffers 8 32k;
188 proxy_busy_buffers_size 64k;
198 proxy_busy_buffers_size 64k;
189 proxy_temp_file_write_size 64k;
199 proxy_temp_file_write_size 64k;
190
200
191 Also when using root path with nginx You might set the static files to false
201 Also when using root path with nginx You might set the static files to false
192 in production.ini file::
202 in production.ini file::
193
203
194 [app:main]
204 [app:main]
195 use = egg:rhodecode
205 use = egg:rhodecode
196 full_stack = true
206 full_stack = true
197 static_files = false
207 static_files = false
198 lang=en
208 lang=en
199 cache_dir = %(here)s/data
209 cache_dir = %(here)s/data
200
210
201 To not have the statics served by the application. And improve speed.
211 To not have the statics served by the application. And improve speed.
202
212
203 Apache reverse proxy
213 Apache reverse proxy
204 --------------------
214 --------------------
205 Tutorial can be found here
215 Tutorial can be found here
206 http://wiki.pylonshq.com/display/pylonscookbook/Apache+as+a+reverse+proxy+for+Pylons
216 http://wiki.pylonshq.com/display/pylonscookbook/Apache+as+a+reverse+proxy+for+Pylons
207
217
208
218
209 Apache's example FCGI config
219 Apache's example FCGI config
210 ----------------------------
220 ----------------------------
211
221
212 TODO !
222 TODO !
213
223
214 Other configuration files
224 Other configuration files
215 -------------------------
225 -------------------------
216
226
217 Some extra configuration files and examples can be found here:
227 Some extra configuration files and examples can be found here:
218 http://hg.python-works.com/rhodecode/files/tip/init.d
228 http://hg.python-works.com/rhodecode/files/tip/init.d
219
229
220 and also an celeryconfig file can be use from here:
230 and also an celeryconfig file can be use from here:
221 http://hg.python-works.com/rhodecode/files/tip/celeryconfig.py
231 http://hg.python-works.com/rhodecode/files/tip/celeryconfig.py
222
232
223 Troubleshooting
233 Troubleshooting
224 ---------------
234 ---------------
225
235
226 - missing static files ?
236 - missing static files ?
227
237
228 - make sure either to set the `static_files = true` in the .ini file or
238 - make sure either to set the `static_files = true` in the .ini file or
229 double check the root path for Your http setup. It should point to
239 double check the root path for Your http setup. It should point to
230 for example:
240 for example:
231 /home/my-virtual-python/lib/python2.6/site-packages/rhodecode/public
241 /home/my-virtual-python/lib/python2.6/site-packages/rhodecode/public
232
242
233 - can't install celery/rabbitmq
243 - can't install celery/rabbitmq
234
244
235 - don't worry RhodeCode works without them too. No extra setup required
245 - don't worry RhodeCode works without them too. No extra setup required
236
246
237
238 - long lasting push timeouts ?
247 - long lasting push timeouts ?
239
248
240 - make sure You set a longer timeouts in Your proxy/fcgi settings, timeouts
249 - make sure You set a longer timeouts in Your proxy/fcgi settings, timeouts
241 are caused by https server and not RhodeCode
250 are caused by https server and not RhodeCode
242
251
243 - large pushes timeouts ?
252 - large pushes timeouts ?
244
253
245 - make sure You set a proper max_body_size for the http server
254 - make sure You set a proper max_body_size for the http server
246
255
247
256
248
257
249 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
258 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
250 .. _python: http://www.python.org/
259 .. _python: http://www.python.org/
251 .. _mercurial: http://mercurial.selenic.com/
260 .. _mercurial: http://mercurial.selenic.com/
252 .. _celery: http://celeryproject.org/
261 .. _celery: http://celeryproject.org/
253 .. _rabbitmq: http://www.rabbitmq.com/ No newline at end of file
262 .. _rabbitmq: http://www.rabbitmq.com/
@@ -1,35 +1,51 b''
1 .. _upgrade:
1 .. _upgrade:
2
2
3 Upgrade
3 Upgrade
4 =======
4 =======
5
5
6 Upgrade from Cheese Shop
6 Upgrade from Cheese Shop
7 ------------------------
7 ------------------------
8
8
9 Easiest way to upgrade ``rhodecode`` is to run::
9 Easiest way to upgrade ``rhodecode`` is to run::
10
10
11 easy_install -U rhodecode
11 easy_install -U rhodecode
12
12
13 Or::
13 Or::
14
14
15 pip install --upgrade rhodecode
15 pip install --upgrade rhodecode
16
16
17
17
18 Then make sure You run from the installation directory
18 Then make sure You run from the installation directory
19
19
20 ::
20 ::
21
21
22 paster make-config RhodeCode production.ini
22 paster make-config RhodeCode production.ini
23
23
24 This will display any changes made from new version of RhodeCode To your
24 This will display any changes made from new version of RhodeCode To your
25 current config. And tries to do an automerge.
25 current config. And tries to do an automerge. It's always better to do a backup
26 of config file and recheck the content after merge.
26
27
27 It's also good to rebuild the whoosh index since after upgrading the whoosh
28 It's also good to rebuild the whoosh index since after upgrading the whoosh
28 versionthere could be introduced incompatible index changes
29 version there could be introduced incompatible index changes.
30
31
32 The last step is to upgrade the database. To do this simply run
33
34 ::
35
36 paster upgrade-db production.ini
37
38 This will upgrade schema, as well as update some default on the database,
39 always recheck the settings of the application, if there are no new options
40 that need to be set.
41
42 .. note::
43 Always perform a database backup before doing upgrade.
44
29
45
30
46
31 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
47 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
32 .. _python: http://www.python.org/
48 .. _python: http://www.python.org/
33 .. _mercurial: http://mercurial.selenic.com/
49 .. _mercurial: http://mercurial.selenic.com/
34 .. _celery: http://celeryproject.org/
50 .. _celery: http://celeryproject.org/
35 .. _rabbitmq: http://www.rabbitmq.com/ No newline at end of file
51 .. _rabbitmq: http://www.rabbitmq.com/
General Comments 0
You need to be logged in to leave comments. Login now