Documentation update for 2.5.0

Including:

* FPM migration on EPEL
* Package deprecation
* SUSE PHP upgrade
This commit is contained in:
Markus Frosch 2017-11-16 11:22:15 +01:00 committed by Eric Lippmann
parent 032622a4dc
commit e80ce765f0
2 changed files with 205 additions and 11 deletions

View File

@ -14,7 +14,7 @@ chapter.
* [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
* PHP >= 5.3.0 with the following modules installed: cURL, gettext, intl, mbstring, OpenSSL and xml
* PHP >= 5.3.2 with the following modules installed: cURL, gettext, intl, mbstring, OpenSSL and xml
* Default time zone configured for PHP in the php.ini file
* LDAP PHP library when using Active Directory or LDAP for authentication
* MySQL or PostgreSQL PHP libraries
@ -75,12 +75,6 @@ yum install https://packages.icinga.com/epel/icinga-rpm-release-7-latest.noarch.
dnf install https://packages.icinga.com/fedora/icinga-rpm-release-26-latest.noarch.rpm
```
**SLES 11**:
```
zypper ar http://packages.icinga.com/SUSE/ICINGA-release-11.repo
zypper ref
```
**SLES 12**:
```
zypper ar http://packages.icinga.com/SUSE/ICINGA-release.repo
@ -104,17 +98,46 @@ apk update
#### RHEL/CentOS Notes <a id="package-repositories-rhel-notes"></a>
The packages for RHEL/CentOS depend on other packages which are distributed
as part of the [EPEL repository](https://fedoraproject.org/wiki/EPEL).
Our packages are build on and with packages from the **[EPEL repository](https://fedoraproject.org/wiki/EPEL)**.
Please enable it prior installing the Icinga packages.
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).
RedHat 7:
```
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
```
If you are using RHEL you need enable the **optional repository** in order to use some
contents of EPEL.
RedHat:
```
subscription-manager repos --enable rhel-7-server-optional-rpms
# or
subscription-manager repos --enable rhel-6-server-optional-rpms
```
Since version 2.5.0 we also require a **newer PHP version** than what is available
in RedHat itself. You need to enable the SCL repository, so that the dependencies
can pull in the newer PHP.
CentOS:
```
yum install centos-release-scl
```
RedHat:
```
subscription-manager repos --enable rhel-server-rhscl-7-rpms
# or
subscription-manager repos --enable rhel-server-rhscl-6-rpms
```
Make sure to also read the chapter on [Setting up FPM](02-Installation.md#setting-up-fpm).
#### Alpine Linux Notes <a id="package-repositories-alpine-notes"></a>
@ -152,6 +175,145 @@ apk add icingaweb2
```
For Alpine Linux please read the [package repositories notes](02-Installation.md#package-repositories-alpine-notes).
### Setting up FPM <a id="setting-up-fpm"></a>
If you are on CentOS / RedHat 6 or 7, or just want to run Icinga Web 2 with PHP-FPM instead
of the Apache module.
| Operating System | FPM configuration path |
|---------------------|-----------------------------------|
| RedHat 7 (with SCL) | `/etc/opt/rh/rh-php71/php-fpm.d/` |
| RedHat 6 (with SCL) | `/etc/opt/rh/rh-php70/php-fpm.d/` |
| Debian/Ubuntu | `/etc/php*/*/fpm/pool.d/` |
The default pool `www` should be sufficient for Icinga Web 2.
On RedHat you need to start and enable the FPM service.
RedHat / CentOS 7 (SCL package):
```
systemctl start rh-php71-php-fpm.service
systemctl enable rh-php71-php-fpm.service
```
RedHat / CentOS 6 (SCL package):
```
service rh-php70-php-fpm start
chkconfig rh-php70-php-fpm on
```
All module packages for PHP have this SCL prefix, so you can install a
database module like this:
```
yum install rh-php71-php-mysqlnd
# or
yum install rh-php71-php-pgsql
# on el6
yum install rh-php70-php-mysqlnd
# or
yum install rh-php70-php-pgsql
```
On RedHat / CentOS 6 you also need to install `mod_proxy_fcgi` for httpd:
```
yum install mod_proxy_fcgi
```
Depending on your web server installation, we might have installed or
updated the config file for icingaweb2 with defaults for FPM.
Check `/etc/httpd/conf.d/icingaweb2.conf` or `/etc/apache2/conf.d/icingaweb2.conf`.
And `*.rpm*` `*.dpkg*` files there with updates.
Make sure that the `FilesMatch` part is included for Apache.
Also see the example from icingacli:
```
icingacli setup config webserver apache
```
### Upgrading to FPM <a id="upgrading-to-fpm"></a>
Valid for:
* RedHat / CentOS 6
* RedHat / CentOS 7
Other distributions are also possible if preferred, but not included here.
Some upgrading work needs to be done manually, while we install PHP FPM
as dependency, you need to start the service, and configure some things.
Please read [Setting up FPM](02-Installation.md#setting-up-fpm) first.
**php.ini settings** you have tuned in the past needs to be migrated to a SCL installation
of PHP.
Check these directories:
* `/etc/php.ini`
* `/etc/php.d/*.ini`
Most important for icingaweb2 is `date.timezone`.
PHP settings should be stored to:
* RedHat / CentOS 7: `/etc/opt/rh/rh-php71/php.d/`
* RedHat / CentOS 6: `/etc/opt/rh/rh-php70/php.d/`
Make sure to **install the required database modules**
RedHat / CentOS 7:
```
yum install rh-php71-php-mysqlnd
# or
yum install rh-php71-php-pgsql
```
RedHat / CentOS 6:
```
yum install rh-php70-php-mysqlnd
# or
yum install rh-php70-php-pgsql
```
After any PHP related change you now need to **restart FPM**:
RedHat / CentOS 7:
```
systemctl restart rh-php71-php-fpm.service
```
RedHat / CentOS 6:
```
service rh-php70-php-fpm restart
```
If you don't need mod_php for other apps on the server, you should disable it in Apache.
Disable PHP in Apache httpd:
```
cd /etc/httpd
cp conf.d/php.conf{,.bak}
: >conf.d/php.conf
# ONLY on el7!
cp conf.modules.d/10-php.conf{,.bak}
: >conf.modules.d/10-php.conf
systemctl restart httpd.service
# or on el6
service httpd restart
```
You can also uninstall the mod_php package, or all non-SCL PHP related packages.
```
yum remove php
# or
yum remove php-common
```
### Preparing Web Setup <a id="preparing-web-setup-from-package"></a>
You can set up Icinga Web 2 quickly and easily with the Icinga Web 2 setup wizard which is available the first time

View File

@ -1,5 +1,35 @@
# Upgrading Icinga Web 2 <a id="upgrading"></a>
## Upgrading to Icinga Web 2 2.5.x <a id="upgrading-to-2.5.x"></a>
**Attention:** Icinga Web 2 now requires **at least PHP 5.6**
**Changes in packaging and dependencies**
Valid for distributions:
* RHEL / CentOS 6 + 7
* Upgrading to PHP 7.0 / 7.1 via RedHat SCL (new dependency)
* See [Upgrading to FPM](02-Installation.md#upgrading-to-fpm) for manual steps that
are required
* SUSE SLE 12
* Upgrading PHP to >= 5.6.0 via the alternative packages.
You might have to confirm the replacement of PHP < 5.6 - but that
should work with any other PHP app as well.
* Make sure to enable the new Apache module `a2enmod php7` and restart `apache2`
**Discontinuing package updates**
For the following distributions Icinga Web 2 won't be updated past 2.4.x anymore.
* Debian 7 wheezy
* Ubuntu 14.04 LTS (trusty)
* SUSE SLE 11 (all service packs)
Please think about replacing your central Icinga system to a newer distribution release.
Also see [packages.icinga.com] for the currently supported distributions.
## Upgrading to Icinga Web 2 2.4.x <a id="upgrading-to-2.4.x"></a>
* Icinga Web 2 version 2.4.x does not introduce any backward incompatible change.
@ -82,3 +112,5 @@ If you delegated authentication to your web server using the `autologin` backend
authentication backend to be able to log in again. The new name better reflects
what's going on. A similar change
affects environments that opted for not storing preferences, your new backend is `none`.
[packages.icinga.com]: https://packages.icinga.com