odoo/doc/setup/install.rst

349 lines
13 KiB
ReStructuredText
Raw Normal View History

.. _setup/install:
===============
Installing Odoo
===============
There are mutliple ways to install Odoo, or not install it at all, depending
on the intended use case.
This documents attempts to describe most of the installation options.
:ref:`setup/install/demo`
the simplest "installation", only suitable for getting a quick feel for
Odoo or trying something out
:ref:`setup/install/saas`
trivial to start with and fully managed and migrated by Odoo S.A., can be
used to both test Odoo and use it for your business, but restricts the
flexibility of the system somewhat (check: no custom modules? what else?).
Can be used for both testing Odoo and long-term "production" use.
:ref:`setup/install/packaged`
simple to get started, allows more flexibility in hosting and deploying
the system and greater control over where data is stored. The maintenance
burden is shifted to the user.
Suitable for testing Odoo, developing modules and can be used for
long-term production use with additional deployment and maintenance work.
:ref:`setup/install/source`
harder to get started than :ref:`setup/install/packaged`, provides
even greater flexibility: packaged installers don't generally allow
multiple running Odoo versions on the same system, and don't provide easy
source access to Odoo itself.
Good for developing modules, can be used as base for production
deployment.
:ref:`setup/install/vcs`
Mostly has the same strengths and weaknesses as the
:ref:`setup/install/source`, but allows (technically) simpler
switching between versions of Odoo, as well as more structured patching
and customisations of Odoo itself (not through custom modules): with a
standard :ref:`setup/install/source`, a custom solution has to be
implemented to keep track of patches applied to Odoo (e.g. Quilt_). With
a VCS checkout, these changes can be implemented as standard Git revisions
or a custom Git branch, and can more easily be contributed back to the
main project.
.. _setup/install/demo:
Demo_
=====
To simply get a quick idea of Odoo, demo_ instances are available. They are
shared instances which only live for a few hours, and can be used to browse
around and try things out with no commitment.
Demo_ instances require no local installation, just a web browser.
.. _setup/install/saas:
SaaS_
=====
Odoo's SaaS_ provides private instances and starts out free. It can be used to
discover and test Odoo and do non-code customizations without having to
install it locally.
Like demo_ instances, SaaS_ instances require no local installation, a web
browser is sufficient.
.. _setup/install/packaged:
Packaged installers
===================
.. Odoo provides packaged installers for Windows, deb-based distributions
.. (Debian, Ubuntu, …) and RPM-based distributions (Fedora, CentOS, RHEL, …).
Odoo provides packaged installers for Windows and deb-based distributions
(Debian, Ubuntu, …).
These packages automatically set up all dependencies, but may be difficult to
keep up-to-date.
Official packages with all relevant dependency requirements are available on
https://nightly.odoo.com.
Deb
---
To install Odoo 8.0 on Debian-based distribution, execute the following
commands as root:
.. code-block:: console
# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
# echo "deb http://nightly.odoo.com/8.0/nightly/deb/ ./" >> /etc/apt/sources.list
# apt-get update && apt-get install odoo
This will automatically install all dependencies, install Odoo itself as a
daemon and automatically start it.
.. postgres-server apparently automatically installed due to being a
recommended package, maybe install it explicitly for the purpose of this
document?
.. danger:: to print PDF reports, you must install wkhtmltopdf_ yourself:
the version of wkhtmltopdf_ available in debian repositories does
not support headers and footers so it can not be installed
automatically. Use the version available on
`the wkhtmltopdf download page`_.
Configuration
'''''''''''''
The :ref:`configuration file <reference/cmdline/config>` can be found at
:file:`/etc/odoo/openerp-server.conf`
When the configuration file is edited, Odoo must be restarted using
``service``:
.. code-block:: console
$ sudo service odoo restart
Restarting odoo: ok
RPM
---
.. warning::
with RHEL-based distributions (RHEL, CenOS, Scientific Linux), EPEL_ must
be added to the distribution's repositories for all of Odoo's
dependencies to be available. For CenOS:
.. code-block:: console
$ sudo yum install -y epel-release
For other RHEL-based distribution, see the EPEL_ documentation.
.. code-block:: console
$ sudo yum install -y postgresql-server
$ sudo postgresql-setup initdb
$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql
$ sudo yum-config-manager --add-repo=https://nightly.odoo.com/8.0/nightly/rpm/odoo.repo
$ sudo yum install -y odoo
$ sudo systemctl enable odoo
$ sudo systemctl start odoo
.. danger:: to print PDF reports, you must install wkhtmltopdf_ yourself:
the version of wkhtmltopdf_ available in Fedora/CentOS
repositories does not support headers and footers so it can not
be installed automatically. Use the version available on
`the wkhtmltopdf download page`_.
Configuration
'''''''''''''
The :ref:`configuration file <reference/cmdline/config>` can be found at
:file:`/etc/odoo/openerp-server.conf`
When the configuration file is edited, Odoo must be restarted via SystemD:
.. code-block:: console
$ sudo systemctl restart odoo
Windows
-------
* download https://nightly.odoo.com/8.0/nightly/exe/odoo_8.0.latest.exe
* run the downloaded file
.. warning:: on Windows 8, you may see a warning titled "Windows protected
your PC". Click :guilabel:`More Info` then
:guilabel:`Run anyway`
* Accept the UAC_ prompt
* Go through the various installation steps
Odoo will automatically be started at the end of the installation.
Configuration
'''''''''''''
The :ref:`configuration file <reference/cmdline/config>` can be found at
:file:`{%PROGRAMFILES%}\\Odoo 8.0-{id}\\server\\openerp-server.conf`.
The configuration file can be edited to connect to a remote Postgresql, edit
file locations or set a dbfilter.
To reload the configuration file, restart the Odoo service via
:menuselection:`Services --> odoo server`.
.. _setup/install/source:
Source Install
==============
The source "installation" really is about not installing Odoo, and running
it directly from source instead.
This can be more convenient for module developers as the Odoo source is
more easily accessible than using packaged installation (for information or
to build this documentation and have it available offline).
It also makes starting and stopping Odoo more flexible and explicit than the
services set up by the packaged installations, and allows overriding settings
using :ref:`command-line parameters <reference/cmdline>` without needing to
edit a configuration file.
Finally it provides greater control over the system's set up, and allows more
easily keeping (and running) multiple versions of Odoo side-by-side.
The Odoo source can be downloaded from
https://nightly.odoo.com/8.0/nightly/src/odoo_8.0-latest.tar.gz
.. warning:: Windows does not handle .tar.gz archives natively, you will have
to download and install `7-Zip <http://www.7-zip.org>`_ to
decompress the archive
Installing dependencies
-----------------------
Source installation requires manually installing dependencies, be them native
dependencies or Python libraries:
* Python, should be preinstalled on most systems. On Windows, use `the
official Python 2.7 installer <https://www.python.org/downloads/windows/>`_.
* PostgreSQL, if you want the database to be on the same machine as Odoo
(simplest and default)
- on Linux, use your distribution's package
- on Windows, use `the official installer`_
- on OS X, `postgres.app <http://postgresapp.com>`_ is the simplest way to
get started
.. todo:: create new role?
* the :file:`requirements.txt` file in the source lists all the Python
dependencies
- for Windows, http://www.lfd.uci.edu/~gohlke/pythonlibs/ provides a number
of libraries, for both pure-python and native, packaged as installers
- dependencies may be installable with the system's package manager
- pip_ can take the requirements file directly and install everything listed
in it, either globally or within a `virtual environment`_:
.. code-block:: console
$ pip install -r path/to/requirements.txt
For libraries using native code (Pillow, lxml, greenlet, gevent, psycopg2)
it may be necessary to install development tools and native dependencies
before pip is able to install the dependencies themselves:
* Linux distributions generally require ``-dev`` or ``-devel`` packages
for Python, Postgres, libxml2, libxslt and libevent
* for OSX, install the Command Line Tools (``xcode-select --install``) the
native dependency via your preferred package manager (macports_,
homebrew_)
* for Windows
.. danger:: you will have to remove ``python-ldap`` from the
requirements file, it can not be installed via pip_ on
Windows and must be installed as a precompiled binary
- install the `Visual C++ Compiler for Python 2.7`_ (and restart)
- install `PostgreSQL for windows`_ if not already done
- Add PostgreSQL's ``bin`` directory (default:
``C:\Program Files\PostgreSQL\9.3\bin``) to your :envvar:`PATH`
``greenlet``, ``Pillow`` and ``lxml`` are available as pre-compiled
wheels_ and trivially installed by pip_, ``gevent`` only needs the
compiler to be installable and a local installation ``psycopg2``
.. note:: by default, Python scripts are not on the PATH in windows,
after installing pip_ add ``C:\Python27\Scripts`` to your
:envvar:`PATH`
.. danger:: whatever the installation method, Odoo on Windows also needs
pywin32_ which is not listed in the requirements file. It can be
installed using pip_ with ``pip install pypiwin32``, or manually
by downloading the official pywin32_ installer and running it.
Running Odoo
------------
Once all dependencies are set up, Odoo can be launched by running ``odoo.py``.
:ref:`Configuration <reference/cmdline>` can be provided either through
:ref:`command-line arguments <reference/cmdline>` or through a
:ref:`configuration file <reference/cmdline/config>`.
Common necessary configurations are:
* PostgreSQL host, port, user and password. Odoo has no defaults beyond
`psycopg2's defaults <http://initd.org/psycopg/docs/module.html>`_: connects
over a UNIX socket on port 5432 with the current user and no password.
This may require creating new PostgreSQL roles, by default the only user is
``postgres``, and Odoo forbids connecting as ``postgres``.
* Custom addons path beyond the defaults, to load your own modules
.. _setup/install/vcs:
VCS Checkout
============
The VCS Checkout installation method is similar to
:ref:`source-based installation <setup/install/source>` in most respect.
* Instead of downloading a tarball the Odoo source code is downloaded from
`the repository`_ using git_
* This simplifies the development and contributions to Odoo itself
* This also simplifies maintaining non-module patches on top of the base Odoo
system
The primary drawback of the VCS checkout method is that it is significantly
larger than a :ref:`source install <setup/install/source>` as it contains
the entire history of the Odoo project.
.. _demo: https://demo.odoo.com
.. _EPEL: https://fedoraproject.org/wiki/EPEL
.. _PostgreSQL: http://www.postgresql.org
.. _the official installer:
.. _install pip:
https://pip.pypa.io/en/latest/installing.html#install-pip
.. _PostgreSQL for windows:
http://www.enterprisedb.com/products-services-training/pgdownload
.. _Quilt: http://en.wikipedia.org/wiki/Quilt_(software)
.. _saas: https://www.odoo.com/page/start
.. _the wkhtmltopdf download page: http://wkhtmltopdf.org/downloads.html
.. _UAC: http://en.wikipedia.org/wiki/User_Account_Control
.. _wkhtmltopdf: http://wkhtmltopdf.org
.. _pip: https://pip.pypa.io
.. _macports: https://www.macports.org
.. _homebrew: http://brew.sh
.. _Visual C++ Compiler for Python 2.7:
http://www.microsoft.com/en-us/download/details.aspx?id=44266
.. _wheels: https://wheel.readthedocs.org/en/latest/
.. _virtual environment: http://docs.python-guide.org/en/latest/dev/virtualenvs/
.. _pywin32: http://sourceforge.net/projects/pywin32/files/pywin32/
.. _the repository: https://github.com/odoo/odoo
.. _git: http://git-scm.com