installation.rst
200 lines
| 6.8 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. | ||
.. _installation-source: | ||||
Mads Kiilerich
|
r5433 | |||
Thomas De Schampheleire
|
r4924 | Installation from repository source | ||
----------------------------------- | ||||
Søren Løvborg
|
r5425 | 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 | ||
virtualenv ../kallithea-venv | ||||
source ../kallithea-venv/bin/activate | ||||
Mads Kiilerich
|
r5502 | python2 setup.py develop | ||
python2 setup.py compile_catalog # for translation of the UI | ||||
Thomas De Schampheleire
|
r4922 | |||
You can now proceed to :ref:`setup`. | ||||
To upgrade, simply update the repository with ``hg pull -u`` and restart the | ||||
server. | ||||
r568 | ||||
Thomas De Schampheleire
|
r4924 | .. _installation-virtualenv: | ||
r568 | ||||
Mads Kiilerich
|
r5433 | |||
Thomas De Schampheleire
|
r4924 | Installing a released version in a virtualenv | ||
--------------------------------------------- | ||||
r2358 | ||||
Mads Kiilerich
|
r4902 | It is highly recommended to use a separate virtualenv_ for installing Kallithea. | ||
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. | ||||
Michael V. DePalatis
|
r4955 | An additional benefit of virtualenv_ is that it doesn't require root privileges. | ||
r568 | ||||
Mads Kiilerich
|
r4902 | - Assuming you have installed virtualenv_, create a new virtual environment | ||
Michael V. DePalatis
|
r4955 | for example, in `/srv/kallithea/venv`, using the virtualenv command:: | ||
r572 | ||||
Mads Kiilerich
|
r4902 | virtualenv /srv/kallithea/venv | ||
r572 | ||||
Mads Kiilerich
|
r4902 | - Activate the virtualenv_ in your current shell session by running:: | ||
r1092 | ||||
Mads Kiilerich
|
r4902 | source /srv/kallithea/venv/bin/activate | ||
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 | ||||
Bradley M. Kuhn
|
r4192 | pip install kallithea | ||
r3224 | ||||
Mads Kiilerich
|
r4902 | Alternatively, download a .tar.gz from http://pypi.python.org/pypi/Kallithea, | ||
extract it and run:: | ||||
Mads Kiilerich
|
r5502 | python2 setup.py install | ||
Mads Kiilerich
|
r4902 | |||
Michael V. DePalatis
|
r4955 | - This will install Kallithea together with pylons_ and all other required | ||
Mads Kiilerich
|
r4902 | python libraries into the activated virtualenv. | ||
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`. | ||||
Mads Kiilerich
|
r5433 | |||
Mads Kiilerich
|
r4902 | Upgrading Kallithea from Python Package Index (PyPI) | ||
Mads Kiilerich
|
r5413 | ---------------------------------------------------- | ||
Mads Kiilerich
|
r4902 | |||
.. note:: | ||||
Michael V. DePalatis
|
r4955 | It is strongly recommended that you **always** perform a database and | ||
Mads Kiilerich
|
r4902 | configuration backup before doing an upgrade. | ||
Michael V. DePalatis
|
r4955 | These directions will use '{version}' to note that this is the version of | ||
Mads Kiilerich
|
r4902 | Kallithea that these files were used with. If backing up your Kallithea | ||
instance from version 0.1 to 0.2, the ``my.ini`` file could be | ||||
Michael V. DePalatis
|
r4955 | backed up to ``my.ini.0-1``. | ||
Mads Kiilerich
|
r4902 | |||
Andrew Shadura
|
r4914 | If using a SQLite database, stop the Kallithea process/daemon/service, and | ||
Mads Kiilerich
|
r4902 | then make a copy of the database file:: | ||
service kallithea stop | ||||
cp kallithea.db kallithea.db.{version} | ||||
Back up your configuration file:: | ||||
cp my.ini my.ini.{version} | ||||
Michael V. DePalatis
|
r4955 | Ensure that you are using the Python virtual environment that you originally | ||
installed Kallithea in by running:: | ||||
Mads Kiilerich
|
r4902 | |||
pip freeze | ||||
Michael V. DePalatis
|
r4955 | This will list all packages installed in the current environment. If | ||
Kallithea isn't listed, activate the correct virtual environment:: | ||||
Mads Kiilerich
|
r4902 | |||
source /srv/kallithea/venv/bin/activate | ||||
Andrew Shadura
|
r4912 | Once you have verified the environment you can upgrade Kallithea with:: | ||
Mads Kiilerich
|
r4902 | |||
pip install --upgrade kallithea | ||||
Then run the following command from the installation directory:: | ||||
r855 | ||||
Mads Kiilerich
|
r4902 | paster make-config Kallithea my.ini | ||
This will display any changes made by the new version of Kallithea to your | ||||
Michael V. DePalatis
|
r4955 | current configuration. It will try to perform an automerge. It is recommended | ||
that you recheck the content after the automerge. | ||||
Mads Kiilerich
|
r4902 | |||
.. note:: | ||||
Michael V. DePalatis
|
r4955 | Please always make sure your .ini files are up to date. Errors can | ||
often be caused by missing parameters added in new versions. | ||||
Mads Kiilerich
|
r4902 | |||
It is also recommended that you rebuild the whoosh index after upgrading since | ||||
the new whoosh version could introduce some incompatible index changes. Please | ||||
read the changelog to see if there were any changes to whoosh. | ||||
The final step is to upgrade the database. To do this simply run:: | ||||
paster upgrade-db my.ini | ||||
This will upgrade the schema and update some of the defaults in the database, | ||||
and will always recheck the settings of the application, if there are no new | ||||
options that need to be set. | ||||
.. note:: | ||||
Michael V. DePalatis
|
r4955 | The DB schema upgrade library has some limitations and can sometimes fail if you try to | ||
upgrade from older major releases. In such a case simply run upgrades sequentially, e.g., | ||||
upgrading from 0.1.X to 0.3.X should be done like this: 0.1.X. > 0.2.X > 0.3.X | ||||
Mads Kiilerich
|
r4902 | You can always specify what version of Kallithea you want to install for example in pip | ||
`pip install Kallithea==0.2` | ||||
You may find it helpful to clear out your log file so that new errors are | ||||
readily apparent:: | ||||
echo > kallithea.log | ||||
Once that is complete, you may now start your upgraded Kallithea Instance:: | ||||
service kallithea start | ||||
Or:: | ||||
paster serve /srv/kallithea/my.ini | ||||
.. note:: | ||||
If you're using Celery, make sure you restart all instances of it after | ||||
upgrade. | ||||
r855 | ||||
r568 | ||||
r3224 | .. _virtualenv: http://pypi.python.org/pypi/virtualenv | |||
Michael V. DePalatis
|
r4955 | .. _pylons: http://www.pylonsproject.org/ | ||