icinga2/INSTALL

105 lines
3.8 KiB
Plaintext
Raw Normal View History

2012-09-14 10:42:21 +02:00
Installing Icinga 2
===================
2012-09-14 10:42:21 +02:00
Please note that the current version of Icinga 2 isn't much more than a tech
demo. Expect some rough edges when installing and running Icinga 2.
2012-09-14 10:42:21 +02:00
For the "finished" version we're planning to release packages for the most
common Linux distributions as well as for Windows - or at least co-operate
with the package maintainers.
2012-09-14 10:42:21 +02:00
Build Requirements
------------------
2012-09-14 10:42:21 +02:00
The following requirements need to be fulfilled in order to build the
2012-09-18 12:38:08 +02:00
application using a dist tarball (package names for RHEL and Debian in
parentheses):
2012-09-18 12:38:08 +02:00
* GNU make (make)
2012-09-14 10:42:21 +02:00
* C++ compiler (gcc-c++ on RHEL, build-essential on Debian)
* OpenSSL library and header files (openssl-devel on RHEL, libssl-dev
on Debian)
* Boost library and header files (boost-devel on RHEL, libboost-all-dev
on Debian)
2012-09-18 12:38:08 +02:00
* optional: Doxygen (doxygen)
* optional: MySQL (mysql-devel on RHEL, libmysqlclient-dev on Debian)
* optional: Python (python-devel on RHEL, python-dev on Debian)
2012-09-14 10:42:21 +02:00
Packaging Requirements
----------------------
2012-09-14 10:42:21 +02:00
In order to build a dist tarball for the application the following external
software components need to be installed in addition to the build requirements
mentioned above:
2012-09-18 12:38:08 +02:00
* GNU Automake (automake)
* GNU Autoconf (autoconf)
2012-09-14 10:42:21 +02:00
* GNU Libtool (libtool and libtool-ltdl-devel on RHEL, libtool and
libltdl-dev on Debian)
2012-09-18 12:38:08 +02:00
* GNU bison (bison)
* GNU flex (flex)
2013-10-08 12:57:41 +02:00
In order to build the dist tarball (using "make dist") you need sufficiently
recent versions of the packages listed above.
User Requirements
-----------------
By default Icinga will run as user 'icinga' and group 'icinga'. Additionally the
2013-10-02 09:50:26 +02:00
external command pipe and livestatus features require a dedicated command group
'icingacmd'. You can choose your own user/group names and pass them to the
configure script using the --with-icinga-user, --with-icinga-group,
--with-icingacmd-user and --with-icingacmd-group options.
# groupadd icinga
# groupadd icingacmd
# useradd -c "icinga" -s /sbin/nologin -G icingacmd -g icinga
2013-10-02 09:50:26 +02:00
Add the web server user to the icingacmd group in order to grant it write
permissions to the external command pipe and livestatus socket:
# usermod -a -G icingacmd www-data
2013-10-02 09:50:26 +02:00
Make sure to replace "www-data" with the name of the user your web server
is running as.
2012-09-14 10:42:21 +02:00
Building Icinga 2
-----------------
2012-09-14 10:42:21 +02:00
Once you have installed all the necessary build requirements you can build
Icinga 2 using the following commands:
2012-09-14 10:42:21 +02:00
$ ./configure
$ make
$ make install
2012-09-14 10:42:21 +02:00
The configure script supports all the usual parameters one comes to expect
from autoconf. In particular you may want to use --prefix to specify an
alternative installation prefix.
Note: The Git repository does not contain any auto-generated Autotools files,
i.e. there is no 'configure' script. In this case you will need to regenerate
the 'configure' script by running 'autogen.sh'. However, as an end-user you
should reconsider whether you really want to use the code from the Git
repository. In general it is advisable to use one of the dist tarballs instead.
2012-09-14 10:42:21 +02:00
Running Icinga 2
----------------
2012-09-14 10:42:21 +02:00
Icinga 2 comes with a single binary that takes care of loading all the relevant
components (e.g. for check execution, notifications, etc.):
2013-10-02 09:50:26 +02:00
$ icinga2
2012-09-14 10:42:21 +02:00
[2012/09/14 10:36:12] information/icinga: Icinga application loader (version:
2.0, git branch master, commit 8e4bdf38 + changes)
2013-10-02 09:50:26 +02:00
[2012/09/14 10:36:12] information/base: Syntax: icinga2 -c <config-file> ...
2012-09-14 10:42:21 +02:00
Icinga 2 reads a single configuration file which is used to specify all
configuration settings (global settings, hosts, services, etc.). The
configuration format is explained in detail in the docs/icinga2-config.txt
file.
2013-10-02 09:50:26 +02:00
By default "make install" installs example configuration files in
/usr/local/etc/icinga2 unless you have specified a different prefix or
sysconfdir.