installation.rst
135 lines
| 5.0 KiB
| text/x-rst
|
RstLexer
/ docs / installation.rst
r568 | .. _installation: | |||
Mads Kiilerich
|
r4814 | ========================== | ||
Installation on Unix/Linux | ||||
========================== | ||||
r568 | ||||
Søren Løvborg
|
r5425 | The following describes three different ways of installing Kallithea: | ||
Mads Kiilerich
|
r4902 | |||
Mads Kiilerich
|
r5081 | - :ref:`installation-source`: The simplest way to keep the installation | ||
Søren Løvborg
|
r5425 | up-to-date and track any local customizations is to run directly from | ||
source in a Kallithea repository clone, preferably inside a virtualenv | ||||
virtual Python environment. | ||||
r568 | ||||
Thomas De Schampheleire
|
r4924 | - :ref:`installation-virtualenv`: If you prefer to only use released versions | ||
of Kallithea, the recommended method is to install Kallithea in a virtual | ||||
Python environment using `virtualenv`. The advantages of this method over | ||||
direct installation is that Kallithea and its dependencies are completely | ||||
contained inside the virtualenv (which also means you can have multiple | ||||
installations side by side or remove it entirely by just removing the | ||||
virtualenv directory) and does not require root privileges. | ||||
Thomas De Schampheleire
|
r4922 | |||
Thomas De Schampheleire
|
r4924 | - :ref:`installation-without-virtualenv`: The alternative method of installing | ||
a Kallithea release is using standard pip. The package will be installed in | ||||
the same location as all other Python packages you have ever installed. As a | ||||
result, removing it is not as straightforward as with a virtualenv, as you'd | ||||
Michael V. DePalatis
|
r4955 | have to remove its dependencies manually and make sure that they are not | ||
Thomas De Schampheleire
|
r4924 | needed by other packages. | ||
Andrew Shadura
|
r5964 | Regardless of the installation method you may need to make sure you have | ||
appropriate development packages installed, as installation of some of the | ||||
Kallithea dependencies requires a working C compiler and libffi library | ||||
headers. Depending on your configuration, you may also need to install | ||||
Git and development packages for the database of your choice. | ||||
For Debian and Ubuntu, the following command will ensure that a reasonable | ||||
set of dependencies is installed:: | ||||
Mads Kiilerich
|
r8089 | sudo apt-get install build-essential git libffi-dev python3-dev | ||
Andrew Shadura
|
r5964 | |||
For Fedora and RHEL-derivatives, the following command will ensure that a | ||||
reasonable set of dependencies is installed:: | ||||
Mads Kiilerich
|
r8089 | sudo yum install gcc git libffi-devel python3-devel | ||
Andrew Shadura
|
r5964 | |||
Thomas De Schampheleire
|
r4924 | .. _installation-source: | ||
Mads Kiilerich
|
r5433 | |||
Thomas De Schampheleire
|
r4924 | Installation from repository source | ||
----------------------------------- | ||||
Mads Kiilerich
|
r8073 | To install Kallithea in a virtualenv using the stable branch of the development | ||
Mads Kiilerich
|
r4989 | repository, follow the instructions below:: | ||
Thomas De Schampheleire
|
r4922 | |||
Mads Kiilerich
|
r4989 | hg clone https://kallithea-scm.org/repos/kallithea -u stable | ||
Thomas De Schampheleire
|
r4922 | cd kallithea | ||
Mads Kiilerich
|
r8073 | python3 -m venv ../kallithea-venv | ||
Andrew Shadura
|
r5965 | . ../kallithea-venv/bin/activate | ||
Mads Kiilerich
|
r5519 | pip install --upgrade pip setuptools | ||
Thomas De Schampheleire
|
r6703 | pip install --upgrade -e . | ||
Mads Kiilerich
|
r8089 | python3 setup.py compile_catalog # for translation of the UI | ||
Thomas De Schampheleire
|
r4922 | |||
You can now proceed to :ref:`setup`. | ||||
Thomas De Schampheleire
|
r4924 | .. _installation-virtualenv: | ||
r568 | ||||
Mads Kiilerich
|
r5433 | |||
Thomas De Schampheleire
|
r4924 | Installing a released version in a virtualenv | ||
--------------------------------------------- | ||||
r2358 | ||||
Mads Kiilerich
|
r8073 | It is highly recommended to use a separate virtualenv for installing Kallithea. | ||
Mads Kiilerich
|
r4902 | This way, all libraries required by Kallithea will be installed separately from your | ||
Thomas De Schampheleire
|
r4924 | main Python installation and other applications and things will be less | ||
problematic when upgrading the system or Kallithea. | ||||
Mads Kiilerich
|
r8073 | An additional benefit of virtualenv is that it doesn't require root privileges. | ||
r568 | ||||
Mads Kiilerich
|
r8073 | - Assuming you have installed virtualenv, create a new virtual environment | ||
for example, in `/srv/kallithea/venv`, using the venv command:: | ||||
r572 | ||||
Mads Kiilerich
|
r8073 | python3 -m venv /srv/kallithea/venv | ||
r572 | ||||
Mads Kiilerich
|
r8073 | - Activate the virtualenv in your current shell session and make sure the | ||
Mads Kiilerich
|
r5519 | basic requirements are up-to-date by running:: | ||
r1092 | ||||
Andrew Shadura
|
r5965 | . /srv/kallithea/venv/bin/activate | ||
Mads Kiilerich
|
r5519 | pip install --upgrade pip setuptools | ||
r1092 | ||||
Thomas De Schampheleire
|
r4924 | .. note:: You can't use UNIX ``sudo`` to source the ``virtualenv`` script; it | ||
will "activate" a shell that terminates immediately. It is also perfectly | ||||
acceptable (and desirable) to create a virtualenv as a normal user. | ||||
r3224 | ||||
Bradley M. Kuhn
|
r4192 | - Make a folder for Kallithea data files, and configuration somewhere on the | ||
r1309 | filesystem. For example:: | |||
r572 | ||||
Mads Kiilerich
|
r4902 | mkdir /srv/kallithea | ||
r3224 | ||||
Michael V. DePalatis
|
r4955 | - Go into the created directory and run this command to install Kallithea:: | ||
r572 | ||||
Thomas De Schampheleire
|
r6703 | pip install --upgrade kallithea | ||
r3224 | ||||
Mads Kiilerich
|
r7748 | .. note:: Some dependencies are optional. If you need them, install them in | ||
the virtualenv too:: | ||||
pip install --upgrade kallithea python-ldap python-pam psycopg2 | ||||
This might require installation of development packages using your | ||||
distribution's package manager. | ||||
Mads Kiilerich
|
r4902 | Alternatively, download a .tar.gz from http://pypi.python.org/pypi/Kallithea, | ||
Mads Kiilerich
|
r7748 | extract it and install from source by running:: | ||
Mads Kiilerich
|
r4902 | |||
Thomas De Schampheleire
|
r6703 | pip install --upgrade . | ||
Mads Kiilerich
|
r4902 | |||
Thomas De Schampheleire
|
r6302 | - This will install Kallithea together with all other required | ||
Python libraries into the activated virtualenv. | ||||
Mads Kiilerich
|
r4902 | |||
Thomas De Schampheleire
|
r4924 | You can now proceed to :ref:`setup`. | ||
r572 | ||||
Thomas De Schampheleire
|
r4924 | .. _installation-without-virtualenv: | ||
Mads Kiilerich
|
r5433 | |||
Thomas De Schampheleire
|
r4924 | Installing a released version without virtualenv | ||
------------------------------------------------ | ||||
For installation without virtualenv, 'just' use:: | ||||
pip install kallithea | ||||
Note that this method requires root privileges and will install packages | ||||
globally without using the system's package manager. | ||||
To install as a regular user in ``~/.local``, you can use:: | ||||
pip install --user kallithea | ||||
You can now proceed to :ref:`setup`. | ||||