Files
@ bee56f209c40
Branch filter:
Location: kallithea/docs/setup.rst - annotation
bee56f209c40
4.6 KiB
text/prs.fallenstein.rst
fixes few bugs
- fixed #53 python2.5 incompatible enumerate calls
- fixed #52 disable mercurial extension for web
- fixed #51 deleting repositories don't delete it's dependent objects
- small css updated
- fixed #53 python2.5 incompatible enumerate calls
- fixed #52 disable mercurial extension for web
- fixed #51 deleting repositories don't delete it's dependent objects
- small css updated
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | 5f481e4e888b 5f481e4e888b 5f481e4e888b 5f481e4e888b 5f481e4e888b 5f481e4e888b a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 53128b6b9a4d a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 0a48c1ec04fc a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 0a48c1ec04fc a60cd29ba7e2 a60cd29ba7e2 0a48c1ec04fc a60cd29ba7e2 bee56f209c40 bee56f209c40 bee56f209c40 bee56f209c40 bee56f209c40 bee56f209c40 bee56f209c40 bee56f209c40 bee56f209c40 bee56f209c40 bee56f209c40 bee56f209c40 0a48c1ec04fc a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 0a48c1ec04fc a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 bee56f209c40 a60cd29ba7e2 bee56f209c40 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 0a48c1ec04fc a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 5f481e4e888b 0a48c1ec04fc a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 0a48c1ec04fc a60cd29ba7e2 a60cd29ba7e2 1e2adb37cab6 1e2adb37cab6 1e2adb37cab6 1e2adb37cab6 1e2adb37cab6 1e2adb37cab6 1e2adb37cab6 1e2adb37cab6 1e2adb37cab6 1e2adb37cab6 1e2adb37cab6 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 a60cd29ba7e2 | .. _setup:
Setup
=====
Setting up the application
--------------------------
::
paster make-config RhodeCode production.ini
- This will create `production.ini` config inside the directory
this config contain various settings for rhodecode, e.g port, email settings
static files, cache and logging.
::
paster setup-app production.ini
- This command will create all needed tables and an admin account.
When asked for a path You can either use a new location of one with already
existing ones. RhodeCode will simply add all new found repositories to
it's database. Also make sure You specify correct path to repositories.
- Remember that the given path for mercurial_ repositories must be write
accessible for the application. It's very important since RhodeCode web interface
will work even without such an access but, when trying to do a push it'll
eventually fail with permission denied errors.
- Run
::
paster serve production.ini
- This command runs the rhodecode server the app should be available at the
127.0.0.1:5000. This ip and port is configurable via the production.ini
file created in previous step
- Use admin account you created to login.
- Default permissions on each repository is read, and owner is admin. So
remember to update these if needed.
Note
----
RhodeCode when running without the celery it's running all it's task in sync
mode, for first few times when visiting summary page You can notice few
slow downs, this is due the statistics building it's cache. After all changesets
are parsed it'll take the stats from cache and run much faster. Each summary
page display parse at most 250 changesets in order to not stress the cpu, so
the full stats are going to be loaded after total_number_of_changesets/250
summary page visits.
Setting up Whoosh
-----------------
- For full text search You can either put crontab entry for
::
python /var/www/rhodecode/<rhodecode_installation_path>/lib/indexers/daemon.py incremental <put_here_path_to_repos>
When using incremental mode whoosh will check last modification date of each file
and add it to reindex if newer file is available. Also indexing daemon checks
for removed files and removes them from index. Sometime You might want to rebuild
index from scratch, in admin panel You can check `build from scratch` flag
and in standalone daemon You can pass `full` instead on incremental to build
remove previous index and build new one.
Nginx virtual host example
--------------------------
Sample config for nginx::
server {
listen 80;
server_name hg.myserver.com;
access_log /var/log/nginx/rhodecode.access.log;
error_log /var/log/nginx/rhodecode.error.log;
location / {
root /var/www/rhodecode/rhodecode/public/;
if (!-f $request_filename){
proxy_pass http://127.0.0.1:5000;
}
#this is important for https !!!
proxy_set_header X-Url-Scheme $scheme;
include /etc/nginx/proxy.conf;
}
}
Here's the proxy.conf. It's tuned so it'll not timeout on long
pushes and also on large pushes::
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy-host $proxy_host;
client_max_body_size 400m;
client_body_buffer_size 128k;
proxy_buffering off;
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
proxy_read_timeout 3600;
proxy_buffer_size 8k;
proxy_buffers 8 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
Also when using root path with nginx You might set the static files to false
in production.ini file::
[app:main]
use = egg:rhodecode
full_stack = true
static_files = false
lang=en
cache_dir = %(here)s/data
To not have the statics served by the application. And improve speed.
Other configuration files
-------------------------
Some extra configuration files and examples can be found here:
http://hg.python-works.com/rhodecode/files/tip/init.d
and also an celeryconfig file can be use from here:
http://hg.python-works.com/rhodecode/files/tip/celeryconfig.py
.. _virtualenv: http://pypi.python.org/pypi/virtualenv
.. _python: http://www.python.org/
.. _mercurial: http://mercurial.selenic.com/
.. _celery: http://celeryproject.org/
.. _rabbitmq: http://www.rabbitmq.com/
|