comparison docs/installation.rst @ 568:5f481e4e888b

updated docs, added sphinx build
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 10 Oct 2010 17:24:41 +0200
parents
children a60cd29ba7e2
comparison
equal deleted inserted replaced
567:80dc0a23edf7 568:5f481e4e888b
1 .. _installation:
2
3 Installation
4 ============
5
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
8 together with celery You have to install some kind of message broker,
9 recommended one is rabbitmq to make the async tasks work.
10 For installation instructions You can visit:
11 http://ask.github.com/celery/getting-started/index.html.
12
13 Of course RhodeCode works in sync mode also, then You don't have to install
14 any third party apps. Celery will give You large speed improvement when using
15 many big repositories. If You plan to use it for 2 or 3 small repositories, it
16 will work just fine without celery running.
17
18 After You decide to Run it with celery make sure You run celeryd and
19 message broker together with the application.
20
21 Requirements for Celery
22 -----------------------
23
24 **Message Broker**
25
26 - preferred is `RabbitMq <http://www.rabbitmq.com/>`_
27 - possible other is `Redis <http://code.google.com/p/redis/>`_
28
29
30 Install from Cheese Shop
31 ------------------------
32
33 Easiest way to install ``rhodecode`` is to run::
34
35 easy_install rhodecode
36
37 Or::
38
39 pip install rhodecode
40
41 If you prefer to install manually simply grab latest release from
42 http://pypi.python.org/pypi/rhodecode, decompres archive and run::
43
44 python setup.py install
45
46
47 **Setting up the application**
48 I recommend to run the RhodeCode in separate virtualenv.
49 See http://pypi.python.org/pypi/virtualenv for more details.
50
51 - run `paster make-config RhodeCode production.ini` make specific application
52 config,
53 - run `paster setup-app production.ini` makes the database, and propagates it
54 with default data, In this step You have to provide admin username and repositories
55 location, it can be a new location or with existing ones in that case RhodeCode
56 will scann all new found repos and put it into database.
57 - run `paster runserver production.ini` runs the server.
58
59
60 **STEP BY STEP EXAMPLE INSTRUCTION**
61
62
63 - Assuming You have setup virtualenv create one using
64 `virtualenv --no-site-packages /var/www/rhodecode-venv`
65 this will install new virtual env into /var/www/rhodecode-venv.
66 - Activate the virtualenv by running
67 `source activate /var/www/rhodecode-venv/bin/activate`
68 - Make a folder for rhodecode somewhere on the filesystem for example
69 /var/www/rhodecode
70 - Run easy_install rhodecode, this will install rhodecode together with pylons
71 and all other required python libraries
72 - Run `paster make-config RhodeCode production.ini` in order to install
73 the application config.
74 - Run `paster setup-app production.ini` it should create all needed tables
75 and an admin account. Also make sure You specify correct path to repositories.
76 You can either use a new location of one with already exising ones. RhodeCode
77 will simply add all new found repositories to it's database.
78 - Remember that the given path for mercurial repositories must be write
79 accessible for the application. It's very important since RhodeCode web interface
80 will work even without such an access but, when trying to do a push it's eventually
81 failed with permission denied.
82 - Run `paster serve production.ini`
83 the app should be available at the 127.0.0.1:5000
84 - Use admin account you created to login.
85 - Default permissions on each repository is read, and owner is admin. So remember
86 to update these.
87
88 - All needed configs are inside rhodecode sources ie. celeryconfig.py,
89 development.ini, production.ini You can configure the email, ports, loggers,
90 workers from there.
91 - For full text search You can either put crontab entry for
92 `python /var/www/rhodecode/rhodecode/lib/indexers/daemon.py incremental <path_to_repos>`
93 or run indexer from admin panel. This will scann the repos given in the
94 application setup or given path for daemon.py and each scann in incremental
95 mode will scan only changed files.