Show More
@@ -37,6 +37,7 b' news' | |||||
37 | repository, and manually updated (via pull) from admin panel |
|
37 | repository, and manually updated (via pull) from admin panel | |
38 | - beta git support - push/pull server + basic view for git repos |
|
38 | - beta git support - push/pull server + basic view for git repos | |
39 | - added followers page and forks page |
|
39 | - added followers page and forks page | |
|
40 | - server side file repository files edition with commits | |||
40 |
|
41 | |||
41 | fixes |
|
42 | fixes | |
42 | ----- |
|
43 | ----- |
@@ -3,19 +3,10 b'' | |||||
3 | Installation |
|
3 | Installation | |
4 | ============ |
|
4 | ============ | |
5 |
|
5 | |||
6 |
``RhodeCode`` is written entirely in Python. |
|
6 | ``RhodeCode`` is written entirely in Python. Before posting any issues make | |
7 | there are some third-party you must install. When RhodeCode is used |
|
7 | sure, your not missing any system libraries and using right version of | |
8 | together with celery you have to install some kind of message broker, |
|
8 | libraries required by RhodeCode. | |
9 | recommended one is rabbitmq_ to make the async tasks work. |
|
|||
10 |
|
9 | |||
11 | Of course RhodeCode works in sync mode also and then you do not have to install |
|
|||
12 | any third party applications. However, using Celery_ will give you a large |
|
|||
13 | speed improvement when using many big repositories. If you plan to use |
|
|||
14 | RhodeCode for say 7 to 10 small repositories, RhodeCode will perform perfectly |
|
|||
15 | well without celery running. |
|
|||
16 |
|
||||
17 | If you make the decision to run RhodeCode with celery make sure you run |
|
|||
18 | celeryd using paster and message broker together with the application. |
|
|||
19 |
|
10 | |||
20 | Installing RhodeCode from Cheese Shop |
|
11 | Installing RhodeCode from Cheese Shop | |
21 | ------------------------------------- |
|
12 | ------------------------------------- | |
@@ -40,7 +31,12 b' Step by step installation example' | |||||
40 | --------------------------------- |
|
31 | --------------------------------- | |
41 |
|
32 | |||
42 |
|
33 | |||
43 | - Assuming you have installed virtualenv_ create a new virtual environment using virtualenv:: |
|
34 | For installing RhodeCode i highly recommend using separate virtualenv_. This | |
|
35 | way many required by RhodeCode libraries will remain sandboxed from your main | |||
|
36 | python and making things less problematic when doing system python updates. | |||
|
37 | ||||
|
38 | - Assuming you have installed virtualenv_ create a new virtual environment | |||
|
39 | using virtualenv command:: | |||
44 |
|
40 | |||
45 | virtualenv --no-site-packages /var/www/rhodecode-venv |
|
41 | virtualenv --no-site-packages /var/www/rhodecode-venv | |
46 |
|
42 | |||
@@ -64,21 +60,40 b' Step by step installation example' | |||||
64 | ``virtualenv`` script. It's perfectly acceptable (and desirable) |
|
60 | ``virtualenv`` script. It's perfectly acceptable (and desirable) | |
65 | to create a virtualenv as a normal user. |
|
61 | to create a virtualenv as a normal user. | |
66 |
|
62 | |||
67 |
- Make a folder for rhodecode somewhere on the |
|
63 | - Make a folder for rhodecode data files, and configuration somewhere on the | |
|
64 | filesystem. For example:: | |||
68 |
|
|
65 | ||
69 | mkdir /var/www/rhodecode |
|
66 | mkdir /var/www/rhodecode | |
70 |
|
67 | |||
71 |
|
68 | |||
72 |
- |
|
69 | - Go into the created directory run this command to install rhodecode:: | |
73 |
|
70 | |||
74 |
easy_install rhodecode |
|
71 | easy_install rhodecode | |
75 |
|
72 | |||
76 | - This will install rhodecode together with pylons and all other required python |
|
73 | or:: | |
77 | libraries |
|
74 | ||
|
75 | pip install rhodecode | |||
|
76 | ||||
|
77 | - This will install rhodecode together with pylons and all other required | |||
|
78 | python libraries into activated virtualenv | |||
78 |
|
79 | |||
79 | Requirements for Celery (optional) |
|
80 | Requirements for Celery (optional) | |
80 | ---------------------------------- |
|
81 | ---------------------------------- | |
81 |
|
82 | |||
|
83 | In order to gain maximum performance | |||
|
84 | there are some third-party you must install. When RhodeCode is used | |||
|
85 | together with celery you have to install some kind of message broker, | |||
|
86 | recommended one is rabbitmq_ to make the async tasks work. | |||
|
87 | ||||
|
88 | Of course RhodeCode works in sync mode also and then you do not have to install | |||
|
89 | any third party applications. However, using Celery_ will give you a large | |||
|
90 | speed improvement when using many big repositories. If you plan to use | |||
|
91 | RhodeCode for say 7 to 10 repositories, RhodeCode will perform perfectly well | |||
|
92 | without celery running. | |||
|
93 | ||||
|
94 | If you make the decision to run RhodeCode with celery make sure you run | |||
|
95 | celeryd using paster and message broker together with the application. | |||
|
96 | ||||
82 | .. note:: |
|
97 | .. note:: | |
83 | Installing message broker and using celery is optional, RhodeCode will |
|
98 | Installing message broker and using celery is optional, RhodeCode will | |
84 | work perfectly fine without them. |
|
99 | work perfectly fine without them. |
@@ -7,14 +7,15 b' Setup' | |||||
7 | Setting up RhodeCode |
|
7 | Setting up RhodeCode | |
8 | -------------------------- |
|
8 | -------------------------- | |
9 |
|
9 | |||
10 |
First, you will need to create a RhodeCode configuration file. Run the |
|
10 | First, you will need to create a RhodeCode configuration file. Run the | |
11 | command to do this:: |
|
11 | following command to do this:: | |
12 |
|
12 | |||
13 | paster make-config RhodeCode production.ini |
|
13 | paster make-config RhodeCode production.ini | |
14 |
|
14 | |||
15 | - This will create the file `production.ini` in the current directory. This |
|
15 | - This will create the file `production.ini` in the current directory. This | |
16 |
configuration file contains the various settings for RhodeCode, e.g proxy |
|
16 | configuration file contains the various settings for RhodeCode, e.g proxy | |
17 |
email settings, usage of static files, cache, celery settings and |
|
17 | port, email settings, usage of static files, cache, celery settings and | |
|
18 | logging. | |||
18 |
|
19 | |||
19 |
|
20 | |||
20 | Next, you need to create the databases used by RhodeCode. I recommend that you |
|
21 | Next, you need to create the databases used by RhodeCode. I recommend that you | |
@@ -27,19 +28,19 b' the following command::' | |||||
27 |
|
28 | |||
28 | This will prompt you for a "root" path. This "root" path is the location where |
|
29 | This will prompt you for a "root" path. This "root" path is the location where | |
29 | RhodeCode will store all of its repositories on the current machine. After |
|
30 | RhodeCode will store all of its repositories on the current machine. After | |
30 |
entering this "root" path ``setup-app`` will also prompt you for a username |
|
31 | entering this "root" path ``setup-app`` will also prompt you for a username | |
31 | for the initial admin account which ``setup-app`` sets up for you. |
|
32 | and password for the initial admin account which ``setup-app`` sets up for you. | |
32 |
|
33 | |||
33 | - The ``setup-app`` command will create all of the needed tables and an admin |
|
34 | - The ``setup-app`` command will create all of the needed tables and an admin | |
34 |
account. When choosing a root path you can either use a new empty location, |
|
35 | account. When choosing a root path you can either use a new empty location, | |
35 |
location which already contains existing repositories. If you choose a |
|
36 | or a location which already contains existing repositories. If you choose a | |
36 |
which contains existing repositories RhodeCode will simply add all |
|
37 | location which contains existing repositories RhodeCode will simply add all | |
37 |
repositories at the chosen location to it's database. (Note: make |
|
38 | of the repositories at the chosen location to it's database. (Note: make | |
38 | specify the correct path to the root). |
|
39 | sure you specify the correct path to the root). | |
39 | - Note: the given path for mercurial_ repositories **must** be write accessible |
|
40 | - Note: the given path for mercurial_ repositories **must** be write accessible | |
40 |
for the application. It's very important since the RhodeCode web interface |
|
41 | for the application. It's very important since the RhodeCode web interface | |
41 |
work without write access, but when trying to do a push it will |
|
42 | will work without write access, but when trying to do a push it will | |
42 | with permission denied errors unless it has write access. |
|
43 | eventually fail with permission denied errors unless it has write access. | |
43 |
|
44 | |||
44 | You are now ready to use RhodeCode, to run it simply execute:: |
|
45 | You are now ready to use RhodeCode, to run it simply execute:: | |
45 |
|
46 | |||
@@ -48,7 +49,8 b' You are now ready to use RhodeCode, to r' | |||||
48 | - This command runs the RhodeCode server. The web app should be available at the |
|
49 | - This command runs the RhodeCode server. The web app should be available at the | |
49 | 127.0.0.1:5000. This ip and port is configurable via the production.ini |
|
50 | 127.0.0.1:5000. This ip and port is configurable via the production.ini | |
50 | file created in previous step |
|
51 | file created in previous step | |
51 |
- Use the admin account you created above when running ``setup-app`` to login |
|
52 | - Use the admin account you created above when running ``setup-app`` to login | |
|
53 | to the web app. | |||
52 | - The default permissions on each repository is read, and the owner is admin. |
|
54 | - The default permissions on each repository is read, and the owner is admin. | |
53 | Remember to update these if needed. |
|
55 | Remember to update these if needed. | |
54 | - In the admin panel you can toggle ldap, anonymous, permissions settings. As |
|
56 | - In the admin panel you can toggle ldap, anonymous, permissions settings. As | |
@@ -56,9 +58,9 b' You are now ready to use RhodeCode, to r' | |||||
56 |
|
58 | |||
57 | Try copying your own mercurial repository into the "root" directory you are |
|
59 | Try copying your own mercurial repository into the "root" directory you are | |
58 | using, then from within the RhodeCode web application choose Admin > |
|
60 | using, then from within the RhodeCode web application choose Admin > | |
59 |
repositories. Then choose Add New Repository. Add the repository you copied |
|
61 | repositories. Then choose Add New Repository. Add the repository you copied | |
60 |
the root. Test that you can browse your repository from within RhodeCode |
|
62 | into the root. Test that you can browse your repository from within RhodeCode | |
61 | try cloning your repository from RhodeCode with:: |
|
63 | and then try cloning your repository from RhodeCode with:: | |
62 |
|
64 | |||
63 | hg clone http://127.0.0.1:5000/<repository name> |
|
65 | hg clone http://127.0.0.1:5000/<repository name> | |
64 |
|
66 | |||
@@ -67,8 +69,8 b' where *repository name* is replaced by t' | |||||
67 | Using RhodeCode with SSH |
|
69 | Using RhodeCode with SSH | |
68 | ------------------------ |
|
70 | ------------------------ | |
69 |
|
71 | |||
70 |
RhodeCode currently only hosts repositories using http and https. (The addition |
|
72 | RhodeCode currently only hosts repositories using http and https. (The addition | |
71 | ssh hosting is a planned future feature.) However you can easily use ssh in |
|
73 | of ssh hosting is a planned future feature.) However you can easily use ssh in | |
72 | parallel with RhodeCode. (Repository access via ssh is a standard "out of |
|
74 | parallel with RhodeCode. (Repository access via ssh is a standard "out of | |
73 | the box" feature of mercurial_ and you can use this to access any of the |
|
75 | the box" feature of mercurial_ and you can use this to access any of the | |
74 | repositories that RhodeCode is hosting. See PublishingRepositories_) |
|
76 | repositories that RhodeCode is hosting. See PublishingRepositories_) | |
@@ -77,10 +79,10 b' RhodeCode repository structures are kept' | |||||
77 | as the project. When using repository groups, each group is a subdirectory. |
|
79 | as the project. When using repository groups, each group is a subdirectory. | |
78 | This allows you to easily use ssh for accessing repositories. |
|
80 | This allows you to easily use ssh for accessing repositories. | |
79 |
|
81 | |||
80 |
In order to use ssh you need to make sure that your web-server and the users |
|
82 | In order to use ssh you need to make sure that your web-server and the users | |
81 |
accounts have the correct permissions set on the appropriate directories. |
|
83 | login accounts have the correct permissions set on the appropriate directories. | |
82 |
that these permissions are independent of any permissions you have set up |
|
84 | (Note that these permissions are independent of any permissions you have set up | |
83 | the RhodeCode web interface.) |
|
85 | using the RhodeCode web interface.) | |
84 |
|
86 | |||
85 | If your main directory (the same as set in RhodeCode settings) is for example |
|
87 | If your main directory (the same as set in RhodeCode settings) is for example | |
86 | set to **/home/hg** and the repository you are using is named `rhodecode`, then |
|
88 | set to **/home/hg** and the repository you are using is named `rhodecode`, then | |
@@ -230,8 +232,8 b' Connection Security : required' | |||||
230 |
|
232 | |||
231 | Certificate Checks : optional |
|
233 | Certificate Checks : optional | |
232 | How SSL certificates verification is handled - this is only useful when |
|
234 | How SSL certificates verification is handled - this is only useful when | |
233 |
`Enable LDAPS`_ is enabled. Only DEMAND or HARD offer full SSL security |
|
235 | `Enable LDAPS`_ is enabled. Only DEMAND or HARD offer full SSL security | |
234 | the other options are susceptible to man-in-the-middle attacks. SSL |
|
236 | while the other options are susceptible to man-in-the-middle attacks. SSL | |
235 | certificates can be installed to /etc/openldap/cacerts so that the |
|
237 | certificates can be installed to /etc/openldap/cacerts so that the | |
236 | DEMAND or HARD options can be used with self-signed certificates or |
|
238 | DEMAND or HARD options can be used with self-signed certificates or | |
237 | certificates that do not have traceable certificates of authority. |
|
239 | certificates that do not have traceable certificates of authority. | |
@@ -359,8 +361,8 b' In order to start using celery run::' | |||||
359 |
|
361 | |||
360 |
|
362 | |||
361 | .. note:: |
|
363 | .. note:: | |
362 |
Make sure you run this command from the same virtualenv, and with the same |
|
364 | Make sure you run this command from the same virtualenv, and with the same | |
363 | that rhodecode runs. |
|
365 | user that rhodecode runs. | |
364 |
|
366 | |||
365 | HTTPS support |
|
367 | HTTPS support | |
366 | ------------- |
|
368 | ------------- | |
@@ -369,8 +371,8 b' There are two ways to enable https:' | |||||
369 |
|
371 | |||
370 | - Set HTTP_X_URL_SCHEME in your http server headers, than rhodecode will |
|
372 | - Set HTTP_X_URL_SCHEME in your http server headers, than rhodecode will | |
371 | recognize this headers and make proper https redirections |
|
373 | recognize this headers and make proper https redirections | |
372 |
- Alternatively, set `force_https = true` in the ini configuration to force |
|
374 | - Alternatively, set `force_https = true` in the ini configuration to force | |
373 | https, no headers are needed than to enable https |
|
375 | using https, no headers are needed than to enable https | |
374 |
|
376 | |||
375 |
|
377 | |||
376 | Nginx virtual host example |
|
378 | Nginx virtual host example | |
@@ -526,7 +528,8 b' Troubleshooting' | |||||
526 | :Q: **Apache doesn't pass basicAuth on pull/push?** |
|
528 | :Q: **Apache doesn't pass basicAuth on pull/push?** | |
527 | :A: Make sure you added `WSGIPassAuthorization true`. |
|
529 | :A: Make sure you added `WSGIPassAuthorization true`. | |
528 |
|
530 | |||
529 |
For further questions search the `Issues tracker`_, or post a message in the |
|
531 | For further questions search the `Issues tracker`_, or post a message in the | |
|
532 | `google group rhodecode`_ | |||
530 |
|
533 | |||
531 | .. _virtualenv: http://pypi.python.org/pypi/virtualenv |
|
534 | .. _virtualenv: http://pypi.python.org/pypi/virtualenv | |
532 | .. _python: http://www.python.org/ |
|
535 | .. _python: http://www.python.org/ |
General Comments 0
You need to be logged in to leave comments.
Login now