Mercurial > kallithea
annotate docs/setup.rst @ 8602:3e9d079fcf91
merge stable
author | Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> |
---|---|
date | Sat, 22 Aug 2020 20:53:43 +0200 |
parents | 307c876a6e89 |
children | 61bd04b90f58 |
rev | line source |
---|---|
568
5f481e4e888b
updated docs, added sphinx build
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
1 .. _setup: |
5f481e4e888b
updated docs, added sphinx build
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
2 |
2095 | 3 ===== |
568
5f481e4e888b
updated docs, added sphinx build
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
4 Setup |
5f481e4e888b
updated docs, added sphinx build
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
5 ===== |
5f481e4e888b
updated docs, added sphinx build
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
6 |
5f481e4e888b
updated docs, added sphinx build
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
7 |
4192
e73a69cb98dc
Rename some strings examples and commands in documentation
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4186
diff
changeset
|
8 Setting up Kallithea |
1448 | 9 -------------------- |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
10 |
8576
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
11 Some further details to the steps mentioned in the overview. |
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
12 |
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
13 Create low level configuration file |
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
14 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
15 |
8578
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
16 First, you will need to create a Kallithea configuration file. The |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
17 configuration file is a ``.ini`` file that contains various low level settings |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
18 for Kallithea, e.g. configuration of how to use database, web server, email, |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
19 and logging. |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
20 |
8578
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
21 Run the following command to create the file ``my.ini`` in the current |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
22 directory:: |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
23 |
8578
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
24 kallithea-cli config-create my.ini http_server=waitress |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
25 |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
26 To get a good starting point for your configuration, specify the http server |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
27 you intend to use. It can be ``waitress``, ``gearbox``, ``gevent``, |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
28 ``gunicorn``, or ``uwsgi``. (Apache ``mod_wsgi`` will not use this |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
29 configuration file, and it is fine to keep the default http_server configuration |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
30 unused. ``mod_wsgi`` is configured using ``httpd.conf`` directives and a WSGI |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
31 wrapper script.) |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
32 |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
33 Extra custom settings can be specified like:: |
6898
a8b9f2d68e7d
make-config: allow configuration of any ini value
Mads Kiilerich <mads@kiilerich.com>
parents:
6789
diff
changeset
|
34 |
7406
7784a1212471
cli: convert 'gearbox make-config' into 'kallithea-cli config-create'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7389
diff
changeset
|
35 kallithea-cli config-create my.ini host=8.8.8.8 "[handler_console]" formatter=color_formatter |
845 | 36 |
8576
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
37 Populate the database |
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
38 ^^^^^^^^^^^^^^^^^^^^^ |
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
39 |
8578
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
40 Next, you need to create the databases used by Kallithea. Kallithea currently |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
41 supports PostgreSQL, SQLite and MariaDB/MySQL databases. It is recommended to |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
42 start out using SQLite (the default) and move to PostgreSQL if it becomes a |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
43 bottleneck or to get a "proper" database. MariaDB/MySQL is also supported. |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
44 |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
45 For PostgreSQL, run ``pip install psycopg2`` to get the database driver. Make |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
46 sure the PostgreSQL server is initialized and running. Make sure you have a |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
47 database user with password authentication with permissions to create databases |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
48 - for example by running:: |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
49 |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
50 sudo -u postgres createuser 'kallithea' --pwprompt --createdb |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
51 |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
52 For MariaDB/MySQL, run ``pip install mysqlclient`` to get the ``MySQLdb`` |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
53 database driver. Make sure the database server is initialized and running. Make |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
54 sure you have a database user with password authentication with permissions to |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
55 create the database - for example by running:: |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
56 |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
57 echo 'CREATE USER "kallithea"@"localhost" IDENTIFIED BY "password"' | sudo -u mysql mysql |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
58 echo 'GRANT ALL PRIVILEGES ON `kallithea`.* TO "kallithea"@"localhost"' | sudo -u mysql mysql |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
59 |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
60 Check and adjust ``sqlalchemy.url`` in your ``my.ini`` configuration file to use |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
61 this database. |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
62 |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
63 Create the database, tables, and initial content by running the following |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
64 command:: |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
65 |
7414
3158cf0dafb7
cli: convert 'gearbox setup-db' into 'kallithea-cli db-create'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7406
diff
changeset
|
66 kallithea-cli db-create -c my.ini |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
67 |
8577
4742b8c89472
docs: drop odd verbose note on writeable root path
Mads Kiilerich <mads@kiilerich.com>
parents:
8576
diff
changeset
|
68 This will first prompt you for a "root" path. This "root" path is the location |
4742b8c89472
docs: drop odd verbose note on writeable root path
Mads Kiilerich <mads@kiilerich.com>
parents:
8576
diff
changeset
|
69 where Kallithea will store all of its repositories on the current machine. This |
4742b8c89472
docs: drop odd verbose note on writeable root path
Mads Kiilerich <mads@kiilerich.com>
parents:
8576
diff
changeset
|
70 location must be writable for the running Kallithea application. Next, |
4742b8c89472
docs: drop odd verbose note on writeable root path
Mads Kiilerich <mads@kiilerich.com>
parents:
8576
diff
changeset
|
71 ``db-create`` will prompt you for a username and password for the initial admin |
4742b8c89472
docs: drop odd verbose note on writeable root path
Mads Kiilerich <mads@kiilerich.com>
parents:
8576
diff
changeset
|
72 account it sets up for you. |
845 | 73 |
7414
3158cf0dafb7
cli: convert 'gearbox setup-db' into 'kallithea-cli db-create'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7406
diff
changeset
|
74 The ``db-create`` values can also be given on the command line. |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
75 Example:: |
2358
69df04ee1e2b
added detailed step-by-step installation instruction for windows
Marcin Kuzminski <marcin@python-works.com>
parents:
2284
diff
changeset
|
76 |
7414
3158cf0dafb7
cli: convert 'gearbox setup-db' into 'kallithea-cli db-create'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7406
diff
changeset
|
77 kallithea-cli db-create -c my.ini --user=nn --password=secret --email=nn@example.com --repos=/srv/repos |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
78 |
7414
3158cf0dafb7
cli: convert 'gearbox setup-db' into 'kallithea-cli db-create'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7406
diff
changeset
|
79 The ``db-create`` command will create all needed tables and an |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
80 admin account. When choosing a root path you can either use a new |
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
81 empty location, or a location which already contains existing |
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
82 repositories. If you choose a location which contains existing |
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
83 repositories Kallithea will add all of the repositories at the chosen |
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
84 location to its database. (Note: make sure you specify the correct |
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
85 path to the root). |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
86 |
8592
307c876a6e89
db: introduce db-create --reuse option
Mads Kiilerich <mads@kiilerich.com>
parents:
8578
diff
changeset
|
87 .. note:: It is also possible to use an existing database. For example, |
307c876a6e89
db: introduce db-create --reuse option
Mads Kiilerich <mads@kiilerich.com>
parents:
8578
diff
changeset
|
88 when using PostgreSQL without granting general createdb privileges to |
307c876a6e89
db: introduce db-create --reuse option
Mads Kiilerich <mads@kiilerich.com>
parents:
8578
diff
changeset
|
89 the PostgreSQL kallithea user, set ``sqlalchemy.url = |
307c876a6e89
db: introduce db-create --reuse option
Mads Kiilerich <mads@kiilerich.com>
parents:
8578
diff
changeset
|
90 postgresql://kallithea:password@localhost/kallithea`` and create the |
307c876a6e89
db: introduce db-create --reuse option
Mads Kiilerich <mads@kiilerich.com>
parents:
8578
diff
changeset
|
91 database like:: |
307c876a6e89
db: introduce db-create --reuse option
Mads Kiilerich <mads@kiilerich.com>
parents:
8578
diff
changeset
|
92 |
307c876a6e89
db: introduce db-create --reuse option
Mads Kiilerich <mads@kiilerich.com>
parents:
8578
diff
changeset
|
93 sudo -u postgres createdb 'kallithea' --owner 'kallithea' |
307c876a6e89
db: introduce db-create --reuse option
Mads Kiilerich <mads@kiilerich.com>
parents:
8578
diff
changeset
|
94 kallithea-cli db-create -c my.ini --reuse |
307c876a6e89
db: introduce db-create --reuse option
Mads Kiilerich <mads@kiilerich.com>
parents:
8578
diff
changeset
|
95 |
8576
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
96 Prepare front-end files |
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
97 ^^^^^^^^^^^^^^^^^^^^^^^ |
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
98 |
8444
850f096505ac
docs: mention the npm dependency more clearly (Issue #345)
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
99 Finally, the front-end files must be prepared. This requires ``npm`` version 6 |
850f096505ac
docs: mention the npm dependency more clearly (Issue #345)
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
100 or later, which needs ``node.js`` (version 12 or later). Prepare the front-end |
850f096505ac
docs: mention the npm dependency more clearly (Issue #345)
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
101 by running:: |
7437
b66725ba01ed
cli: add command 'kallithea-cli front-end-build'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7417
diff
changeset
|
102 |
b66725ba01ed
cli: add command 'kallithea-cli front-end-build'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7417
diff
changeset
|
103 kallithea-cli front-end-build |
b66725ba01ed
cli: add command 'kallithea-cli front-end-build'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7417
diff
changeset
|
104 |
8576
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
105 Running |
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
106 ^^^^^^^ |
a63ccbc632d1
docs: add more section headings to setup description to show how it corresponds to the overview
Mads Kiilerich <mads@kiilerich.com>
parents:
8444
diff
changeset
|
107 |
8578
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
108 You are now ready to use Kallithea. To run it using a gearbox web server, |
ff8651b2f14f
docs: augment setup description with more details of http server and database
Mads Kiilerich <mads@kiilerich.com>
parents:
8577
diff
changeset
|
109 simply execute:: |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
110 |
6554
2c3d30095d5e
gearbox: replace paster with something TurboGears2-ish that still works with the Pylons stack
Mads Kiilerich <madski@unity3d.com>
parents:
6457
diff
changeset
|
111 gearbox serve -c my.ini |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
112 |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
113 - This command runs the Kallithea server. The web app should be available at |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
114 http://127.0.0.1:5000. The IP address and port is configurable via the |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
115 configuration file created in the previous step. |
7414
3158cf0dafb7
cli: convert 'gearbox setup-db' into 'kallithea-cli db-create'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7406
diff
changeset
|
116 - Log in to Kallithea using the admin account created when running ``db-create``. |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
117 - The default permissions on each repository is read, and the owner is admin. |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
118 Remember to update these if needed. |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
119 - In the admin panel you can toggle LDAP, anonymous, and permissions |
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
120 settings, as well as edit more advanced options on users and |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
121 repositories. |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
122 |
5077
faf943716616
rcextensions: cleanup of code and documentation
Mads Kiilerich <madski@unity3d.com>
parents:
4955
diff
changeset
|
123 |
6695
8931078f70db
docs: add documentation about internationalization from a user perspective
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
6555
diff
changeset
|
124 Internationalization (i18n support) |
8931078f70db
docs: add documentation about internationalization from a user perspective
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
6555
diff
changeset
|
125 ----------------------------------- |
2105
926f55b038bc
added initial rc-extension module
Marcin Kuzminski <marcin@python-works.com>
parents:
2095
diff
changeset
|
126 |
6695
8931078f70db
docs: add documentation about internationalization from a user perspective
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
6555
diff
changeset
|
127 The Kallithea web interface is automatically displayed in the user's preferred |
8931078f70db
docs: add documentation about internationalization from a user perspective
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
6555
diff
changeset
|
128 language, as indicated by the browser. Thus, different users may see the |
8931078f70db
docs: add documentation about internationalization from a user perspective
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
6555
diff
changeset
|
129 application in different languages. If the requested language is not available |
8931078f70db
docs: add documentation about internationalization from a user perspective
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
6555
diff
changeset
|
130 (because the translation file for that language does not yet exist or is |
8095
7c7d6b5c07c7
i18n: make sure 'en' in Accept-Language is recognized as having 100% coverage - i18n.lang is for source language
Mads Kiilerich <mads@kiilerich.com>
parents:
8086
diff
changeset
|
131 incomplete), English is used. |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
132 |
6695
8931078f70db
docs: add documentation about internationalization from a user perspective
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
6555
diff
changeset
|
133 If you want to disable automatic language detection and instead configure a |
8931078f70db
docs: add documentation about internationalization from a user perspective
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
6555
diff
changeset
|
134 fixed language regardless of user preference, set ``i18n.enabled = false`` and |
8095
7c7d6b5c07c7
i18n: make sure 'en' in Accept-Language is recognized as having 100% coverage - i18n.lang is for source language
Mads Kiilerich <mads@kiilerich.com>
parents:
8086
diff
changeset
|
135 specify another language by setting ``i18n.lang`` in the Kallithea |
7c7d6b5c07c7
i18n: make sure 'en' in Accept-Language is recognized as having 100% coverage - i18n.lang is for source language
Mads Kiilerich <mads@kiilerich.com>
parents:
8086
diff
changeset
|
136 configuration file. |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
137 |
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
138 |
4192
e73a69cb98dc
Rename some strings examples and commands in documentation
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4186
diff
changeset
|
139 Using Kallithea with SSH |
912
8378122aa408
docs: changelog + setup update
Marcin Kuzminski <marcin@python-works.com>
parents:
894
diff
changeset
|
140 ------------------------ |
8378122aa408
docs: changelog + setup update
Marcin Kuzminski <marcin@python-works.com>
parents:
894
diff
changeset
|
141 |
7783
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
142 Kallithea supports repository access via SSH key based authentication. |
7829
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
143 This means: |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
144 |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
145 - repository URLs like ``ssh://kallithea@example.com/name/of/repository`` |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
146 |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
147 - all network traffic for both read and write happens over the SSH protocol on |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
148 port 22, without using HTTP/HTTPS nor the Kallithea WSGI application |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
149 |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
150 - encryption and authentication protocols are managed by the system's ``sshd`` |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
151 process, with all users using the same Kallithea system user (e.g. |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
152 ``kallithea``) when connecting to the SSH server, but with users' public keys |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
153 in the Kallithea system user's `.ssh/authorized_keys` file granting each user |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
154 sandboxed access to the repositories. |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
155 |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
156 - users and admins can manage SSH public keys in the web UI |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
157 |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
158 - in their SSH client configuration, users can configure how the client should |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
159 control access to their SSH key - without passphrase, with passphrase, and |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
160 optionally with passphrase caching in the local shell session (``ssh-agent``). |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
161 This is standard SSH functionality, not something Kallithea provides or |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
162 interferes with. |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
163 |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
164 - network communication between client and server happens in a bidirectional |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
165 stateful stream, and will in some cases be faster than HTTP/HTTPS with several |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
166 stateless round-trips. |
ee4fc2d20d09
docs: add high-level description of SSH repository access
Mads Kiilerich <mads@kiilerich.com>
parents:
7783
diff
changeset
|
167 |
7783
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
168 .. note:: At this moment, repository access via SSH has been tested on Unix |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
169 only. Windows users that care about SSH are invited to test it and report |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
170 problems, ideally contributing patches that solve these problems. |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
171 |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
172 Users and admins can upload SSH public keys (e.g. ``.ssh/id_rsa.pub``) through |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
173 the web interface. The server's ``.ssh/authorized_keys`` file is automatically |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
174 maintained with an entry for each SSH key. Each entry will tell ``sshd`` to run |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
175 ``kallithea-cli`` with the ``ssh-serve`` sub-command and the right Kallithea user ID |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
176 when encountering the corresponding SSH key. |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
177 |
7783
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
178 To enable SSH repository access, Kallithea must be configured with the path to |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
179 the ``.ssh/authorized_keys`` file for the Kallithea user, and the path to the |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
180 ``kallithea-cli`` command. Put something like this in the ``.ini`` file:: |
912
8378122aa408
docs: changelog + setup update
Marcin Kuzminski <marcin@python-works.com>
parents:
894
diff
changeset
|
181 |
7783
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
182 ssh_enabled = true |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
183 ssh_authorized_keys = /home/kallithea/.ssh/authorized_keys |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
184 kallithea_cli_path = /srv/kallithea/venv/bin/kallithea-cli |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
185 |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
186 The SSH service must be running, and the Kallithea user account must be active |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
187 (not necessarily with password access, but public key access must be enabled), |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
188 all file permissions must be set as sshd wants it, and ``authorized_keys`` must |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
189 be writeable by the Kallithea user. |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
190 |
7783
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
191 .. note:: The ``authorized_keys`` file will be rewritten from scratch on |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
192 each update. If it already exists with other data, Kallithea will not |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
193 overwrite the existing ``authorized_keys``, and the server process will |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
194 instead throw an exception. The system administrator thus cannot ssh |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
195 directly to the Kallithea user but must use su/sudo from another account. |
912
8378122aa408
docs: changelog + setup update
Marcin Kuzminski <marcin@python-works.com>
parents:
894
diff
changeset
|
196 |
7783
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
197 If ``/home/kallithea/.ssh/`` (the directory of the path specified in the |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
198 ``ssh_authorized_keys`` setting of the ``.ini`` file) does not exist as a |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
199 directory, Kallithea will attempt to create it. If that path exists but is |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
200 *not* a directory, or is not readable-writable-executable by the server |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
201 process, the server process will raise an exception each time it attempts to |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
202 write the ``authorized_keys`` file. |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
203 |
8372
a9e71e61cedf
ssh: mention in docs how to use multiple authorized_keys files
Mads Kiilerich <mads@kiilerich.com>
parents:
8268
diff
changeset
|
204 .. note:: It is possible to configure the SSH server to look for authorized |
a9e71e61cedf
ssh: mention in docs how to use multiple authorized_keys files
Mads Kiilerich <mads@kiilerich.com>
parents:
8268
diff
changeset
|
205 keys in multiple files, for example reserving ``ssh/authorized_keys`` to be |
a9e71e61cedf
ssh: mention in docs how to use multiple authorized_keys files
Mads Kiilerich <mads@kiilerich.com>
parents:
8268
diff
changeset
|
206 used for normal SSH and with Kallithea using |
a9e71e61cedf
ssh: mention in docs how to use multiple authorized_keys files
Mads Kiilerich <mads@kiilerich.com>
parents:
8268
diff
changeset
|
207 ``.ssh/authorized_keys_kallithea``. In ``/etc/ssh/sshd_config`` set |
a9e71e61cedf
ssh: mention in docs how to use multiple authorized_keys files
Mads Kiilerich <mads@kiilerich.com>
parents:
8268
diff
changeset
|
208 ``AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys_kallithea`` |
a9e71e61cedf
ssh: mention in docs how to use multiple authorized_keys files
Mads Kiilerich <mads@kiilerich.com>
parents:
8268
diff
changeset
|
209 and restart sshd, and in ``my.ini`` set ``ssh_authorized_keys = |
a9e71e61cedf
ssh: mention in docs how to use multiple authorized_keys files
Mads Kiilerich <mads@kiilerich.com>
parents:
8268
diff
changeset
|
210 /home/kallithea/.ssh/authorized_keys_kallithea``. Note that this new |
a9e71e61cedf
ssh: mention in docs how to use multiple authorized_keys files
Mads Kiilerich <mads@kiilerich.com>
parents:
8268
diff
changeset
|
211 location will apply to all system users, and that multiple entries for the |
a9e71e61cedf
ssh: mention in docs how to use multiple authorized_keys files
Mads Kiilerich <mads@kiilerich.com>
parents:
8268
diff
changeset
|
212 same SSH key will shadow each other. |
a9e71e61cedf
ssh: mention in docs how to use multiple authorized_keys files
Mads Kiilerich <mads@kiilerich.com>
parents:
8268
diff
changeset
|
213 |
7783
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
214 .. warning:: The handling of SSH access is steered directly by the command |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
215 specified in the ``authorized_keys`` file. There is no interaction with the |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
216 web UI. Once SSH access is correctly configured and enabled, it will work |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
217 regardless of whether the Kallithea web process is actually running. Hence, |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
218 if you want to perform repository or server maintenance and want to fully |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
219 disable all access to the repositories, disable SSH access by setting |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
220 ``ssh_enabled = false`` in the correct ``.ini`` file (i.e. the ``.ini`` file |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
221 specified in the ``authorized_keys`` file.) |
912
8378122aa408
docs: changelog + setup update
Marcin Kuzminski <marcin@python-works.com>
parents:
894
diff
changeset
|
222 |
7783
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
223 The ``authorized_keys`` file can be updated manually with ``kallithea-cli |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
224 ssh-update-authorized-keys -c my.ini``. This command is not needed in normal |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
225 operation but is for example useful after changing SSH-related settings in the |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
226 ``.ini`` file or renaming that file. (The path to the ``.ini`` file is used in |
e4f27ab7cbea
ssh: add documentation of SSH support
Christian Oyarzun <oyarzun@gmail.com>
parents:
7653
diff
changeset
|
227 the generated ``authorized_keys`` file). |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
228 |
5433
fbbe80e3322b
docs: consistent spacing around headings
Mads Kiilerich <madski@unity3d.com>
parents:
5426
diff
changeset
|
229 |
683
341beaa9edba
Implemented whoosh index building as paster command.
Marcin Kuzminski <marcin@python-works.com>
parents:
597
diff
changeset
|
230 Setting up Whoosh full text search |
341beaa9edba
Implemented whoosh index building as paster command.
Marcin Kuzminski <marcin@python-works.com>
parents:
597
diff
changeset
|
231 ---------------------------------- |
341beaa9edba
Implemented whoosh index building as paster command.
Marcin Kuzminski <marcin@python-works.com>
parents:
597
diff
changeset
|
232 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
233 Kallithea provides full text search of repositories using `Whoosh`__. |
894
1fed3c9161bb
fixes #90 + docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
881
diff
changeset
|
234 |
7333
99cd328da2a1
remove references to pythonhosted.org (issue #293)
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
6762
diff
changeset
|
235 .. __: https://whoosh.readthedocs.io/en/latest/ |
683
341beaa9edba
Implemented whoosh index building as paster command.
Marcin Kuzminski <marcin@python-works.com>
parents:
597
diff
changeset
|
236 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
237 For an incremental index build, run:: |
707
1105531ae572
docs update, added ldap section, added troubleshooting section
Marcin Kuzminski <marcin@python-works.com>
parents:
683
diff
changeset
|
238 |
7416
502b9bd0a24d
cli: convert 'gearbox make-index' into 'kallithea-cli index-create'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7414
diff
changeset
|
239 kallithea-cli index-create -c my.ini |
683
341beaa9edba
Implemented whoosh index building as paster command.
Marcin Kuzminski <marcin@python-works.com>
parents:
597
diff
changeset
|
240 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
241 For a full index rebuild, run:: |
707
1105531ae572
docs update, added ldap section, added troubleshooting section
Marcin Kuzminski <marcin@python-works.com>
parents:
683
diff
changeset
|
242 |
7416
502b9bd0a24d
cli: convert 'gearbox make-index' into 'kallithea-cli index-create'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7414
diff
changeset
|
243 kallithea-cli index-create -c my.ini --full |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
244 |
5855 | 245 The ``--repo-location`` option allows the location of the repositories to be overridden; |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
246 usually, the location is retrieved from the Kallithea database. |
894
1fed3c9161bb
fixes #90 + docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
881
diff
changeset
|
247 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
248 The ``--index-only`` option can be used to limit the indexed repositories to a comma-separated list:: |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
249 |
7416
502b9bd0a24d
cli: convert 'gearbox make-index' into 'kallithea-cli index-create'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7414
diff
changeset
|
250 kallithea-cli index-create -c my.ini --index-only=vcs,kallithea |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
251 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
252 To keep your index up-to-date it is necessary to do periodic index builds; |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
253 for this, it is recommended to use a crontab entry. Example:: |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
254 |
7416
502b9bd0a24d
cli: convert 'gearbox make-index' into 'kallithea-cli index-create'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7414
diff
changeset
|
255 0 3 * * * /path/to/virtualenv/bin/kallithea-cli index-create -c /path/to/kallithea/my.ini |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
256 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
257 When using incremental mode (the default), Whoosh will check the last |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
258 modification date of each file and add it to be reindexed if a newer file is |
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
259 available. The indexing daemon checks for any removed files and removes them |
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
260 from index. |
683
341beaa9edba
Implemented whoosh index building as paster command.
Marcin Kuzminski <marcin@python-works.com>
parents:
597
diff
changeset
|
261 |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
262 If you want to rebuild the index from scratch, you can use the ``-f`` flag as above, |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
263 or in the admin panel you can check the "build from scratch" checkbox. |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
264 |
5413
22a3fa3c4254
docs: cleanup of casing, markup and spacing of headings
Mads Kiilerich <madski@unity3d.com>
parents:
5412
diff
changeset
|
265 |
22a3fa3c4254
docs: cleanup of casing, markup and spacing of headings
Mads Kiilerich <madski@unity3d.com>
parents:
5412
diff
changeset
|
266 Integration with issue trackers |
1838 | 267 ------------------------------- |
1657
d2a108366f8f
Added documentation for container-based and proxy pass-through authentication
Liad Shani <liadff@gmail.com>
parents:
1559
diff
changeset
|
268 |
4192
e73a69cb98dc
Rename some strings examples and commands in documentation
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4186
diff
changeset
|
269 Kallithea provides a simple integration with issue trackers. It's possible |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
270 to define a regular expression that will match an issue ID in commit messages, |
7230
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
271 and have that replaced with a URL to the issue. |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
272 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
273 This is achieved with following three variables in the ini file:: |
1838 | 274 |
7230
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
275 issue_pat = #(\d+) |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
276 issue_server_link = https://issues.example.com/{repo}/issue/\1 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
277 issue_sub = |
1838 | 278 |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
279 ``issue_pat`` is the regular expression describing which strings in |
7230
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
280 commit messages will be treated as issue references. The expression can/should |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
281 have one or more parenthesized groups that can later be referred to in |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
282 ``issue_server_link`` and ``issue_sub`` (see below). If you prefer, named groups |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
283 can be used instead of simple parenthesized groups. |
4848
570a4e40f0bb
docs: improve issue tracker integration docs
Andrew Shadura <andrew@shadura.me>
parents:
4522
diff
changeset
|
284 |
7230
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
285 If the pattern should only match if it is preceded by whitespace, add the |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
286 following string before the actual pattern: ``(?:^|(?<=\s))``. |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
287 If the pattern should only match if it is followed by whitespace, add the |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
288 following string after the actual pattern: ``(?:$|(?=\s))``. |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
289 These expressions use lookbehind and lookahead assertions of the Python regular |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
290 expression module to avoid the whitespace to be part of the actual pattern, |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
291 otherwise the link text will also contain that whitespace. |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
292 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
293 Matched issue references are replaced with the link specified in |
7230
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
294 ``issue_server_link``, in which any backreferences are resolved. Backreferences |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
295 can be ``\1``, ``\2``, ... or for named groups ``\g<groupname>``. |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
296 The special token ``{repo}`` is replaced with the full repository path |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
297 (including repository groups), while token ``{repo_name}`` is replaced with the |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
298 repository name (without repository groups). |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
299 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
300 The link text is determined by ``issue_sub``, which can be a string containing |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
301 backreferences to the groups specified in ``issue_pat``. If ``issue_sub`` is |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
302 empty, then the text matched by ``issue_pat`` is used verbatim. |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
303 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
304 The example settings shown above match issues in the format ``#<number>``. |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
305 This will cause the text ``#300`` to be transformed into a link: |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
306 |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
307 .. code-block:: html |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
308 |
7230
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
309 <a href="https://issues.example.com/example_repo/issue/300">#300</a> |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
310 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
311 The following example transforms a text starting with either of 'pullrequest', |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
312 'pull request' or 'PR', followed by an optional space, then a pound character |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
313 (#) and one or more digits, into a link with the text 'PR #' followed by the |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
314 digits:: |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
315 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
316 issue_pat = (pullrequest|pull request|PR) ?#(\d+) |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
317 issue_server_link = https://issues.example.com/\2 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
318 issue_sub = PR #\2 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
319 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
320 The following example demonstrates how to require whitespace before the issue |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
321 reference in order for it to be recognized, such that the text ``issue#123`` will |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
322 not cause a match, but ``issue #123`` will:: |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
323 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
324 issue_pat = (?:^|(?<=\s))#(\d+) |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
325 issue_server_link = https://issues.example.com/\1 |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
326 issue_sub = |
1657
d2a108366f8f
Added documentation for container-based and proxy pass-through authentication
Liad Shani <liadff@gmail.com>
parents:
1559
diff
changeset
|
327 |
4848
570a4e40f0bb
docs: improve issue tracker integration docs
Andrew Shadura <andrew@shadura.me>
parents:
4522
diff
changeset
|
328 If needed, more than one pattern can be specified by appending a unique suffix to |
7230
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
329 the variables. For example, also demonstrating the use of named groups:: |
4848
570a4e40f0bb
docs: improve issue tracker integration docs
Andrew Shadura <andrew@shadura.me>
parents:
4522
diff
changeset
|
330 |
7230
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
331 issue_pat_wiki = wiki-(?P<pagename>\S+) |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
332 issue_server_link_wiki = https://wiki.example.com/\g<pagename> |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
333 issue_sub_wiki = WIKI-\g<pagename> |
4848
570a4e40f0bb
docs: improve issue tracker integration docs
Andrew Shadura <andrew@shadura.me>
parents:
4522
diff
changeset
|
334 |
570a4e40f0bb
docs: improve issue tracker integration docs
Andrew Shadura <andrew@shadura.me>
parents:
4522
diff
changeset
|
335 With these settings, wiki pages can be referenced as wiki-some-id, and every |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
336 such reference will be transformed into: |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
337 |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
338 .. code-block:: html |
4848
570a4e40f0bb
docs: improve issue tracker integration docs
Andrew Shadura <andrew@shadura.me>
parents:
4522
diff
changeset
|
339 |
5497
12b47803189f
cleanup: use example.com for tests and examples
Søren Løvborg <sorenl@unity3d.com>
parents:
5496
diff
changeset
|
340 <a href="https://wiki.example.com/some-id">WIKI-some-id</a> |
4848
570a4e40f0bb
docs: improve issue tracker integration docs
Andrew Shadura <andrew@shadura.me>
parents:
4522
diff
changeset
|
341 |
7230
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
342 Refer to the `Python regular expression documentation`_ for more details about |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
343 the supported syntax in ``issue_pat``, ``issue_server_link`` and ``issue_sub``. |
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
344 |
4848
570a4e40f0bb
docs: improve issue tracker integration docs
Andrew Shadura <andrew@shadura.me>
parents:
4522
diff
changeset
|
345 |
1467
da60cdb41969
doc update - hooks
Marcin Kuzminski <marcin@python-works.com>
parents:
1448
diff
changeset
|
346 Hook management |
da60cdb41969
doc update - hooks
Marcin Kuzminski <marcin@python-works.com>
parents:
1448
diff
changeset
|
347 --------------- |
da60cdb41969
doc update - hooks
Marcin Kuzminski <marcin@python-works.com>
parents:
1448
diff
changeset
|
348 |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
349 Hooks can be managed in similar way to that used in ``.hgrc`` files. |
5426
66f1b9745905
docs: update menu navigation notation to use *Menu > Menu Item*
Søren Løvborg <sorenl@unity3d.com>
parents:
5425
diff
changeset
|
350 To manage hooks, choose *Admin > Settings > Hooks*. |
1467
da60cdb41969
doc update - hooks
Marcin Kuzminski <marcin@python-works.com>
parents:
1448
diff
changeset
|
351 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
352 The built-in hooks cannot be modified, though they can be enabled or disabled in the *VCS* section. |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
353 |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
354 To add another custom hook simply fill in the first textbox with |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
355 ``<name>.<hook_type>`` and the second with the hook path. Example hooks |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
356 can be found in ``kallithea.lib.hooks``. |
1467
da60cdb41969
doc update - hooks
Marcin Kuzminski <marcin@python-works.com>
parents:
1448
diff
changeset
|
357 |
da60cdb41969
doc update - hooks
Marcin Kuzminski <marcin@python-works.com>
parents:
1448
diff
changeset
|
358 |
2017
03a549b35c57
updated setup docs about encoding
Marcin Kuzminski <marcin@python-works.com>
parents:
1870
diff
changeset
|
359 Changing default encoding |
03a549b35c57
updated setup docs about encoding
Marcin Kuzminski <marcin@python-works.com>
parents:
1870
diff
changeset
|
360 ------------------------- |
03a549b35c57
updated setup docs about encoding
Marcin Kuzminski <marcin@python-works.com>
parents:
1870
diff
changeset
|
361 |
4914
95fe05b1e5f8
docs: better capitalisation
Andrew Shadura <andrew@shadura.me>
parents:
4902
diff
changeset
|
362 By default, Kallithea uses UTF-8 encoding. |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
363 This is configurable as ``default_encoding`` in the .ini file. |
4902 | 364 This affects many parts in Kallithea including user names, filenames, and |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
365 encoding of commit messages. In addition Kallithea can detect if the ``chardet`` |
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
366 library is installed. If ``chardet`` is detected Kallithea will fallback to it |
2017
03a549b35c57
updated setup docs about encoding
Marcin Kuzminski <marcin@python-works.com>
parents:
1870
diff
changeset
|
367 when there are encode/decode errors. |
03a549b35c57
updated setup docs about encoding
Marcin Kuzminski <marcin@python-works.com>
parents:
1870
diff
changeset
|
368 |
7327
9937ae52f167
hg: set encoding to utf-8 by default to always show unicode characters correctly
Mads Kiilerich <mads@kiilerich.com>
parents:
7230
diff
changeset
|
369 The Mercurial encoding is configurable as ``hgencoding``. It is similar to |
9937ae52f167
hg: set encoding to utf-8 by default to always show unicode characters correctly
Mads Kiilerich <mads@kiilerich.com>
parents:
7230
diff
changeset
|
370 setting the ``HGENCODING`` environment variable, but will override it. |
9937ae52f167
hg: set encoding to utf-8 by default to always show unicode characters correctly
Mads Kiilerich <mads@kiilerich.com>
parents:
7230
diff
changeset
|
371 |
2017
03a549b35c57
updated setup docs about encoding
Marcin Kuzminski <marcin@python-works.com>
parents:
1870
diff
changeset
|
372 |
4902 | 373 Celery configuration |
374 -------------------- | |
777
aac24db58ce8
fixed cache problem,
Marcin Kuzminski <marcin@python-works.com>
parents:
775
diff
changeset
|
375 |
4925
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
376 Kallithea can use the distributed task queue system Celery_ to run tasks like |
5412
2079e864ce51
spelling: use "email" consistently
Søren Løvborg <sorenl@unity3d.com>
parents:
5077
diff
changeset
|
377 cloning repositories or sending emails. |
4925
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
378 |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
379 Kallithea will in most setups work perfectly fine out of the box (without |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
380 Celery), executing all tasks in the web server process. Some tasks can however |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
381 take some time to run and it can be better to run such tasks asynchronously in |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
382 a separate process so the web server can focus on serving web requests. |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
383 |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
384 For installation and configuration of Celery, see the `Celery documentation`_. |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
385 Note that Celery requires a message broker service like RabbitMQ_ (recommended) |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
386 or Redis_. |
777
aac24db58ce8
fixed cache problem,
Marcin Kuzminski <marcin@python-works.com>
parents:
775
diff
changeset
|
387 |
4925
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
388 The use of Celery is configured in the Kallithea ini configuration file. |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
389 To enable it, simply set:: |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
390 |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
391 use_celery = true |
777
aac24db58ce8
fixed cache problem,
Marcin Kuzminski <marcin@python-works.com>
parents:
775
diff
changeset
|
392 |
8268
f8f50d3b6512
celery: upgrade to Celery 4
Mads Kiilerich <mads@kiilerich.com>
parents:
8209
diff
changeset
|
393 and add or change the ``celery.*`` configuration variables. |
4925
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
394 |
8268
f8f50d3b6512
celery: upgrade to Celery 4
Mads Kiilerich <mads@kiilerich.com>
parents:
8209
diff
changeset
|
395 Configuration settings are prefixed with 'celery.', so for example setting |
f8f50d3b6512
celery: upgrade to Celery 4
Mads Kiilerich <mads@kiilerich.com>
parents:
8209
diff
changeset
|
396 `broker_url` in Celery means setting `celery.broker_url` in the configuration |
f8f50d3b6512
celery: upgrade to Celery 4
Mads Kiilerich <mads@kiilerich.com>
parents:
8209
diff
changeset
|
397 file. |
4925
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
398 |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
399 To start the Celery process, run:: |
938
442ccfe939d0
fixed changelog, and setup docs. Yeeee a 1000 commit :)
Marcin Kuzminski <marcin@python-works.com>
parents:
929
diff
changeset
|
400 |
7417
1d539bb18165
cli: convert 'gearbox celeryd' into 'kallithea-cli celery-run'
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7416
diff
changeset
|
401 kallithea-cli celery-run -c my.ini |
6554
2c3d30095d5e
gearbox: replace paster with something TurboGears2-ish that still works with the Pylons stack
Mads Kiilerich <madski@unity3d.com>
parents:
6457
diff
changeset
|
402 |
2c3d30095d5e
gearbox: replace paster with something TurboGears2-ish that still works with the Pylons stack
Mads Kiilerich <madski@unity3d.com>
parents:
6457
diff
changeset
|
403 Extra options to the Celery worker can be passed after ``--`` - see ``-- -h`` |
2c3d30095d5e
gearbox: replace paster with something TurboGears2-ish that still works with the Pylons stack
Mads Kiilerich <madski@unity3d.com>
parents:
6457
diff
changeset
|
404 for more info. |
777
aac24db58ce8
fixed cache problem,
Marcin Kuzminski <marcin@python-works.com>
parents:
775
diff
changeset
|
405 |
871
7f9e006aa26f
docs update for celeryd
Marcin Kuzminski <marcin@python-works.com>
parents:
845
diff
changeset
|
406 .. note:: |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
407 Make sure you run this command from the same virtualenv, and with the same |
4192
e73a69cb98dc
Rename some strings examples and commands in documentation
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4186
diff
changeset
|
408 user that Kallithea runs. |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
409 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
410 |
1062
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
411 HTTPS support |
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
412 ------------- |
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
413 |
4448
8e26c46e9abe
https: introduce https_fixup config setting to enable the special https hacks
Mads Kiilerich <madski@unity3d.com>
parents:
4192
diff
changeset
|
414 Kallithea will by default generate URLs based on the WSGI environment. |
8e26c46e9abe
https: introduce https_fixup config setting to enable the special https hacks
Mads Kiilerich <madski@unity3d.com>
parents:
4192
diff
changeset
|
415 |
8e26c46e9abe
https: introduce https_fixup config setting to enable the special https hacks
Mads Kiilerich <madski@unity3d.com>
parents:
4192
diff
changeset
|
416 Alternatively, you can use some special configuration settings to control |
8e26c46e9abe
https: introduce https_fixup config setting to enable the special https hacks
Mads Kiilerich <madski@unity3d.com>
parents:
4192
diff
changeset
|
417 directly which scheme/protocol Kallithea will use when generating URLs: |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
418 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
419 - With ``https_fixup = true``, the scheme will be taken from the |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
420 ``X-Url-Scheme``, ``X-Forwarded-Scheme`` or ``X-Forwarded-Proto`` HTTP header |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
421 (default ``http``). |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
422 - With ``force_https = true`` the default will be ``https``. |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
423 - With ``use_htsts = true``, Kallithea will set ``Strict-Transport-Security`` when using https. |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
424 |
7340
2898ea3ff76c
docs: move authentication info to separate file
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7337
diff
changeset
|
425 .. _nginx_virtual_host: |
2898ea3ff76c
docs: move authentication info to separate file
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7337
diff
changeset
|
426 |
871
7f9e006aa26f
docs update for celeryd
Marcin Kuzminski <marcin@python-works.com>
parents:
845
diff
changeset
|
427 |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
428 Nginx virtual host example |
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
429 -------------------------- |
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
430 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
431 Sample config for Nginx using proxy: |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
432 |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
433 .. code-block:: nginx |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
434 |
4902 | 435 upstream kallithea { |
1745
456e1e3ce4eb
fixes #305 User guide suggests sub-optimal nginx configuration
Marcin Kuzminski <marcin@python-works.com>
parents:
1657
diff
changeset
|
436 server 127.0.0.1:5000; |
456e1e3ce4eb
fixes #305 User guide suggests sub-optimal nginx configuration
Marcin Kuzminski <marcin@python-works.com>
parents:
1657
diff
changeset
|
437 # add more instances for load balancing |
456e1e3ce4eb
fixes #305 User guide suggests sub-optimal nginx configuration
Marcin Kuzminski <marcin@python-works.com>
parents:
1657
diff
changeset
|
438 #server 127.0.0.1:5001; |
456e1e3ce4eb
fixes #305 User guide suggests sub-optimal nginx configuration
Marcin Kuzminski <marcin@python-works.com>
parents:
1657
diff
changeset
|
439 #server 127.0.0.1:5002; |
456e1e3ce4eb
fixes #305 User guide suggests sub-optimal nginx configuration
Marcin Kuzminski <marcin@python-works.com>
parents:
1657
diff
changeset
|
440 } |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
441 |
3850
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
442 ## gist alias |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
443 server { |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
444 listen 443; |
5497
12b47803189f
cleanup: use example.com for tests and examples
Søren Løvborg <sorenl@unity3d.com>
parents:
5496
diff
changeset
|
445 server_name gist.example.com; |
3850
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
446 access_log /var/log/nginx/gist.access.log; |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
447 error_log /var/log/nginx/gist.error.log; |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
448 |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
449 ssl on; |
4182
05cabd91f7c3
Change example URL
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4180
diff
changeset
|
450 ssl_certificate gist.your.kallithea.server.crt; |
05cabd91f7c3
Change example URL
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4180
diff
changeset
|
451 ssl_certificate_key gist.your.kallithea.server.key; |
3850
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
452 |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
453 ssl_session_timeout 5m; |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
454 |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
455 ssl_protocols SSLv3 TLSv1; |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
456 ssl_ciphers DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:AES256-SHA:DES-CBC3-SHA:AES128-SHA:RC4-SHA:RC4-MD5; |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
457 ssl_prefer_server_ciphers on; |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
458 |
5497
12b47803189f
cleanup: use example.com for tests and examples
Søren Løvborg <sorenl@unity3d.com>
parents:
5496
diff
changeset
|
459 rewrite ^/(.+)$ https://kallithea.example.com/_admin/gists/$1; |
12b47803189f
cleanup: use example.com for tests and examples
Søren Løvborg <sorenl@unity3d.com>
parents:
5496
diff
changeset
|
460 rewrite (.*) https://kallithea.example.com/_admin/gists; |
3850
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
461 } |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
462 |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
463 server { |
3243
c759c0912642
switch to SSL configuration example on nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3224
diff
changeset
|
464 listen 443; |
5497
12b47803189f
cleanup: use example.com for tests and examples
Søren Løvborg <sorenl@unity3d.com>
parents:
5496
diff
changeset
|
465 server_name kallithea.example.com |
4192
e73a69cb98dc
Rename some strings examples and commands in documentation
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4186
diff
changeset
|
466 access_log /var/log/nginx/kallithea.access.log; |
e73a69cb98dc
Rename some strings examples and commands in documentation
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4186
diff
changeset
|
467 error_log /var/log/nginx/kallithea.error.log; |
1745
456e1e3ce4eb
fixes #305 User guide suggests sub-optimal nginx configuration
Marcin Kuzminski <marcin@python-works.com>
parents:
1657
diff
changeset
|
468 |
3243
c759c0912642
switch to SSL configuration example on nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3224
diff
changeset
|
469 ssl on; |
4182
05cabd91f7c3
Change example URL
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4180
diff
changeset
|
470 ssl_certificate your.kallithea.server.crt; |
05cabd91f7c3
Change example URL
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4180
diff
changeset
|
471 ssl_certificate_key your.kallithea.server.key; |
3243
c759c0912642
switch to SSL configuration example on nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3224
diff
changeset
|
472 |
c759c0912642
switch to SSL configuration example on nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3224
diff
changeset
|
473 ssl_session_timeout 5m; |
c759c0912642
switch to SSL configuration example on nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3224
diff
changeset
|
474 |
c759c0912642
switch to SSL configuration example on nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3224
diff
changeset
|
475 ssl_protocols SSLv3 TLSv1; |
c759c0912642
switch to SSL configuration example on nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3224
diff
changeset
|
476 ssl_ciphers DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:AES256-SHA:DES-CBC3-SHA:AES128-SHA:RC4-SHA:RC4-MD5; |
c759c0912642
switch to SSL configuration example on nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3224
diff
changeset
|
477 ssl_prefer_server_ciphers on; |
c759c0912642
switch to SSL configuration example on nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3224
diff
changeset
|
478 |
3850
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
479 ## uncomment root directive if you want to serve static files by nginx |
7a4df261a375
added alias configuration option for gists.
Marcin Kuzminski <marcin@python-works.com>
parents:
3801
diff
changeset
|
480 ## requires static_files = false in .ini file |
5880
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5855
diff
changeset
|
481 #root /srv/kallithea/kallithea/kallithea/public; |
3917
35c0c62583cd
Moved proxy include of nginx to place where
Marcin Kuzminski <marcin@python-works.com>
parents:
3852
diff
changeset
|
482 include /etc/nginx/proxy.conf; |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
483 location / { |
4902 | 484 try_files $uri @kallithea; |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
485 } |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
486 |
4902 | 487 location @kallithea { |
5496
2b2216e8af36
docs: update example output and example server configs
Søren Løvborg <sorenl@unity3d.com>
parents:
5435
diff
changeset
|
488 proxy_pass http://127.0.0.1:5000; |
1745
456e1e3ce4eb
fixes #305 User guide suggests sub-optimal nginx configuration
Marcin Kuzminski <marcin@python-works.com>
parents:
1657
diff
changeset
|
489 } |
456e1e3ce4eb
fixes #305 User guide suggests sub-optimal nginx configuration
Marcin Kuzminski <marcin@python-works.com>
parents:
1657
diff
changeset
|
490 |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
491 } |
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
492 |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
493 Here's the proxy.conf. It's tuned so it will not timeout on long |
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
494 pushes or large pushes:: |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
495 |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
496 proxy_redirect off; |
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
497 proxy_set_header Host $host; |
4073
2c82dd8ba318
Added two headers into example nginx proxy conf that allows container auth
Marcin Kuzminski <marcin@python-works.com>
parents:
3960
diff
changeset
|
498 ## needed for container auth |
2c82dd8ba318
Added two headers into example nginx proxy conf that allows container auth
Marcin Kuzminski <marcin@python-works.com>
parents:
3960
diff
changeset
|
499 #proxy_set_header REMOTE_USER $remote_user; |
2c82dd8ba318
Added two headers into example nginx proxy conf that allows container auth
Marcin Kuzminski <marcin@python-works.com>
parents:
3960
diff
changeset
|
500 #proxy_set_header X-Forwarded-User $remote_user; |
1745
456e1e3ce4eb
fixes #305 User guide suggests sub-optimal nginx configuration
Marcin Kuzminski <marcin@python-works.com>
parents:
1657
diff
changeset
|
501 proxy_set_header X-Url-Scheme $scheme; |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
502 proxy_set_header X-Host $http_host; |
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
503 proxy_set_header X-Real-IP $remote_addr; |
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
504 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
505 proxy_set_header Proxy-host $proxy_host; |
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
506 proxy_buffering off; |
1420
a2fe0ac8d007
Updated nginx proxy example to work better with large pushes
Marcin Kuzminski <marcin@python-works.com>
parents:
1408
diff
changeset
|
507 proxy_connect_timeout 7200; |
a2fe0ac8d007
Updated nginx proxy example to work better with large pushes
Marcin Kuzminski <marcin@python-works.com>
parents:
1408
diff
changeset
|
508 proxy_send_timeout 7200; |
a2fe0ac8d007
Updated nginx proxy example to work better with large pushes
Marcin Kuzminski <marcin@python-works.com>
parents:
1408
diff
changeset
|
509 proxy_read_timeout 7200; |
a2fe0ac8d007
Updated nginx proxy example to work better with large pushes
Marcin Kuzminski <marcin@python-works.com>
parents:
1408
diff
changeset
|
510 proxy_buffers 8 32k; |
3919
b367b016ee39
Added large_client_header_buffers directive into example nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3917
diff
changeset
|
511 client_max_body_size 1024m; |
b367b016ee39
Added large_client_header_buffers directive into example nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3917
diff
changeset
|
512 client_body_buffer_size 128k; |
b367b016ee39
Added large_client_header_buffers directive into example nginx
Marcin Kuzminski <marcin@python-works.com>
parents:
3917
diff
changeset
|
513 large_client_header_buffers 8 64k; |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
514 |
7340
2898ea3ff76c
docs: move authentication info to separate file
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7337
diff
changeset
|
515 .. _apache_virtual_host_reverse_proxy: |
2898ea3ff76c
docs: move authentication info to separate file
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7337
diff
changeset
|
516 |
881
68aaa0aca0d2
Updated docs, added apache proxy example config
Marcin Kuzminski <marcin@python-works.com>
parents:
871
diff
changeset
|
517 |
1558
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
518 Apache virtual host reverse proxy example |
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
519 ----------------------------------------- |
881
68aaa0aca0d2
Updated docs, added apache proxy example config
Marcin Kuzminski <marcin@python-works.com>
parents:
871
diff
changeset
|
520 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
521 Here is a sample configuration file for Apache using proxy: |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
522 |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
523 .. code-block:: apache |
881
68aaa0aca0d2
Updated docs, added apache proxy example config
Marcin Kuzminski <marcin@python-works.com>
parents:
871
diff
changeset
|
524 |
929 | 525 <VirtualHost *:80> |
5497
12b47803189f
cleanup: use example.com for tests and examples
Søren Løvborg <sorenl@unity3d.com>
parents:
5496
diff
changeset
|
526 ServerName kallithea.example.com |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
527 |
929 | 528 <Proxy *> |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
529 # For Apache 2.4 and later: |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
530 Require all granted |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
531 |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
532 # For Apache 2.2 and earlier, instead use: |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
533 # Order allow,deny |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
534 # Allow from all |
929 | 535 </Proxy> |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
536 |
929 | 537 #important ! |
6339
8845ece50d51
docs: remove some references to Pylons
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
6335
diff
changeset
|
538 #Directive to properly generate url (clone url) for Kallithea |
929 | 539 ProxyPreserveHost On |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
540 |
4192
e73a69cb98dc
Rename some strings examples and commands in documentation
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4186
diff
changeset
|
541 #kallithea instance |
929 | 542 ProxyPass / http://127.0.0.1:5000/ |
543 ProxyPassReverse / http://127.0.0.1:5000/ | |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
544 |
929 | 545 #to enable https use line below |
546 #SetEnvIf X-Url-Scheme https HTTPS=1 | |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
547 </VirtualHost> |
881
68aaa0aca0d2
Updated docs, added apache proxy example config
Marcin Kuzminski <marcin@python-works.com>
parents:
871
diff
changeset
|
548 |
68aaa0aca0d2
Updated docs, added apache proxy example config
Marcin Kuzminski <marcin@python-works.com>
parents:
871
diff
changeset
|
549 Additional tutorial |
4915
6892b0515af9
docs: replace a dead link to the pylons cookbook
Andrew Shadura <andrew@shadura.me>
parents:
4914
diff
changeset
|
550 http://pylonsbook.com/en/1.1/deployment.html#using-apache-to-proxy-requests-to-pylons |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
551 |
7340
2898ea3ff76c
docs: move authentication info to separate file
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7337
diff
changeset
|
552 .. _apache_subdirectory: |
2898ea3ff76c
docs: move authentication info to separate file
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7337
diff
changeset
|
553 |
707
1105531ae572
docs update, added ldap section, added troubleshooting section
Marcin Kuzminski <marcin@python-works.com>
parents:
683
diff
changeset
|
554 |
1062
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
555 Apache as subdirectory |
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
556 ---------------------- |
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
557 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
558 Apache subdirectory part: |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
559 |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
560 .. code-block:: apache |
1062
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
561 |
6789
4d04ac08fff7
docs: fix some sphinx warnings
Mads Kiilerich <mads@kiilerich.com>
parents:
6732
diff
changeset
|
562 <Location /PREFIX > |
4d04ac08fff7
docs: fix some sphinx warnings
Mads Kiilerich <mads@kiilerich.com>
parents:
6732
diff
changeset
|
563 ProxyPass http://127.0.0.1:5000/PREFIX |
4d04ac08fff7
docs: fix some sphinx warnings
Mads Kiilerich <mads@kiilerich.com>
parents:
6732
diff
changeset
|
564 ProxyPassReverse http://127.0.0.1:5000/PREFIX |
1062
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
565 SetEnvIf X-Url-Scheme https HTTPS=1 |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
566 </Location> |
1062
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
567 |
1392
00b8fca6886c
fixes issue #206
Marcin Kuzminski <marcin@python-works.com>
parents:
1386
diff
changeset
|
568 Besides the regular apache setup you will need to add the following line |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
569 into ``[app:main]`` section of your .ini file:: |
1062
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
570 |
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
571 filter-with = proxy-prefix |
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
572 |
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
573 Add the following at the end of the .ini file:: |
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
574 |
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
575 [filter:proxy-prefix] |
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
576 use = egg:PasteDeploy#prefix |
6789
4d04ac08fff7
docs: fix some sphinx warnings
Mads Kiilerich <mads@kiilerich.com>
parents:
6732
diff
changeset
|
577 prefix = /PREFIX |
1062
053983a464e4
docs and readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
992
diff
changeset
|
578 |
6789
4d04ac08fff7
docs: fix some sphinx warnings
Mads Kiilerich <mads@kiilerich.com>
parents:
6732
diff
changeset
|
579 then change ``PREFIX`` into your chosen prefix |
1226
f17fdbe86ab9
update docs for setup
Marcin Kuzminski <marcin@python-works.com>
parents:
1123
diff
changeset
|
580 |
7340
2898ea3ff76c
docs: move authentication info to separate file
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7337
diff
changeset
|
581 .. _apache_mod_wsgi: |
1226
f17fdbe86ab9
update docs for setup
Marcin Kuzminski <marcin@python-works.com>
parents:
1123
diff
changeset
|
582 |
5433
fbbe80e3322b
docs: consistent spacing around headings
Mads Kiilerich <madski@unity3d.com>
parents:
5426
diff
changeset
|
583 |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
584 Apache with mod_wsgi |
1386
5a31d387f347
Added example wsgi config into docs
Marcin Kuzminski <marcin@python-works.com>
parents:
1309
diff
changeset
|
585 -------------------- |
5a31d387f347
Added example wsgi config into docs
Marcin Kuzminski <marcin@python-works.com>
parents:
1309
diff
changeset
|
586 |
4192
e73a69cb98dc
Rename some strings examples and commands in documentation
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
4186
diff
changeset
|
587 Alternatively, Kallithea can be set up with Apache under mod_wsgi. For |
1558
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
588 that, you'll need to: |
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
589 |
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
590 - Install mod_wsgi. If using a Debian-based distro, you can install |
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
591 the package libapache2-mod-wsgi:: |
1559
a9fef2e6c1ff
Syntax correction on the recently changed documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1558
diff
changeset
|
592 |
1558
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
593 aptitude install libapache2-mod-wsgi |
1559
a9fef2e6c1ff
Syntax correction on the recently changed documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1558
diff
changeset
|
594 |
1558
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
595 - Enable mod_wsgi:: |
1559
a9fef2e6c1ff
Syntax correction on the recently changed documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1558
diff
changeset
|
596 |
1558
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
597 a2enmod wsgi |
1559
a9fef2e6c1ff
Syntax correction on the recently changed documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1558
diff
changeset
|
598 |
5789
8c479b274e03
docs: improve mod_wsgi documentation (Issue #203)
Mads Kiilerich <madski@unity3d.com>
parents:
5788
diff
changeset
|
599 - Add global Apache configuration to tell mod_wsgi that Python only will be |
8c479b274e03
docs: improve mod_wsgi documentation (Issue #203)
Mads Kiilerich <madski@unity3d.com>
parents:
5788
diff
changeset
|
600 used in the WSGI processes and shouldn't be initialized in the Apache |
8c479b274e03
docs: improve mod_wsgi documentation (Issue #203)
Mads Kiilerich <madski@unity3d.com>
parents:
5788
diff
changeset
|
601 processes:: |
8c479b274e03
docs: improve mod_wsgi documentation (Issue #203)
Mads Kiilerich <madski@unity3d.com>
parents:
5788
diff
changeset
|
602 |
8c479b274e03
docs: improve mod_wsgi documentation (Issue #203)
Mads Kiilerich <madski@unity3d.com>
parents:
5788
diff
changeset
|
603 WSGIRestrictEmbedded On |
8c479b274e03
docs: improve mod_wsgi documentation (Issue #203)
Mads Kiilerich <madski@unity3d.com>
parents:
5788
diff
changeset
|
604 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
605 - Create a WSGI dispatch script, like the one below. Make sure you |
4955
4e6dfdb3fa01
docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents:
4925
diff
changeset
|
606 check that the paths correctly point to where you installed Kallithea |
1558
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
607 and its Python Virtual Environment. |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
608 |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
609 .. code-block:: python |
1558
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
610 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
611 import os |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
612 os.environ['PYTHON_EGG_CACHE'] = '/srv/kallithea/.egg-cache' |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
613 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
614 # sometimes it's needed to set the current dir |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
615 os.chdir('/srv/kallithea/') |
1558
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
616 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
617 import site |
8209
01aca0a4f876
py3: officially support Python 3
Mads Kiilerich <mads@kiilerich.com>
parents:
8193
diff
changeset
|
618 site.addsitedir("/srv/kallithea/venv/lib/python3.7/site-packages") |
1386
5a31d387f347
Added example wsgi config into docs
Marcin Kuzminski <marcin@python-works.com>
parents:
1309
diff
changeset
|
619 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
620 ini = '/srv/kallithea/my.ini' |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
621 from logging.config import fileConfig |
8086
488b52cad890
logging: always invoke fileConfig with '__file__' and 'here'
Wolfgang Scherer <Wolfgang.Scherer@gmx.de>
parents:
7936
diff
changeset
|
622 fileConfig(ini, {'__file__': ini, 'here': '/srv/kallithea'}) |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
623 from paste.deploy import loadapp |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
624 application = loadapp('config:' + ini) |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
625 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
626 Or using proper virtualenv activation: |
4902 | 627 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
628 .. code-block:: python |
4902 | 629 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
630 activate_this = '/srv/kallithea/venv/bin/activate_this.py' |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
631 execfile(activate_this, dict(__file__=activate_this)) |
2800
6540ee9179da
updated apache wsgi example ref #535
Marcin Kuzminski <marcin@python-works.com>
parents:
2748
diff
changeset
|
632 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
633 import os |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
634 os.environ['HOME'] = '/srv/kallithea' |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
635 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
636 ini = '/srv/kallithea/kallithea.ini' |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
637 from logging.config import fileConfig |
8086
488b52cad890
logging: always invoke fileConfig with '__file__' and 'here'
Wolfgang Scherer <Wolfgang.Scherer@gmx.de>
parents:
7936
diff
changeset
|
638 fileConfig(ini, {'__file__': ini, 'here': '/srv/kallithea'}) |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
639 from paste.deploy import loadapp |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
640 application = loadapp('config:' + ini) |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
641 |
7652
759d5143042c
docs: tweak documentation of Apache+mod_wsgi further
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7651
diff
changeset
|
642 - Add the necessary ``WSGI*`` directives to the Apache Virtual Host configuration |
759d5143042c
docs: tweak documentation of Apache+mod_wsgi further
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7651
diff
changeset
|
643 file, like in the example below. Notice that the WSGI dispatch script created |
759d5143042c
docs: tweak documentation of Apache+mod_wsgi further
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7651
diff
changeset
|
644 above is referred to with the ``WSGIScriptAlias`` directive. |
7653
9bae11163c31
docs: outline the challenges of specifying a locale for services (Issue #340)
Mads Kiilerich <mads@kiilerich.com>
parents:
7652
diff
changeset
|
645 The default locale settings Apache provides for web services are often not |
9bae11163c31
docs: outline the challenges of specifying a locale for services (Issue #340)
Mads Kiilerich <mads@kiilerich.com>
parents:
7652
diff
changeset
|
646 adequate, with `C` as the default language and `ASCII` as the encoding. |
9bae11163c31
docs: outline the challenges of specifying a locale for services (Issue #340)
Mads Kiilerich <mads@kiilerich.com>
parents:
7652
diff
changeset
|
647 Instead, use the ``lang`` parameter of ``WSGIDaemonProcess`` to specify a |
9bae11163c31
docs: outline the challenges of specifying a locale for services (Issue #340)
Mads Kiilerich <mads@kiilerich.com>
parents:
7652
diff
changeset
|
648 suitable locale. See also the :ref:`overview` section and the |
9bae11163c31
docs: outline the challenges of specifying a locale for services (Issue #340)
Mads Kiilerich <mads@kiilerich.com>
parents:
7652
diff
changeset
|
649 `WSGIDaemonProcess documentation`_. |
9bae11163c31
docs: outline the challenges of specifying a locale for services (Issue #340)
Mads Kiilerich <mads@kiilerich.com>
parents:
7652
diff
changeset
|
650 |
7652
759d5143042c
docs: tweak documentation of Apache+mod_wsgi further
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7651
diff
changeset
|
651 Apache will by default run as a special Apache user, on Linux systems |
759d5143042c
docs: tweak documentation of Apache+mod_wsgi further
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7651
diff
changeset
|
652 usually ``www-data`` or ``apache``. If you need to have the repositories |
759d5143042c
docs: tweak documentation of Apache+mod_wsgi further
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7651
diff
changeset
|
653 directory owned by a different user, use the user and group options to |
759d5143042c
docs: tweak documentation of Apache+mod_wsgi further
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7651
diff
changeset
|
654 WSGIDaemonProcess to set the name of the user and group. |
759d5143042c
docs: tweak documentation of Apache+mod_wsgi further
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7651
diff
changeset
|
655 |
759d5143042c
docs: tweak documentation of Apache+mod_wsgi further
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7651
diff
changeset
|
656 Once again, check that all paths are correctly specified. |
1558
662173ba1846
Improvements to mod_wsgi setup documentation.
Augusto Herrmann <augusto.herrmann@planejamento.gov.br>
parents:
1467
diff
changeset
|
657 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
658 .. code-block:: apache |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2916
diff
changeset
|
659 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
660 WSGIDaemonProcess kallithea processes=5 threads=1 maximum-requests=100 \ |
7653
9bae11163c31
docs: outline the challenges of specifying a locale for services (Issue #340)
Mads Kiilerich <mads@kiilerich.com>
parents:
7652
diff
changeset
|
661 python-home=/srv/kallithea/venv lang=C.UTF-8 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
662 WSGIProcessGroup kallithea |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
663 WSGIScriptAlias / /srv/kallithea/dispatch.wsgi |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
664 WSGIPassAuthorization On |
4902 | 665 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
666 Or if using a dispatcher WSGI script with proper virtualenv activation: |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
667 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
668 .. code-block:: apache |
4902 | 669 |
7653
9bae11163c31
docs: outline the challenges of specifying a locale for services (Issue #340)
Mads Kiilerich <mads@kiilerich.com>
parents:
7652
diff
changeset
|
670 WSGIDaemonProcess kallithea processes=5 threads=1 maximum-requests=100 lang=en_US.utf8 |
7651
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
671 WSGIProcessGroup kallithea |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
672 WSGIScriptAlias / /srv/kallithea/dispatch.wsgi |
ee37a78c6950
docs: move Apache+mod_wsgi example code to the corresponding bullets
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7497
diff
changeset
|
673 WSGIPassAuthorization On |
4902 | 674 |
707
1105531ae572
docs update, added ldap section, added troubleshooting section
Marcin Kuzminski <marcin@python-works.com>
parents:
683
diff
changeset
|
675 |
591 | 676 Other configuration files |
677 ------------------------- | |
678 | |
5425
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
679 A number of `example init.d scripts`__ can be found in |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
680 the ``init.d`` directory of the Kallithea source. |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
681 |
5ae8e644aa88
docs: spelling, grammar, content and typography
Søren Løvborg <sorenl@unity3d.com>
parents:
5413
diff
changeset
|
682 .. __: https://kallithea-scm.org/repos/kallithea/files/tip/init.d/ . |
591 | 683 |
5433
fbbe80e3322b
docs: consistent spacing around headings
Mads Kiilerich <madski@unity3d.com>
parents:
5426
diff
changeset
|
684 |
572
a60cd29ba7e2
more docs update
Marcin Kuzminski <marcin@python-works.com>
parents:
568
diff
changeset
|
685 .. _python: http://www.python.org/ |
7230
d24051ce961c
issues: support generic regex replacements in issue_url and issue_prefix
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7099
diff
changeset
|
686 .. _Python regular expression documentation: https://docs.python.org/2/library/re.html |
6334
cc21a2b86a30
docs: update links to Mercurial's website and wiki
Anton Shestakov <av6@dwimlabs.net>
parents:
5791
diff
changeset
|
687 .. _Mercurial: https://www.mercurial-scm.org/ |
4925
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
688 .. _Celery: http://celeryproject.org/ |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
689 .. _Celery documentation: http://docs.celeryproject.org/en/latest/getting-started/index.html |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
690 .. _RabbitMQ: http://www.rabbitmq.com/ |
56cd202b777e
docs: move all instructions on Celery to Setup
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
4915
diff
changeset
|
691 .. _Redis: http://redis.io/ |
1092
8af52e1224ff
merge docs in beta with those corrected by Jason Harris
Marcin Kuzminski <marcin@python-works.com>
parents:
1062
diff
changeset
|
692 .. _mercurial-server: http://www.lshift.net/mercurial-server.html |
6334
cc21a2b86a30
docs: update links to Mercurial's website and wiki
Anton Shestakov <av6@dwimlabs.net>
parents:
5791
diff
changeset
|
693 .. _PublishingRepositories: https://www.mercurial-scm.org/wiki/PublishingRepositories |
7653
9bae11163c31
docs: outline the challenges of specifying a locale for services (Issue #340)
Mads Kiilerich <mads@kiilerich.com>
parents:
7652
diff
changeset
|
694 .. _WSGIDaemonProcess documentation: https://modwsgi.readthedocs.io/en/develop/configuration-directives/WSGIDaemonProcess.html |