comparison docs/setup.rst @ 707:1105531ae572 beta

docs update, added ldap section, added troubleshooting section fixed changelog
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 18 Nov 2010 01:03:00 +0100
parents 341beaa9edba
children 066af351c6d8
comparison
equal deleted inserted replaced
706:4b354421bf29 707:1105531ae572
10 :: 10 ::
11 11
12 paster make-config RhodeCode production.ini 12 paster make-config RhodeCode production.ini
13 13
14 - This will create `production.ini` config inside the directory 14 - This will create `production.ini` config inside the directory
15 this config contain various settings for rhodecode, e.g port, email settings 15 this config contains various settings for rhodecode, e.g proxy port,
16 static files, cache and logging. 16 email settings,static files, cache and logging.
17 17
18 :: 18 ::
19 19
20 paster setup-app production.ini 20 paster setup-app production.ini
21 21
49 whoosh index files locations. There is possible to pass `-f` to the options 49 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 50 to enable full index rebuild. Without that indexing will run always in in
51 incremental mode. 51 incremental mode.
52 52
53 :: 53 ::
54
54 paster make-index --repo-location=<location for repos> production.ini 55 paster make-index --repo-location=<location for repos> production.ini
55 56
56 for full index rebuild You can use 57 for full index rebuild You can use
57 58
58 :: 59 ::
60
59 paster make-index -f --repo-location=<location for repos> production.ini 61 paster make-index -f --repo-location=<location for repos> production.ini
60 62
61 - For full text search You can either put crontab entry for 63 - For full text search You can either put crontab entry for
62 64
63 This command can be run even from crontab in order to do periodical 65 This command can be run even from crontab in order to do periodical
74 76
75 Sometime You might want to rebuild index from scratch. You can do that using 77 Sometime You might want to rebuild index from scratch. You can do that using
76 the `-f` flag passed to paster command or, in admin panel You can check 78 the `-f` flag passed to paster command or, in admin panel You can check
77 `build from scratch` flag. 79 `build from scratch` flag.
78 80
81
82 Setting up LDAP support
83 -----------------------
84
85
86 RhodeCode starting from version 1.1 supports ldap authentication. In order
87 to use ldap, You have to install ldap-python package. This package is available
88 via pypi, so You can install it by running
89
90 ::
91
92 easy_install ldap-python
93
94 ::
95
96 pip install ldap-python
97
98
99 ldap-python requires some certain libs on Your system, so before installing it
100 check that You have at least `openldap`, and `sasl` libraries.
101
102 ldap settings are located in admin->permissions section,
103
104 Here's a typical ldap setup::
105
106 Enable ldap = checked #controlls if ldap access is enabled
107 Host = host.domain.org #acctuall ldap server to connect
108 Port = 389 or 689 for ldaps #ldap server ports
109 Enable LDAPS = unchecked #enable disable ldaps
110 Account = <account> #access for ldap server(if required)
111 Password = <password> #password for ldap server(if required)
112 Base DN = CN=users,DC=host,DC=domain,DC=org
113
114
115 `Account` and `Password` are optional, and used for two-phase ldap
116 authentication so those are credentials to access Your ldap, if it doesn't
117 support anonymous search/user lookups.
118
119 If all data are entered correctly, and `ldap-python` is properly installed
120 Users should be granted to access rhodecode wit theire ldap accounts. When
121 logging at the first time an special ldap account is created inside rhodecode,
122 so You can control over permissions even on ldap users. If such user exists
123 already in rhodecode database ldap user with the same username would be not
124 able to access rhodecode.
125
126 If You have problems with ldap access and believe You entered correct
127 information check out the rhodecode logs,any error messages sent from
128 ldap will be saved there.
129
130
79 Nginx virtual host example 131 Nginx virtual host example
80 -------------------------- 132 --------------------------
81 133
82 Sample config for nginx:: 134 Sample config for nginx using proxy::
83 135
84 server { 136 server {
85 listen 80; 137 listen 80;
86 server_name hg.myserver.com; 138 server_name hg.myserver.com;
87 access_log /var/log/nginx/rhodecode.access.log; 139 access_log /var/log/nginx/rhodecode.access.log;
128 cache_dir = %(here)s/data 180 cache_dir = %(here)s/data
129 181
130 To not have the statics served by the application. And improve speed. 182 To not have the statics served by the application. And improve speed.
131 183
132 184
185
186 Apache's example FCGI config
187 ----------------------------
188
189 TODO !
190
133 Other configuration files 191 Other configuration files
134 ------------------------- 192 -------------------------
135 193
136 Some extra configuration files and examples can be found here: 194 Some extra configuration files and examples can be found here:
137 http://hg.python-works.com/rhodecode/files/tip/init.d 195 http://hg.python-works.com/rhodecode/files/tip/init.d
138 196
139 and also an celeryconfig file can be use from here: 197 and also an celeryconfig file can be use from here:
140 http://hg.python-works.com/rhodecode/files/tip/celeryconfig.py 198 http://hg.python-works.com/rhodecode/files/tip/celeryconfig.py
199
200 Troubleshooting
201 ---------------
202
203 - missing static files ?
204
205 - make sure either to set the `static_files = true` in the .ini file or
206 double check the root path for Your http setup. It should point to
207 for example:
208 /home/my-virtual-python/lib/python2.6/site-packages/rhodecode/public
209
210 - can't install celery/rabbitmq
211
212 - don't worry RhodeCode works without them too. No extra setup required
213
214
215 - long lasting push timeouts ?
216
217 - make sure You set a longer timeouts in Your proxy/fcgi settings, timeouts
218 are caused by https server and not rhodecode
219
220 - large pushes timeouts ?
221
222 - make sure You set a proper max_body_size for the http server
141 223
142 224
143 225
144 .. _virtualenv: http://pypi.python.org/pypi/virtualenv 226 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
145 .. _python: http://www.python.org/ 227 .. _python: http://www.python.org/