Docs: Enhance upgrade chapter with DB update instructions

Ported from the Icinga 2 docs.

fixes #3175

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
This commit is contained in:
Michael Friedrich 2017-12-05 11:17:37 +01:00 committed by Eric Lippmann
parent 89da30f05f
commit 402de9ff69
1 changed files with 81 additions and 6 deletions

View File

@ -1,8 +1,16 @@
# Upgrading Icinga Web 2 <a id="upgrading"></a>
Upgrading Icinga Web 2 is quite straightforward. Usually the only manual steps involved are schema updates for the
Icinga Web 2 database.
Specific version upgrades are described below. Please note that version updates are incremental. An upgrade from
v2.3 to v2.5 requires to follow the instructions for v2.4 too.
## 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**
> **Attention**
>
> Icinga Web 2 v2.5 requires **at least PHP 5.6**.
**Changes in packaging and dependencies**
@ -18,17 +26,22 @@ Valid for distributions:
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**
**Discontinued package updates**
For the following distributions Icinga Web 2 won't be updated past 2.4.x anymore.
Icinga Web 2 v2.5+ is not supported on these platforms:
* 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.
Please consider an upgrade of your central Icinga system to a newer distribution release.
Also see [packages.icinga.com] for the currently supported distributions.
[packages.icinga.com](https://packages.icinga.com) provides an overview about currently supported distributions.
Icinga Web 2 v2.5.0 requires a schema update for the database. The database schema has been adjusted to support
usernames up to 254 characters. This is necessary to support the new domain-aware authentication feature.
Continue here for [MySQL](80-Upgrading.md#upgrading-mysql-db) and [PostgreSQL](80-Upgrading.md#upgrading-pgsql-db).
## Upgrading to Icinga Web 2 2.4.x <a id="upgrading-to-2.4.x"></a>
@ -113,4 +126,66 @@ 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
## Upgrading the MySQL Database <a id="upgrading-mysql-db"></a>
If you installed Icinga Web 2 from package, please check the upgrade scripts located in
**/usr/share/doc/icingaweb2/schema/mysql-upgrades** to update your database schema.
In case you installed Icinga Web 2 from source, please find the upgrade scripts in **etc/schema/mysql-upgrades**.
> **Note**
>
> If there isn't an upgrade file for your current version available, there's nothing to do.
Apply all database schema upgrade files incrementally.
```
# mysql -u root -p icingaweb2 < /usr/share/doc/icingaweb2/schema/mysql-upgrades/<version>.sql
```
**Example:** You are upgrading Icinga Web 2 from version `2.4.0` to `2.5.0`. Look into
the `upgrade` directory:
```
$ ls /usr/share/doc/icingaweb2/schema/mysql-upgrades/
2.0.0beta3-2.0.0rc1.sql 2.5.0.sql
```
The upgrade file `2.5.0.sql` must be applied for the v2.5.0 release. If there are multiple
upgrade files involved, apply them incrementally.
```
# mysql -u root -p icinga < /usr/share/doc/icingaweb2/schema/mysql-upgrades/2.5.0.sql
```
## Upgrading the PostgreSQL Database <a id="upgrading-pgsql-db"></a>
If you installed Icinga Web 2 from package, please check the upgrade scripts located in
**/usr/share/doc/icingaweb2/schema/pgsql-upgrades** to update your database schema.
In case you installed Icinga Web 2 from source, please find the upgrade scripts in **etc/schema/pgsql-upgrades**.
> **Note**
>
> If there isn't an upgrade file for your current version available, there's nothing to do.
Apply all database schema upgrade files incrementally.
```
# export PGPASSWORD=icingaweb2
# psql -U icingaweb2 -d icingaweb2 < /usr/share/doc/icingaweb2/schema/pgsql-upgrades/<version>.sql
```
**Example:** You are upgrading Icinga Web 2 from version `2.4.0` to `2.5.0`. Look into
the `upgrade` directory:
```
$ ls /usr/share/doc/icingaweb2/schema/pgsql-upgrades/
2.0.0beta3-2.0.0rc1.sql 2.5.0.sql
```
The upgrade file `2.5.0.sql` must be applied for the v2.5.0 release. If there are multiple
upgrade files involved, apply them incrementally.
```
# export PGPASSWORD=icingaweb2
# psql -U icingaweb2 -d icingaweb2 < /usr/share/doc/icingaweb2/schema/pgsql-upgrades/2.5.0.sql
```