Show More
@@ -57,7 +57,7 b' You are now ready to use RhodeCode, to r' | |||||
57 | Try copying your own mercurial repository into the "root" directory you are |
|
57 | Try copying your own mercurial repository into the "root" directory you are | |
58 | using, then from within the RhodeCode web application choose Admin > |
|
58 | using, then from within the RhodeCode web application choose Admin > | |
59 | repositories. Then choose Add New Repository. Add the repository you copied into |
|
59 | repositories. Then choose Add New Repository. Add the repository you copied into | |
60 | the root. Test that you can browse your repository from within RhodCode and then |
|
60 | the root. Test that you can browse your repository from within RhodeCode and then | |
61 | try cloning your repository from RhodeCode with:: |
|
61 | try cloning your repository from RhodeCode with:: | |
62 |
|
62 | |||
63 | hg clone http://127.0.0.1:5000/<repository name> |
|
63 | hg clone http://127.0.0.1:5000/<repository name> | |
@@ -67,27 +67,36 b' where *repository name* is replaced by t' | |||||
67 | Using RhodeCode with SSH |
|
67 | Using RhodeCode with SSH | |
68 | ------------------------ |
|
68 | ------------------------ | |
69 |
|
69 | |||
70 | RhodeCode repository structures are kept in directories with the same name |
|
70 | RhodeCode currently only hosts repositories using http and https. (The addition of | |
71 | as the project, when using repository groups, each group is a subdirectory. |
|
71 | ssh hosting is a planned future feature.) However you can easily use ssh in | |
72 | This will allow you to use ssh for accessing repositories quite easily. There |
|
72 | parallel with RhodeCode. (Repository access via ssh is a standard "out of | |
73 | are some exceptions when using ssh for accessing repositories. |
|
73 | the box" feature of mercurial_ and you can use this to access any of the | |
|
74 | repositories that RhodeCode is hosting. See PublishingRepositories_) | |||
74 |
|
75 | |||
75 | You have to make sure that the web-server as well as the ssh users have unix |
|
76 | RhodeCode repository structures are kept in directories with the same name | |
76 | permission for the appropriate directories. Secondly, when using ssh rhodecode |
|
77 | as the project. When using repository groups, each group is a subdirectory. | |
77 | will not authenticate those requests and permissions set by the web interface |
|
78 | This allows you to easily use ssh for accessing repositories. | |
78 | will not work on the repositories accessed via ssh. There is a solution to this |
|
|||
79 | to use auth hooks, that connects to rhodecode db, and runs check functions for |
|
|||
80 | permissions. |
|
|||
81 |
|
79 | |||
|
80 | In order to use ssh you need to make sure that your web-server and the users login | |||
|
81 | accounts have the correct permissions set on the appropriate directories. (Note | |||
|
82 | that these permissions are independent of any permissions you have set up using | |||
|
83 | the RhodeCode web interface.) | |||
82 |
|
84 | |||
83 | If your main directory (the same as set in RhodeCode settings) is for example |
|
85 | If your main directory (the same as set in RhodeCode settings) is for example | |
84 | set to **/home/hg** and the repository you are using is named `rhodecode`, then |
|
86 | set to **/home/hg** and the repository you are using is named `rhodecode`, then | |
85 | to clone via ssh you should run:: |
|
87 | to clone via ssh you should run:: | |
86 |
|
88 | |||
87 | hg clone ssh://user@server.com/home/hg/rhodecode |
|
89 | hg clone ssh://user@server.com/home/hg/rhodecode | |
88 |
|
90 | |||
89 |
Using external tools such as mercurial |
|
91 | Using other external tools such as mercurial-server_ or using ssh key based | |
90 | authentication is fully supported. |
|
92 | authentication is fully supported. | |
|
93 | ||||
|
94 | Note: In an advanced setup, in order for your ssh access to use the same | |||
|
95 | permissions as set up via the RhodeCode web interface, you can create an | |||
|
96 | authentication hook to connect to the rhodecode db and runs check functions for | |||
|
97 | permissions against that. | |||
|
98 | ||||
|
99 | ||||
91 |
|
100 | |||
92 | Setting up Whoosh full text search |
|
101 | Setting up Whoosh full text search | |
93 | ---------------------------------- |
|
102 | ---------------------------------- | |
@@ -104,7 +113,6 b' For an incremental index build use::' | |||||
104 |
|
113 | |||
105 | paster make-index production.ini --repo-location=<location for repos> |
|
114 | paster make-index production.ini --repo-location=<location for repos> | |
106 |
|
115 | |||
107 |
|
||||
108 | For a full index rebuild use:: |
|
116 | For a full index rebuild use:: | |
109 |
|
117 | |||
110 | paster make-index production.ini -f --repo-location=<location for repos> |
|
118 | paster make-index production.ini -f --repo-location=<location for repos> | |
@@ -130,7 +138,7 b' Setting up LDAP support' | |||||
130 | ----------------------- |
|
138 | ----------------------- | |
131 |
|
139 | |||
132 | RhodeCode starting from version 1.1 supports ldap authentication. In order |
|
140 | RhodeCode starting from version 1.1 supports ldap authentication. In order | |
133 | to use LDAP, you have to install python-ldap_ package. This package is available |
|
141 | to use LDAP, you have to install the python-ldap_ package. This package is available | |
134 | via pypi, so you can install it by running |
|
142 | via pypi, so you can install it by running | |
135 |
|
143 | |||
136 | :: |
|
144 | :: | |
@@ -162,51 +170,52 b" Here's a typical ldap setup::" | |||||
162 | authentication so those are credentials to access your ldap, if it doesn't |
|
170 | authentication so those are credentials to access your ldap, if it doesn't | |
163 | support anonymous search/user lookups. |
|
171 | support anonymous search/user lookups. | |
164 |
|
172 | |||
165 |
Base DN must have %(user)s template inside, it's a placer where your uid |
|
173 | Base DN must have the %(user)s template inside, it's a place holder where your uid | |
166 |
to login would go |
|
174 | used to login would go. It allows admins to specify non-standard schema for the | |
167 | variable |
|
175 | uid variable. | |
168 |
|
176 | |||
169 |
If all |
|
177 | If all of the data is correctly entered, and `python-ldap` is properly | |
170 |
|
|
178 | installed, then users should be granted access to RhodeCode with ldap accounts. | |
171 |
logging |
|
179 | When logging in the first time a special ldap account is created inside | |
172 |
so you can control |
|
180 | RhodeCode, so you can control the permissions even on ldap users. If such users | |
173 |
already in RhodeCode database ldap user with the same |
|
181 | already exist in the RhodeCode database, then the ldap user with the same | |
174 | able to access RhodeCode. |
|
182 | username would be not be able to access RhodeCode. | |
175 |
|
183 | |||
176 |
If you have problems with ldap access and believe you e |
|
184 | If you have problems with ldap access and believe you have correctly entered the | |
177 | information check out the RhodeCode logs,any error messages sent from |
|
185 | required information then proceed by investigating the RhodeCode logs. Any | |
178 | ldap will be saved there. |
|
186 | error messages sent from ldap will be saved there. | |
179 |
|
187 | |||
180 |
|
188 | |||
181 |
|
189 | |||
182 | Setting Up Celery |
|
190 | Setting Up Celery | |
183 | ----------------- |
|
191 | ----------------- | |
184 |
|
192 | |||
185 | Since version 1.1 celery is configured by the rhodecode ini configuration files |
|
193 | Since version 1.1 celery is configured by the rhodecode ini configuration files. | |
186 |
|
|
194 | Simply set use_celery=true in the ini file then add / change the configuration | |
187 | variables inside the ini file. |
|
195 | variables inside the ini file. | |
188 |
|
196 | |||
189 |
Remember that the ini files use |
|
197 | Remember that the ini files use the format with '.' not with '_' like celery. | |
190 |
|
|
198 | So for example setting `BROKER_HOST` in celery means setting `broker.host` in | |
191 | the config file. |
|
199 | the config file. | |
192 |
|
200 | |||
193 |
In order to |
|
201 | In order to start using celery run:: | |
194 |
|
202 | |||
195 | paster celeryd <configfile.ini> |
|
203 | paster celeryd <configfile.ini> | |
196 |
|
204 | |||
197 |
|
205 | |||
198 | .. note:: |
|
206 | .. note:: | |
199 | Make sure you run this command from same virtualenv, and with the same user |
|
207 | Make sure you run this command from the same virtualenv, and with the same user | |
200 | that rhodecode runs. |
|
208 | that rhodecode runs. | |
201 |
|
209 | |||
202 | HTTPS support |
|
210 | HTTPS support | |
203 | ------------- |
|
211 | ------------- | |
204 |
|
212 | |||
205 |
There are two ways to enable https |
|
213 | There are two ways to enable https: | |
206 | your http server headers, than rhodecode will recognise this headers and make |
|
214 | ||
207 | proper https redirections, another way is to set `force_https = true` |
|
215 | - Set HTTP_X_URL_SCHEME in your http server headers, than rhodecode will | |
208 | in the ini cofiguration to force using https, no headers are needed than to |
|
216 | recognize this headers and make proper https redirections | |
209 | enable https |
|
217 | - Alternatively, set `force_https = true` in the ini configuration to force using | |
|
218 | https, no headers are needed than to enable https | |||
210 |
|
219 | |||
211 |
|
220 | |||
212 | Nginx virtual host example |
|
221 | Nginx virtual host example | |
@@ -230,8 +239,8 b' Sample config for nginx using proxy::' | |||||
230 | } |
|
239 | } | |
231 | } |
|
240 | } | |
232 |
|
241 | |||
233 |
Here's the proxy.conf. It's tuned so it |
|
242 | Here's the proxy.conf. It's tuned so it will not timeout on long | |
234 |
pushes |
|
243 | pushes or large pushes:: | |
235 |
|
244 | |||
236 | proxy_redirect off; |
|
245 | proxy_redirect off; | |
237 | proxy_set_header Host $host; |
|
246 | proxy_set_header Host $host; | |
@@ -250,8 +259,8 b' pushes and also on large pushes::' | |||||
250 | proxy_busy_buffers_size 64k; |
|
259 | proxy_busy_buffers_size 64k; | |
251 | proxy_temp_file_write_size 64k; |
|
260 | proxy_temp_file_write_size 64k; | |
252 |
|
261 | |||
253 | Also when using root path with nginx you might set the static files to false |
|
262 | Also, when using root path with nginx you might set the static files to false | |
254 | in production.ini file:: |
|
263 | in the production.ini file:: | |
255 |
|
264 | |||
256 | [app:main] |
|
265 | [app:main] | |
257 | use = egg:rhodecode |
|
266 | use = egg:rhodecode | |
@@ -260,13 +269,13 b' in production.ini file::' | |||||
260 | lang=en |
|
269 | lang=en | |
261 | cache_dir = %(here)s/data |
|
270 | cache_dir = %(here)s/data | |
262 |
|
271 | |||
263 |
|
|
272 | In order to not have the statics served by the application. This improves speed. | |
264 |
|
273 | |||
265 |
|
274 | |||
266 | Apache virtual host example |
|
275 | Apache virtual host example | |
267 | --------------------------- |
|
276 | --------------------------- | |
268 |
|
277 | |||
269 |
|
|
278 | Here is a sample configuration file for apache using proxy:: | |
270 |
|
279 | |||
271 | <VirtualHost *:80> |
|
280 | <VirtualHost *:80> | |
272 | ServerName hg.myserver.com |
|
281 | ServerName hg.myserver.com | |
@@ -307,7 +316,7 b' Apache subdirectory part::' | |||||
307 | SetEnvIf X-Url-Scheme https HTTPS=1 |
|
316 | SetEnvIf X-Url-Scheme https HTTPS=1 | |
308 | </Location> |
|
317 | </Location> | |
309 |
|
318 | |||
310 |
Besides the regular apache setup you will need to add |
|
319 | Besides the regular apache setup you will need to add the following to your .ini file:: | |
311 |
|
320 | |||
312 | filter-with = proxy-prefix |
|
321 | filter-with = proxy-prefix | |
313 |
|
322 | |||
@@ -326,7 +335,7 b' TODO !' | |||||
326 | Other configuration files |
|
335 | Other configuration files | |
327 | ------------------------- |
|
336 | ------------------------- | |
328 |
|
337 | |||
329 | Some example init.d script can be found here, for debian and gentoo: |
|
338 | Some example init.d scripts can be found here, for debian and gentoo: | |
330 |
|
339 | |||
331 | https://rhodeocode.org/rhodecode/files/tip/init.d |
|
340 | https://rhodeocode.org/rhodecode/files/tip/init.d | |
332 |
|
341 | |||
@@ -334,29 +343,30 b' https://rhodeocode.org/rhodecode/files/t' | |||||
334 | Troubleshooting |
|
343 | Troubleshooting | |
335 | --------------- |
|
344 | --------------- | |
336 |
|
345 | |||
337 |
|
|
346 | :Q: **Missing static files?** | |
338 |
|
347 | :A: Make sure either to set the `static_files = true` in the .ini file or | ||
339 | - make sure either to set the `static_files = true` in the .ini file or |
|
|||
340 | double check the root path for your http setup. It should point to |
|
348 | double check the root path for your http setup. It should point to | |
341 | for example: |
|
349 | for example: | |
342 | /home/my-virtual-python/lib/python2.6/site-packages/rhodecode/public |
|
350 | /home/my-virtual-python/lib/python2.6/site-packages/rhodecode/public | |
343 |
|
351 | |||
344 | - can't install celery/rabbitmq |
|
352 | | | |
|
353 | :Q: **Can't install celery/rabbitmq** | |||
|
354 | :A: Don't worry RhodeCode works without them too. No extra setup is required. | |||
345 |
|
355 | |||
346 | - don't worry RhodeCode works without them too. No extra setup required |
|
356 | | | |
347 |
|
357 | :Q: **Long lasting push timeouts?** | ||
348 | - long lasting push timeouts ? |
|
358 | :A: Make sure you set a longer timeouts in your proxy/fcgi settings, timeouts | |
|
359 | are caused by https server and not RhodeCode. | |||
349 |
|
360 | |||
350 | - make sure you set a longer timeouts in your proxy/fcgi settings, timeouts |
|
361 | | | |
351 | are caused by https server and not RhodeCode |
|
362 | :Q: **Large pushes timeouts?** | |
|
363 | :A: Make sure you set a proper max_body_size for the http server. | |||
352 |
|
364 | |||
353 | - large pushes timeouts ? |
|
365 | | | |
354 |
|
366 | :Q: **Apache doesn't pass basicAuth on pull/push?** | ||
355 | - make sure you set a proper max_body_size for the http server |
|
367 | :A: Make sure you added `WSGIPassAuthorization true`. | |
356 |
|
368 | |||
357 | - Apache doesn't pass basicAuth on pull/push ? |
|
369 | For further questions search the `Issues tracker`_, or post a message in the `google group rhodecode`_ | |
358 |
|
||||
359 | - Make sure you added `WSGIPassAuthorization true` |
|
|||
360 |
|
370 | |||
361 | .. _virtualenv: http://pypi.python.org/pypi/virtualenv |
|
371 | .. _virtualenv: http://pypi.python.org/pypi/virtualenv | |
362 | .. _python: http://www.python.org/ |
|
372 | .. _python: http://www.python.org/ | |
@@ -364,3 +374,7 b' Troubleshooting' | |||||
364 | .. _celery: http://celeryproject.org/ |
|
374 | .. _celery: http://celeryproject.org/ | |
365 | .. _rabbitmq: http://www.rabbitmq.com/ |
|
375 | .. _rabbitmq: http://www.rabbitmq.com/ | |
366 | .. _python-ldap: http://www.python-ldap.org/ |
|
376 | .. _python-ldap: http://www.python-ldap.org/ | |
|
377 | .. _mercurial-server: http://www.lshift.net/mercurial-server.html | |||
|
378 | .. _PublishingRepositories: http://mercurial.selenic.com/wiki/PublishingRepositories | |||
|
379 | .. _Issues tracker: https://bitbucket.org/marcinkuzminski/rhodecode/issues | |||
|
380 | .. _google group rhodecode: http://groups.google.com/group/rhodecode No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now