2017-07-14 16:33:05 +02:00
# Installation <a id="installation"></a>
2013-07-03 14:00:55 +02:00
2014-11-18 16:56:39 +01:00
The preferred way of installing Icinga Web 2 is to use the official package repositories depending on which operating
2017-08-07 15:35:57 +02:00
system and distribution you are running.
2013-07-03 14:00:55 +02:00
2015-09-27 17:32:24 +02:00
In case you are upgrading from an older version of Icinga Web 2
2017-08-07 15:35:57 +02:00
please make sure to read the [upgrading ](80-Upgrading.md#upgrading ) section
2015-10-02 10:36:39 +02:00
thoroughly.
2015-09-27 17:32:24 +02:00
2017-08-07 15:35:57 +02:00
Source and automated setups are described inside the [advanced topics ](20-Advanced-Topics.md#advanced-topics )
chapter.
2017-07-14 16:33:05 +02:00
## Installing Requirements <a id="installing-requirements"></a>
2013-10-20 14:51:03 +02:00
2017-09-26 18:52:32 +02:00
* [Icinga 2 ](https://www.icinga.com/products/icinga-2/ ) with the IDO database backend (MySQL or PostgreSQL)
* A web server, e.g. Apache or Nginx
2017-10-20 09:01:03 +02:00
* PHP >= 5.3.0 with the following modules installed: cURL, gettext, intl, mbstring, OpenSSL and xml
2016-12-11 17:24:04 +01:00
* Default time zone configured for PHP in the php.ini file
2014-11-18 16:56:39 +01:00
* LDAP PHP library when using Active Directory or LDAP for authentication
2016-02-17 15:26:52 +01:00
* MySQL or PostgreSQL PHP libraries
2013-10-20 14:51:03 +02:00
2016-02-16 00:25:35 +01:00
2017-07-14 16:33:05 +02:00
## Installing Icinga Web 2 from Package <a id="installing-from-package"></a>
2013-10-20 14:51:03 +02:00
2015-04-16 13:59:17 +02:00
Below is a list of official package repositories for installing Icinga Web 2 for various operating systems.
2013-07-03 14:00:55 +02:00
2016-09-01 14:18:29 +02:00
| Distribution | Repository |
| ------------- | ---------- |
2017-01-12 12:28:40 +01:00
| Debian | [Icinga Repository ](http://packages.icinga.com/debian/ ) |
| Ubuntu | [Icinga Repository ](http://packages.icinga.com/ubuntu/ ) |
| RHEL/CentOS | [Icinga Repository ](http://packages.icinga.com/epel/ ) |
| openSUSE | [Icinga Repository ](http://packages.icinga.com/openSUSE/ ) |
| SLES | [Icinga Repository ](http://packages.icinga.com/SUSE/ ) |
2016-09-05 11:26:19 +02:00
| Gentoo | [Upstream ](https://packages.gentoo.org/packages/www-apps/icingaweb2 ) |
| FreeBSD | [Upstream ](http://portsmon.freebsd.org/portoverview.py?category=net-mgmt&portname=icingaweb2 ) |
2016-09-01 14:18:29 +02:00
| ArchLinux | [Upstream ](https://aur.archlinux.org/packages/icingaweb2 ) |
2017-01-24 14:52:05 +01:00
| Alpine Linux | [Upstream ](http://git.alpinelinux.org/cgit/aports/tree/community/icingaweb2/APKBUILD ) |
2013-07-03 14:00:55 +02:00
2015-04-16 13:59:17 +02:00
Packages for distributions other than the ones listed above may also be available.
Please contact your distribution packagers.
2017-07-14 16:33:05 +02:00
### Setting up Package Repositories <a id="package-repositories"></a>
2015-04-16 13:59:17 +02:00
You need to add the Icinga repository to your package management configuration for installing Icinga Web 2.
2016-09-05 11:00:53 +02:00
If you've already configured your OS to use the Icinga repository for installing Icinga 2, you may skip this step.
Below is a list with **examples** for various distributions.
2015-04-16 13:59:17 +02:00
2017-08-04 09:33:58 +02:00
**Debian Stretch**:
2016-02-17 15:26:52 +01:00
```
2017-01-12 12:28:40 +01:00
wget -O - http://packages.icinga.com/icinga.key | apt-key add -
2017-08-03 19:30:40 +02:00
echo 'deb http://packages.icinga.com/debian icinga-stretch main' >/etc/apt/sources.list.d/icinga.list
2015-04-16 13:59:17 +02:00
apt-get update
2016-02-17 15:26:52 +01:00
```
2016-09-05 11:00:53 +02:00
> INFO
>
2017-08-03 19:30:40 +02:00
> For other Debian versions just replace `stretch` with your distribution's code name.
2016-09-05 11:00:53 +02:00
**Ubuntu Xenial**:
2016-02-17 15:26:52 +01:00
```
2017-01-12 12:28:40 +01:00
wget -O - http://packages.icinga.com/icinga.key | apt-key add -
add-apt-repository 'deb http://packages.icinga.com/ubuntu icinga-xenial main'
2015-04-16 13:59:17 +02:00
apt-get update
2016-02-17 15:26:52 +01:00
```
2016-09-05 11:00:53 +02:00
> INFO
>
> For other Ubuntu versions just replace xenial with your distribution's code name.
2015-04-16 13:59:17 +02:00
2017-08-03 19:30:40 +02:00
**RHEL and CentOS 7**:
2016-02-17 15:26:52 +01:00
```
2017-08-04 16:37:57 +02:00
yum install https://packages.icinga.com/epel/icinga-rpm-release-7-latest.noarch.rpm
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
2017-08-04 16:37:57 +02:00
**Fedora 26**:
2016-02-17 15:26:52 +01:00
```
2017-08-04 16:37:57 +02:00
dnf install https://packages.icinga.com/fedora/icinga-rpm-release-26-latest.noarch.rpm
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
2015-07-01 12:56:04 +02:00
**SLES 11**:
2016-02-17 15:26:52 +01:00
```
2017-01-12 12:28:40 +01:00
zypper ar http://packages.icinga.com/SUSE/ICINGA-release-11.repo
2015-04-16 13:59:17 +02:00
zypper ref
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
2015-07-01 12:56:04 +02:00
**SLES 12**:
2016-02-17 15:26:52 +01:00
```
2017-01-12 12:28:40 +01:00
zypper ar http://packages.icinga.com/SUSE/ICINGA-release.repo
2015-04-16 13:59:17 +02:00
zypper ref
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
2015-07-01 12:56:04 +02:00
**openSUSE**:
2016-02-17 15:26:52 +01:00
```
2017-01-12 12:28:40 +01:00
zypper ar http://packages.icinga.com/openSUSE/ICINGA-release.repo
2015-04-16 13:59:17 +02:00
zypper ref
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
2017-01-24 14:52:05 +01:00
**Alpine Linux**:
```
echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repos
apk update
```
> INFO
>
> Latest version of Icinga Web 2 is in the edge repository, which is the -dev branch.
2017-07-14 16:33:05 +02:00
#### RHEL/CentOS Notes <a id="package-repositories-rhel-notes"></a>
2017-08-07 15:21:15 +02:00
2017-08-03 19:30:40 +02:00
The packages for RHEL/CentOS depend on other packages which are distributed
as part of the [EPEL repository ](https://fedoraproject.org/wiki/EPEL ).
2015-07-01 12:56:04 +02:00
2017-08-03 19:30:40 +02:00
CentOS 7/6:
```
yum install epel-release
```
If you are using RHEL you need enable the `optional` repository and then install
the [EPEL rpm package ](https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F ).
2015-04-16 13:59:17 +02:00
2017-01-24 14:52:05 +01:00
2017-07-14 16:33:05 +02:00
#### Alpine Linux Notes <a id="package-repositories-alpine-notes"></a>
2017-01-24 14:52:05 +01:00
The example provided suppose that you are running Alpine edge, which is the -dev branch and is a rolling release.
If you are using a stable version, in order to use the latest Icinga Web 2 version you should "pin" the edge repository.
In order to correctly manage your repository, please follow
[these instructions ](https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management ).
2017-07-14 16:33:05 +02:00
### Installing Icinga Web 2 <a id="installing-from-package-example"></a>
2015-04-16 13:59:17 +02:00
You can install Icinga Web 2 by using your distribution's package manager to install the `icingaweb2` package.
2015-07-24 09:44:53 +02:00
Below is a list with examples for various distributions. The additional package `icingacli` is necessary on RPM based systems for being able to follow further steps in this guide. In DEB based systems, the icingacli binary is included in the icingaweb2 package.
2015-04-16 13:59:17 +02:00
2015-07-01 12:56:04 +02:00
**Debian and Ubuntu**:
2016-02-17 15:26:52 +01:00
```
2017-11-05 21:47:13 +01:00
apt-get install icingaweb2 icingacli
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
2015-07-01 12:56:04 +02:00
**RHEL, CentOS and Fedora**:
2016-02-17 15:26:52 +01:00
```
2015-06-22 12:03:56 +02:00
yum install icingaweb2 icingacli
2016-02-17 15:26:52 +01:00
```
2017-09-26 18:52:32 +02:00
2017-09-07 12:01:38 +02:00
If you have [SELinux ](90-SELinux.md ) enabled, the package `icingaweb2-selinux` is also required.
2017-08-07 15:35:57 +02:00
For RHEL/CentOS please read the [package repositories notes ](02-Installation.md#package-repositories-rhel-notes ).
2015-04-16 13:59:17 +02:00
2015-07-01 12:56:04 +02:00
**SLES and openSUSE**:
2016-02-17 15:26:52 +01:00
```
2015-06-22 12:03:56 +02:00
zypper install icingaweb2 icingacli
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
2017-01-24 14:52:05 +01:00
**Alpine Linux**:
```
apk add icingaweb2
```
2017-08-07 15:35:57 +02:00
For Alpine Linux please read the [package repositories notes ](02-Installation.md#package-repositories-alpine-notes ).
2017-01-24 14:52:05 +01:00
2017-07-14 16:33:05 +02:00
### Preparing Web Setup <a id="preparing-web-setup-from-package"></a>
2015-04-16 13:59:17 +02:00
You can set up Icinga Web 2 quickly and easily with the Icinga Web 2 setup wizard which is available the first time
you visit Icinga Web 2 in your browser. When using the web setup you are required to authenticate using a token.
In order to generate a token use the `icingacli` :
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
icingacli setup token create
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
In case you do not remember the token you can show it using the `icingacli` :
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
icingacli setup token show
2016-02-17 15:26:52 +01:00
```
2015-04-16 13:59:17 +02:00
2017-08-07 15:21:15 +02:00
#### Preparing Web Setup on Debian <a id="preparing-web-setup-from-package-debian"></a>
On Debian, you need to manually create a database and a database user prior to starting the web wizard.
This is due to local security restrictions whereas the web wizard cannot create a database/user through
a local unix domain socket.
```
MariaDB [mysql]> CREATE DATABASE icingaweb2;
MariaDB [mysql]> GRANT ALL ON icingaweb2.* TO icingaweb2@localhost IDENTIFIED BY 'CHANGEME';
```
You may also create a separate administrative account with all privileges instead.
> Note: This is only required if you are using a local database as authentication type.
### Starting Web Setup <a id="starting-web-setup-from-package"></a>
2015-04-16 13:59:17 +02:00
Finally visit Icinga Web 2 in your browser to access the setup wizard and complete the installation:
`/icingaweb2/setup` .
2017-09-26 18:52:32 +02:00
> **Note for Debian**
>
> Use the same database, user and password details created above when asked.
2017-08-07 15:21:15 +02:00
2017-09-26 18:52:32 +02:00
The setup wizard automatically detects the required packages. In case one of them is missing,
e.g. a PHP module, please install the package, restart your webserver and reload the setup page.
2016-04-13 13:47:11 +02:00
2017-09-26 18:52:32 +02:00
If you have SELinux enabled, please ensure to either have the selinux package for Icinga Web 2
installed, or disable it.