##// END OF EJS Templates
doc fix
marcink -
r929:c44b3c9b beta
parent child Browse files
Show More
@@ -1,161 +1,161 b''
1 .. _changelog:
1 .. _changelog:
2
2
3 Changelog
3 Changelog
4 =========
4 =========
5
5
6 1.2.0 (**2011-XX-XX**)
6 1.2.0 (**2011-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 - implemented #89 Can setup google analytics code from settings menu
15 - implemented #89 Can setup google analytics code from settings menu
16 - implemented #91 added nicer looking archive urls
16 - implemented #91 added nicer looking archive urls
17 - implemented #44 into file browsing, and added follow branch option
17 - implemented #44 into file browsing, and added follow branch option
18 - anonymous repository can be cloned without having to pass default:default
18 - anonymous repository can be cloned without having to pass default:default
19 into clone url
19 into clone url
20 - fixed #90 whoosh indexer can index chooses repositories passed in command
20 - fixed #90 whoosh indexer can index chooses repositories passed in command
21 line
21 line
22
22
23 fixes
23 fixes
24 ++++
24 -----
25
25
26 - fixed file browser bug, when switching into given form revision the url was
26 - fixed file browser bug, when switching into given form revision the url was
27 not changing
27 not changing
28 - fixed propagation to error controller on simplehg and simplegit middlewares
28 - fixed propagation to error controller on simplehg and simplegit middlewares
29
29
30
30
31 1.1.1 (**2011-01-06**)
31 1.1.1 (**2011-01-06**)
32 ----------------------
32 ======================
33
33
34 news
34 news
35 ++++
35 ----
36
36
37 - added force https option into ini files for easier https usage (no need to
37 - added force https option into ini files for easier https usage (no need to
38 set server headers with this options)
38 set server headers with this options)
39 - small css updates
39 - small css updates
40
40
41 fixes
41 fixes
42 ++++
42 -----
43
43
44 - fixed #96 redirect loop on files view on repositories without changesets
44 - fixed #96 redirect loop on files view on repositories without changesets
45 - fixed #97 unicode string passed into server header in special cases (mod_wsgi)
45 - fixed #97 unicode string passed into server header in special cases (mod_wsgi)
46 and server crashed with errors
46 and server crashed with errors
47 - fixed large tooltips problems on main page
47 - fixed large tooltips problems on main page
48 - fixed #92 whoosh indexer is more error proof
48 - fixed #92 whoosh indexer is more error proof
49
49
50 1.1.0 (**2010-12-18**)
50 1.1.0 (**2010-12-18**)
51 ----------------------
51 ======================
52
52
53 news
53 news
54 ++++
54 ----
55
55
56 - rewrite of internals for vcs >=0.1.10
56 - rewrite of internals for vcs >=0.1.10
57 - uses mercurial 1.7 with dotencode disabled for maintaining compatibility
57 - uses mercurial 1.7 with dotencode disabled for maintaining compatibility
58 with older clients
58 with older clients
59 - anonymous access, authentication via ldap
59 - anonymous access, authentication via ldap
60 - performance upgrade for cached repos list - each repository has it's own
60 - performance upgrade for cached repos list - each repository has it's own
61 cache that's invalidated when needed.
61 cache that's invalidated when needed.
62 - performance upgrades on repositories with large amount of commits (20K+)
62 - performance upgrades on repositories with large amount of commits (20K+)
63 - main page quick filter for filtering repositories
63 - main page quick filter for filtering repositories
64 - user dashboards with ability to follow chosen repositories actions
64 - user dashboards with ability to follow chosen repositories actions
65 - sends email to admin on new user registration
65 - sends email to admin on new user registration
66 - added cache/statistics reset options into repository settings
66 - added cache/statistics reset options into repository settings
67 - more detailed action logger (based on hooks) with pushed changesets lists
67 - more detailed action logger (based on hooks) with pushed changesets lists
68 and options to disable those hooks from admin panel
68 and options to disable those hooks from admin panel
69 - introduced new enhanced changelog for merges that shows more accurate results
69 - introduced new enhanced changelog for merges that shows more accurate results
70 - new improved and faster code stats (based on pygments lexers mapping tables,
70 - new improved and faster code stats (based on pygments lexers mapping tables,
71 showing up to 10 trending sources for each repository. Additionally stats
71 showing up to 10 trending sources for each repository. Additionally stats
72 can be disabled in repository settings.
72 can be disabled in repository settings.
73 - gui optimizations, fixed application width to 1024px
73 - gui optimizations, fixed application width to 1024px
74 - added cut off (for large files/changesets) limit into config files
74 - added cut off (for large files/changesets) limit into config files
75 - whoosh, celeryd, upgrade moved to paster command
75 - whoosh, celeryd, upgrade moved to paster command
76 - other than sqlite database backends can be used
76 - other than sqlite database backends can be used
77
77
78 fixes
78 fixes
79 +++++
79 -----
80
80
81 - fixes #61 forked repo was showing only after cache expired
81 - fixes #61 forked repo was showing only after cache expired
82 - fixes #76 no confirmation on user deletes
82 - fixes #76 no confirmation on user deletes
83 - fixes #66 Name field misspelled
83 - fixes #66 Name field misspelled
84 - fixes #72 block user removal when he owns repositories
84 - fixes #72 block user removal when he owns repositories
85 - fixes #69 added password confirmation fields
85 - fixes #69 added password confirmation fields
86 - fixes #87 RhodeCode crashes occasionally on updating repository owner
86 - fixes #87 RhodeCode crashes occasionally on updating repository owner
87 - fixes #82 broken annotations on files with more than 1 blank line at the end
87 - fixes #82 broken annotations on files with more than 1 blank line at the end
88 - a lot of fixes and tweaks for file browser
88 - a lot of fixes and tweaks for file browser
89 - fixed detached session issues
89 - fixed detached session issues
90 - fixed when user had no repos he would see all repos listed in my account
90 - fixed when user had no repos he would see all repos listed in my account
91 - fixed ui() instance bug when global hgrc settings was loaded for server
91 - fixed ui() instance bug when global hgrc settings was loaded for server
92 instance and all hgrc options were merged with our db ui() object
92 instance and all hgrc options were merged with our db ui() object
93 - numerous small bugfixes
93 - numerous small bugfixes
94
94
95 (special thanks for TkSoh for detailed feedback)
95 (special thanks for TkSoh for detailed feedback)
96
96
97
97
98 1.0.2 (**2010-11-12**)
98 1.0.2 (**2010-11-12**)
99 ----------------------
99 ======================
100
100
101 news
101 news
102 ++++
102 ----
103
103
104 - tested under python2.7
104 - tested under python2.7
105 - bumped sqlalchemy and celery versions
105 - bumped sqlalchemy and celery versions
106
106
107 fixes
107 fixes
108 +++++
108 -----
109
109
110 - fixed #59 missing graph.js
110 - fixed #59 missing graph.js
111 - fixed repo_size crash when repository had broken symlinks
111 - fixed repo_size crash when repository had broken symlinks
112 - fixed python2.5 crashes.
112 - fixed python2.5 crashes.
113
113
114
114
115 1.0.1 (**2010-11-10**)
115 1.0.1 (**2010-11-10**)
116 ----------------------
116 ======================
117
117
118 news
118 news
119 ++++
119 ----
120
120
121 - small css updated
121 - small css updated
122
122
123 fixes
123 fixes
124 +++++
124 -----
125
125
126 - fixed #53 python2.5 incompatible enumerate calls
126 - fixed #53 python2.5 incompatible enumerate calls
127 - fixed #52 disable mercurial extension for web
127 - fixed #52 disable mercurial extension for web
128 - fixed #51 deleting repositories don't delete it's dependent objects
128 - fixed #51 deleting repositories don't delete it's dependent objects
129
129
130
130
131 1.0.0 (**2010-11-02**)
131 1.0.0 (**2010-11-02**)
132 ----------------------
132 ======================
133
133
134 - security bugfix simplehg wasn't checking for permissions on commands
134 - security bugfix simplehg wasn't checking for permissions on commands
135 other than pull or push.
135 other than pull or push.
136 - fixed doubled messages after push or pull in admin journal
136 - fixed doubled messages after push or pull in admin journal
137 - templating and css corrections, fixed repo switcher on chrome, updated titles
137 - templating and css corrections, fixed repo switcher on chrome, updated titles
138 - admin menu accessible from options menu on repository view
138 - admin menu accessible from options menu on repository view
139 - permissions cached queries
139 - permissions cached queries
140
140
141 1.0.0rc4 (**2010-10-12**)
141 1.0.0rc4 (**2010-10-12**)
142 --------------------------
142 ==========================
143
143
144 - fixed python2.5 missing simplejson imports (thanks to Jens BΓ€ckman)
144 - fixed python2.5 missing simplejson imports (thanks to Jens BΓ€ckman)
145 - removed cache_manager settings from sqlalchemy meta
145 - removed cache_manager settings from sqlalchemy meta
146 - added sqlalchemy cache settings to ini files
146 - added sqlalchemy cache settings to ini files
147 - validated password length and added second try of failure on paster setup-app
147 - validated password length and added second try of failure on paster setup-app
148 - fixed setup database destroy prompt even when there was no db
148 - fixed setup database destroy prompt even when there was no db
149
149
150
150
151 1.0.0rc3 (**2010-10-11**)
151 1.0.0rc3 (**2010-10-11**)
152 -------------------------
152 =========================
153
153
154 - fixed i18n during installation.
154 - fixed i18n during installation.
155
155
156 1.0.0rc2 (**2010-10-11**)
156 1.0.0rc2 (**2010-10-11**)
157 -------------------------
157 =========================
158
158
159 - Disabled dirsize in file browser, it's causing nasty bug when dir renames
159 - Disabled dirsize in file browser, it's causing nasty bug when dir renames
160 occure. After vcs is fixed it'll be put back again.
160 occure. After vcs is fixed it'll be put back again.
161 - templating/css rewrites, optimized css. No newline at end of file
161 - templating/css rewrites, optimized css.
@@ -1,328 +1,328 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
10 First You'll ned to create RhodeCode config file. Run the following command
11 to do this
11 to do this
12
12
13 ::
13 ::
14
14
15 paster make-config RhodeCode production.ini
15 paster make-config RhodeCode production.ini
16
16
17 - This will create `production.ini` config inside the directory
17 - This will create `production.ini` config inside the directory
18 this config contains various settings for RhodeCode, e.g proxy port,
18 this config contains various settings for RhodeCode, e.g proxy port,
19 email settings, usage of static files, cache, celery settings and logging.
19 email settings, usage of static files, cache, celery settings and logging.
20
20
21
21
22
22
23 Next we need to create the database.
23 Next we need to create the database.
24
24
25 ::
25 ::
26
26
27 paster setup-app production.ini
27 paster setup-app production.ini
28
28
29 - This command will create all needed tables and an admin account.
29 - This command will create all needed tables and an admin account.
30 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
31 existing ones. RhodeCode will simply add all new found repositories to
31 existing ones. RhodeCode will simply add all new found repositories to
32 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.
33 - Remember that the given path for mercurial_ repositories must be write
33 - Remember that the given path for mercurial_ repositories must be write
34 accessible for the application. It's very important since RhodeCode web
34 accessible for the application. It's very important since RhodeCode web
35 interface will work even without such an access but, when trying to do a
35 interface will work even without such an access but, when trying to do a
36 push it'll eventually fail with permission denied errors.
36 push it'll eventually fail with permission denied errors.
37
37
38 You are ready to use rhodecode, to run it simply execute
38 You are ready to use rhodecode, to run it simply execute
39
39
40 ::
40 ::
41
41
42 paster serve production.ini
42 paster serve production.ini
43
43
44 - 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
45 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
46 file created in previous step
46 file created in previous step
47 - Use admin account you created to login.
47 - Use admin account you created to login.
48 - 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
49 remember to update these if needed. In the admin panel You can toggle ldap,
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
50 anonymous, permissions settings. As well as edit more advanced options on
51 users and repositories
51 users and repositories
52
52
53 Using RhodeCode with SSH
53 Using RhodeCode with SSH
54 ------------------------
54 ------------------------
55
55
56 RhodeCode repository structures are kept in directories with the same name
56 RhodeCode repository structures are kept in directories with the same name
57 as the project, when using repository groups, each group is a a subdirectory.
57 as the project, when using repository groups, each group is a a subdirectory.
58 This will allow You to use ssh for accessing repositories quite easy. There
58 This will allow You to use ssh for accessing repositories quite easy. There
59 are some exceptions when using ssh for accessing repositories.
59 are some exceptions when using ssh for accessing repositories.
60
60
61 You have to make sure that the webserver as well as the ssh users have unix
61 You have to make sure that the webserver as well as the ssh users have unix
62 permission for directories. Secondly when using ssh rhodecode will not
62 permission for directories. Secondly when using ssh rhodecode will not
63 authenticate those requests and permissions set by the web interface will not
63 authenticate those requests and permissions set by the web interface will not
64 work on the repositories accessed via ssh. There is a solution to this to use
64 work on the repositories accessed via ssh. There is a solution to this to use
65 auth hooks, that connects to rhodecode db, and runs check functions for
65 auth hooks, that connects to rhodecode db, and runs check functions for
66 permissions.
66 permissions.
67
67
68 TODO: post more info on this !
68 TODO: post more info on this !
69
69
70 if Your main directory (the same as set in RhodeCode settings) is set to
70 if Your main directory (the same as set in RhodeCode settings) is set to
71 for example `\home\hg` and repository You are using is `rhodecode`
71 for example `\home\hg` and repository You are using is `rhodecode`
72
72
73 The command runned should look like this::
73 The command runned should look like this::
74 hg clone ssh://user@server.com/home/hg/rhodecode
74 hg clone ssh://user@server.com/home/hg/rhodecode
75
75
76 Using external tools such as mercurial server or using ssh key based auth is
76 Using external tools such as mercurial server or using ssh key based auth is
77 fully supported.
77 fully supported.
78
78
79 Setting up Whoosh full text search
79 Setting up Whoosh full text search
80 ----------------------------------
80 ----------------------------------
81
81
82 Starting from version 1.1 whoosh index can be build using paster command.
82 Starting from version 1.1 whoosh index can be build using paster command.
83 You have to specify the config file that stores location of index, and
83 You have to specify the config file that stores location of index, and
84 location of repositories (`--repo-location`). Starting from version 1.2 it is
84 location of repositories (`--repo-location`). Starting from version 1.2 it is
85 also possible to specify a comma separated list of repositories (`--index-only`)
85 also possible to specify a comma separated list of repositories (`--index-only`)
86 to build index only on chooses repositories skipping any other found in repos
86 to build index only on chooses repositories skipping any other found in repos
87 location
87 location
88
88
89 There is possible also to pass `-f` to the options
89 There is possible also to pass `-f` to the options
90 to enable full index rebuild. Without that indexing will run always in in
90 to enable full index rebuild. Without that indexing will run always in in
91 incremental mode.
91 incremental mode.
92
92
93 incremental mode::
93 incremental mode::
94
94
95 paster make-index production.ini --repo-location=<location for repos>
95 paster make-index production.ini --repo-location=<location for repos>
96
96
97
97
98
98
99 for full index rebuild You can use::
99 for full index rebuild You can use::
100
100
101 paster make-index production.ini -f --repo-location=<location for repos>
101 paster make-index production.ini -f --repo-location=<location for repos>
102
102
103
103
104 building index just for chosen repositories is possible with such command::
104 building index just for chosen repositories is possible with such command::
105
105
106 paster make-index production.ini --repo-location=<location for repos> --index-only=vcs,rhodecode
106 paster make-index production.ini --repo-location=<location for repos> --index-only=vcs,rhodecode
107
107
108
108
109 In order to do periodical index builds and keep Your index always up to date.
109 In order to do periodical index builds and keep Your index always up to date.
110 It's recommended to do a crontab entry for incremental indexing.
110 It's recommended to do a crontab entry for incremental indexing.
111 An example entry might look like this
111 An example entry might look like this
112
112
113 ::
113 ::
114
114
115 /path/to/python/bin/paster /path/to/rhodecode/production.ini --repo-location=<location for repos>
115 /path/to/python/bin/paster /path/to/rhodecode/production.ini --repo-location=<location for repos>
116
116
117 When using incremental (default) mode whoosh will check last modification date
117 When using incremental (default) mode whoosh will check last modification date
118 of each file and add it to reindex if newer file is available. Also indexing
118 of each file and add it to reindex if newer file is available. Also indexing
119 daemon checks for removed files and removes them from index.
119 daemon checks for removed files and removes them from index.
120
120
121 Sometime You might want to rebuild index from scratch. You can do that using
121 Sometime You might want to rebuild index from scratch. You can do that using
122 the `-f` flag passed to paster command or, in admin panel You can check
122 the `-f` flag passed to paster command or, in admin panel You can check
123 `build from scratch` flag.
123 `build from scratch` flag.
124
124
125
125
126 Setting up LDAP support
126 Setting up LDAP support
127 -----------------------
127 -----------------------
128
128
129 RhodeCode starting from version 1.1 supports ldap authentication. In order
129 RhodeCode starting from version 1.1 supports ldap authentication. In order
130 to use ldap, You have to install python-ldap package. This package is available
130 to use ldap, You have to install python-ldap package. This package is available
131 via pypi, so You can install it by running
131 via pypi, so You can install it by running
132
132
133 ::
133 ::
134
134
135 easy_install python-ldap
135 easy_install python-ldap
136
136
137 ::
137 ::
138
138
139 pip install python-ldap
139 pip install python-ldap
140
140
141 .. note::
141 .. note::
142 python-ldap requires some certain libs on Your system, so before installing
142 python-ldap requires some certain libs on Your system, so before installing
143 it check that You have at least `openldap`, and `sasl` libraries.
143 it check that You have at least `openldap`, and `sasl` libraries.
144
144
145 ldap settings are located in admin->ldap section,
145 ldap settings are located in admin->ldap section,
146
146
147 Here's a typical ldap setup::
147 Here's a typical ldap setup::
148
148
149 Enable ldap = checked #controls if ldap access is enabled
149 Enable ldap = checked #controls if ldap access is enabled
150 Host = host.domain.org #actual ldap server to connect
150 Host = host.domain.org #actual ldap server to connect
151 Port = 389 or 689 for ldaps #ldap server ports
151 Port = 389 or 689 for ldaps #ldap server ports
152 Enable LDAPS = unchecked #enable disable ldaps
152 Enable LDAPS = unchecked #enable disable ldaps
153 Account = <account> #access for ldap server(if required)
153 Account = <account> #access for ldap server(if required)
154 Password = <password> #password for ldap server(if required)
154 Password = <password> #password for ldap server(if required)
155 Base DN = uid=%(user)s,CN=users,DC=host,DC=domain,DC=org
155 Base DN = uid=%(user)s,CN=users,DC=host,DC=domain,DC=org
156
156
157
157
158 `Account` and `Password` are optional, and used for two-phase ldap
158 `Account` and `Password` are optional, and used for two-phase ldap
159 authentication so those are credentials to access Your ldap, if it doesn't
159 authentication so those are credentials to access Your ldap, if it doesn't
160 support anonymous search/user lookups.
160 support anonymous search/user lookups.
161
161
162 Base DN must have %(user)s template inside, it's a placer where Your uid used
162 Base DN must have %(user)s template inside, it's a placer where Your uid used
163 to login would go, it allows admins to specify not standard schema for uid
163 to login would go, it allows admins to specify not standard schema for uid
164 variable
164 variable
165
165
166 If all data are entered correctly, and `python-ldap` is properly installed
166 If all data are entered correctly, and `python-ldap` is properly installed
167 Users should be granted to access RhodeCode wit ldap accounts. When
167 Users should be granted to access RhodeCode wit ldap accounts. When
168 logging at the first time an special ldap account is created inside RhodeCode,
168 logging at the first time an special ldap account is created inside RhodeCode,
169 so You can control over permissions even on ldap users. If such user exists
169 so You can control over permissions even on ldap users. If such user exists
170 already in RhodeCode database ldap user with the same username would be not
170 already in RhodeCode database ldap user with the same username would be not
171 able to access RhodeCode.
171 able to access RhodeCode.
172
172
173 If You have problems with ldap access and believe You entered correct
173 If You have problems with ldap access and believe You entered correct
174 information check out the RhodeCode logs,any error messages sent from
174 information check out the RhodeCode logs,any error messages sent from
175 ldap will be saved there.
175 ldap will be saved there.
176
176
177
177
178
178
179 Setting Up Celery
179 Setting Up Celery
180 -----------------
180 -----------------
181
181
182 Since version 1.1 celery is configured by the rhodecode ini configuration files
182 Since version 1.1 celery is configured by the rhodecode ini configuration files
183 simply set use_celery=true in the ini file then add / change the configuration
183 simply set use_celery=true in the ini file then add / change the configuration
184 variables inside the ini file.
184 variables inside the ini file.
185
185
186 Remember that the ini files uses format with '.' not with '_' like celery
186 Remember that the ini files uses format with '.' not with '_' like celery
187 so for example setting `BROKER_HOST` in celery means setting `broker.host` in
187 so for example setting `BROKER_HOST` in celery means setting `broker.host` in
188 the config file.
188 the config file.
189
189
190 In order to make start using celery run::
190 In order to make start using celery run::
191 paster celeryd <configfile.ini>
191 paster celeryd <configfile.ini>
192
192
193
193
194
194
195 .. note::
195 .. note::
196 Make sure You run this command from same virtualenv, and with the same user
196 Make sure You run this command from same virtualenv, and with the same user
197 that rhodecode runs.
197 that rhodecode runs.
198
198
199
199
200 Nginx virtual host example
200 Nginx virtual host example
201 --------------------------
201 --------------------------
202
202
203 Sample config for nginx using proxy::
203 Sample config for nginx using proxy::
204
204
205 server {
205 server {
206 listen 80;
206 listen 80;
207 server_name hg.myserver.com;
207 server_name hg.myserver.com;
208 access_log /var/log/nginx/rhodecode.access.log;
208 access_log /var/log/nginx/rhodecode.access.log;
209 error_log /var/log/nginx/rhodecode.error.log;
209 error_log /var/log/nginx/rhodecode.error.log;
210 location / {
210 location / {
211 root /var/www/rhodecode/rhodecode/public/;
211 root /var/www/rhodecode/rhodecode/public/;
212 if (!-f $request_filename){
212 if (!-f $request_filename){
213 proxy_pass http://127.0.0.1:5000;
213 proxy_pass http://127.0.0.1:5000;
214 }
214 }
215 #this is important if You want to use https !!!
215 #this is important if You want to use https !!!
216 proxy_set_header X-Url-Scheme $scheme;
216 proxy_set_header X-Url-Scheme $scheme;
217 include /etc/nginx/proxy.conf;
217 include /etc/nginx/proxy.conf;
218 }
218 }
219 }
219 }
220
220
221 Here's the proxy.conf. It's tuned so it'll not timeout on long
221 Here's the proxy.conf. It's tuned so it'll not timeout on long
222 pushes and also on large pushes::
222 pushes and also on large pushes::
223
223
224 proxy_redirect off;
224 proxy_redirect off;
225 proxy_set_header Host $host;
225 proxy_set_header Host $host;
226 proxy_set_header X-Host $http_host;
226 proxy_set_header X-Host $http_host;
227 proxy_set_header X-Real-IP $remote_addr;
227 proxy_set_header X-Real-IP $remote_addr;
228 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
228 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
229 proxy_set_header Proxy-host $proxy_host;
229 proxy_set_header Proxy-host $proxy_host;
230 client_max_body_size 400m;
230 client_max_body_size 400m;
231 client_body_buffer_size 128k;
231 client_body_buffer_size 128k;
232 proxy_buffering off;
232 proxy_buffering off;
233 proxy_connect_timeout 3600;
233 proxy_connect_timeout 3600;
234 proxy_send_timeout 3600;
234 proxy_send_timeout 3600;
235 proxy_read_timeout 3600;
235 proxy_read_timeout 3600;
236 proxy_buffer_size 8k;
236 proxy_buffer_size 8k;
237 proxy_buffers 8 32k;
237 proxy_buffers 8 32k;
238 proxy_busy_buffers_size 64k;
238 proxy_busy_buffers_size 64k;
239 proxy_temp_file_write_size 64k;
239 proxy_temp_file_write_size 64k;
240
240
241 Also when using root path with nginx You might set the static files to false
241 Also when using root path with nginx You might set the static files to false
242 in production.ini file::
242 in production.ini file::
243
243
244 [app:main]
244 [app:main]
245 use = egg:rhodecode
245 use = egg:rhodecode
246 full_stack = true
246 full_stack = true
247 static_files = false
247 static_files = false
248 lang=en
248 lang=en
249 cache_dir = %(here)s/data
249 cache_dir = %(here)s/data
250
250
251 To not have the statics served by the application. And improve speed.
251 To not have the statics served by the application. And improve speed.
252
252
253
253
254 Apache virtual host example
254 Apache virtual host example
255 ---------------------------
255 ---------------------------
256
256
257 Sample config for apache using proxy::
257 Sample config for apache using proxy::
258
258
259 <VirtualHost *:80>
259 <VirtualHost *:80>
260 ServerName hg.myserver.com
260 ServerName hg.myserver.com
261 ServerAlias hg.myserver.com
261 ServerAlias hg.myserver.com
262
262
263 <Proxy *>
263 <Proxy *>
264 Order allow,deny
264 Order allow,deny
265 Allow from all
265 Allow from all
266 </Proxy>
266 </Proxy>
267
267
268 #important !
268 #important !
269 #Directive to properly generate url (clone url) for pylons
269 #Directive to properly generate url (clone url) for pylons
270 ProxyPreserveHost On
270 ProxyPreserveHost On
271
271
272 #rhodecode instance
272 #rhodecode instance
273 ProxyPass / http://127.0.0.1:5000/
273 ProxyPass / http://127.0.0.1:5000/
274 ProxyPassReverse / http://127.0.0.1:5000/
274 ProxyPassReverse / http://127.0.0.1:5000/
275
275
276 #to enable https use line below
276 #to enable https use line below
277 #SetEnvIf X-Url-Scheme https HTTPS=1
277 #SetEnvIf X-Url-Scheme https HTTPS=1
278
278
279 </VirtualHost>
279 </VirtualHost>
280
280
281
281
282 Additional tutorial
282 Additional tutorial
283 http://wiki.pylonshq.com/display/pylonscookbook/Apache+as+a+reverse+proxy+for+Pylons
283 http://wiki.pylonshq.com/display/pylonscookbook/Apache+as+a+reverse+proxy+for+Pylons
284
284
285
285
286 Apache's example FCGI config
286 Apache's example FCGI config
287 ----------------------------
287 ----------------------------
288
288
289 TODO !
289 TODO !
290
290
291 Other configuration files
291 Other configuration files
292 -------------------------
292 -------------------------
293
293
294 Some example init.d script can be found here, for debian and gentoo:
294 Some example init.d script can be found here, for debian and gentoo:
295
295
296 https://rhodeocode.org/rhodecode/files/tip/init.d
296 https://rhodeocode.org/rhodecode/files/tip/init.d
297
297
298
298
299 Troubleshooting
299 Troubleshooting
300 ---------------
300 ---------------
301
301
302 - missing static files ?
302 - missing static files ?
303
303
304 - make sure either to set the `static_files = true` in the .ini file or
304 - make sure either to set the `static_files = true` in the .ini file or
305 double check the root path for Your http setup. It should point to
305 double check the root path for Your http setup. It should point to
306 for example:
306 for example:
307 /home/my-virtual-python/lib/python2.6/site-packages/rhodecode/public
307 /home/my-virtual-python/lib/python2.6/site-packages/rhodecode/public
308
308
309 - can't install celery/rabbitmq
309 - can't install celery/rabbitmq
310
310
311 - don't worry RhodeCode works without them too. No extra setup required
311 - don't worry RhodeCode works without them too. No extra setup required
312
312
313 - long lasting push timeouts ?
313 - long lasting push timeouts ?
314
314
315 - make sure You set a longer timeouts in Your proxy/fcgi settings, timeouts
315 - make sure You set a longer timeouts in Your proxy/fcgi settings, timeouts
316 are caused by https server and not RhodeCode
316 are caused by https server and not RhodeCode
317
317
318 - large pushes timeouts ?
318 - large pushes timeouts ?
319
319
320 - make sure You set a proper max_body_size for the http server
320 - make sure You set a proper max_body_size for the http server
321
321
322
322
323
323
324 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
324 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
325 .. _python: http://www.python.org/
325 .. _python: http://www.python.org/
326 .. _mercurial: http://mercurial.selenic.com/
326 .. _mercurial: http://mercurial.selenic.com/
327 .. _celery: http://celeryproject.org/
327 .. _celery: http://celeryproject.org/
328 .. _rabbitmq: http://www.rabbitmq.com/ No newline at end of file
328 .. _rabbitmq: http://www.rabbitmq.com/
General Comments 0
You need to be logged in to leave comments. Login now