Merge pull request #3094 from Icinga/feature/requirements
Support and documentation changes for 2.5.0
This commit is contained in:
commit
5aed51b1a2
|
@ -14,7 +14,7 @@ chapter.
|
||||||
|
|
||||||
* [Icinga 2](https://www.icinga.com/products/icinga-2/) with the IDO database backend (MySQL or PostgreSQL)
|
* [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
|
* 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
|
* Default time zone configured for PHP in the php.ini file
|
||||||
* LDAP PHP library when using Active Directory or LDAP for authentication
|
* LDAP PHP library when using Active Directory or LDAP for authentication
|
||||||
* MySQL or PostgreSQL PHP libraries
|
* 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
|
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**:
|
**SLES 12**:
|
||||||
```
|
```
|
||||||
zypper ar http://packages.icinga.com/SUSE/ICINGA-release.repo
|
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>
|
#### RHEL/CentOS Notes <a id="package-repositories-rhel-notes"></a>
|
||||||
|
|
||||||
The packages for RHEL/CentOS depend on other packages which are distributed
|
Our packages are build on and with packages from the **[EPEL repository](https://fedoraproject.org/wiki/EPEL)**.
|
||||||
as part of the [EPEL repository](https://fedoraproject.org/wiki/EPEL).
|
Please enable it prior installing the Icinga packages.
|
||||||
|
|
||||||
CentOS 7/6:
|
CentOS 7/6:
|
||||||
```
|
```
|
||||||
yum install epel-release
|
yum install epel-release
|
||||||
```
|
```
|
||||||
|
|
||||||
If you are using RHEL you need enable the `optional` repository and then install
|
RedHat 7:
|
||||||
the [EPEL rpm package](https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F).
|
```
|
||||||
|
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>
|
#### 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).
|
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>
|
### 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
|
You can set up Icinga Web 2 quickly and easily with the Icinga Web 2 setup wizard which is available the first time
|
||||||
|
|
|
@ -1,5 +1,35 @@
|
||||||
# Upgrading Icinga Web 2 <a id="upgrading"></a>
|
# 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>
|
## 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.
|
* 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
|
authentication backend to be able to log in again. The new name better reflects
|
||||||
what's going on. A similar change
|
what's going on. A similar change
|
||||||
affects environments that opted for not storing preferences, your new backend is `none`.
|
affects environments that opted for not storing preferences, your new backend is `none`.
|
||||||
|
|
||||||
|
[packages.icinga.com]: https://packages.icinga.com
|
||||||
|
|
355
icingaweb2.spec
355
icingaweb2.spec
|
@ -1,355 +0,0 @@
|
||||||
# Icinga Web 2 | (c) 2013-2016 Icinga Development Team | GPLv2+
|
|
||||||
|
|
||||||
%define revision 1
|
|
||||||
|
|
||||||
Name: icingaweb2
|
|
||||||
Version: 2.4.1
|
|
||||||
Release: %{revision}%{?dist}
|
|
||||||
Summary: Icinga Web 2
|
|
||||||
Group: Applications/System
|
|
||||||
License: GPLv2+ and MIT and BSD
|
|
||||||
URL: https://icinga.com
|
|
||||||
Source0: https://github.com/Icinga/%{name}/archive/v%{version}.tar.gz
|
|
||||||
BuildArch: noarch
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
|
|
||||||
Packager: Icinga Team <info@icinga.com>
|
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?amzn}
|
|
||||||
%define php php
|
|
||||||
%define php_cli php-cli
|
|
||||||
%define wwwconfigdir %{_sysconfdir}/httpd/conf.d
|
|
||||||
%define wwwuser apache
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?suse_version}
|
|
||||||
%define wwwconfigdir %{_sysconfdir}/apache2/conf.d
|
|
||||||
%define wwwuser wwwrun
|
|
||||||
%if 0%{?suse_version} == 1110
|
|
||||||
%define php php53
|
|
||||||
Requires: apache2-mod_php53
|
|
||||||
%else
|
|
||||||
%define php php5
|
|
||||||
Requires: apache2-mod_php5
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%{?amzn:Requires(pre): shadow-utils}
|
|
||||||
%{?fedora:Requires(pre): shadow-utils}
|
|
||||||
%{?rhel:Requires(pre): shadow-utils}
|
|
||||||
%{?suse_version:Requires(pre): pwdutils}
|
|
||||||
Requires: %{name}-common = %{version}-%{release}
|
|
||||||
Requires: php-Icinga = %{version}-%{release}
|
|
||||||
Requires: %{name}-vendor-dompdf = 0.7.0-1%{?dist}
|
|
||||||
Requires: %{name}-vendor-HTMLPurifier = 4.8.0-1%{?dist}
|
|
||||||
Requires: %{name}-vendor-JShrink = 1.1.0-1%{?dist}
|
|
||||||
Requires: %{name}-vendor-lessphp = 0.4.0-1%{?dist}
|
|
||||||
Requires: %{name}-vendor-Parsedown = 1.6.0-1%{?dist}
|
|
||||||
|
|
||||||
%if "%{_vendor}" == "redhat" && !(0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6")
|
|
||||||
%define selinux 1
|
|
||||||
%define selinux_variants mls targeted
|
|
||||||
%{!?_selinux_policy_version: %define _selinux_policy_version %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp 2>/dev/null)}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%define basedir %{_datadir}/%{name}
|
|
||||||
%define bindir %{_bindir}
|
|
||||||
%define configdir %{_sysconfdir}/%{name}
|
|
||||||
%define logdir %{_localstatedir}/log/%{name}
|
|
||||||
%define phpdir %{_datadir}/php
|
|
||||||
%define icingawebgroup icingaweb2
|
|
||||||
%define docsdir %{_datadir}/doc/%{name}
|
|
||||||
|
|
||||||
|
|
||||||
%description
|
|
||||||
Icinga Web 2
|
|
||||||
|
|
||||||
|
|
||||||
%package common
|
|
||||||
Summary: Common files for Icinga Web 2 and the Icinga CLI
|
|
||||||
Group: Applications/System
|
|
||||||
%{?amzn:Requires(pre): shadow-utils}
|
|
||||||
%{?fedora:Requires(pre): shadow-utils}
|
|
||||||
%{?rhel:Requires(pre): shadow-utils}
|
|
||||||
%{?suse_version:Requires(pre): pwdutils}
|
|
||||||
|
|
||||||
%description common
|
|
||||||
Common files for Icinga Web 2 and the Icinga CLI
|
|
||||||
|
|
||||||
|
|
||||||
%package -n php-Icinga
|
|
||||||
Summary: Icinga Web 2 PHP library
|
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{php} >= 5.3.0
|
|
||||||
Requires: %{php}-gd %{php}-intl
|
|
||||||
Requires: %{name}-vendor-zf1 = 1.12.20-1%{?dist}
|
|
||||||
%{?amzn:Requires: %{php}-pecl-imagick}
|
|
||||||
%{?fedora:Requires: php-pecl-imagick}
|
|
||||||
%{?rhel:Requires: php-pecl-imagick}
|
|
||||||
%{?suse_version:Requires: %{php}-gettext %{php}-json %{php}-openssl %{php}-posix}
|
|
||||||
|
|
||||||
%description -n php-Icinga
|
|
||||||
Icinga Web 2 PHP library
|
|
||||||
|
|
||||||
|
|
||||||
%package -n icingacli
|
|
||||||
Summary: Icinga CLI
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: %{name}-common = %{version}-%{release}
|
|
||||||
Requires: php-Icinga = %{version}-%{release}
|
|
||||||
%{?amzn:Requires: %{php_cli} >= 5.3.0 bash-completion}
|
|
||||||
%{?fedora:Requires: %{php_cli} >= 5.3.0 bash-completion}
|
|
||||||
%{?rhel:Requires: %{php_cli} >= 5.3.0 bash-completion}
|
|
||||||
%{?suse_version:Requires: %{php} >= 5.3.0}
|
|
||||||
|
|
||||||
%description -n icingacli
|
|
||||||
Icinga CLI
|
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?selinux}
|
|
||||||
%package selinux
|
|
||||||
Summary: SELinux policy for Icinga Web 2
|
|
||||||
BuildRequires: checkpolicy, selinux-policy-devel, /usr/share/selinux/devel/policyhelp, hardlink
|
|
||||||
%if "%{_selinux_policy_version}" != ""
|
|
||||||
Requires: selinux-policy >= %{_selinux_policy_version}
|
|
||||||
%endif
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Requires(post): policycoreutils
|
|
||||||
Requires(postun): policycoreutils
|
|
||||||
|
|
||||||
%description selinux
|
|
||||||
SELinux policy for Icinga Web 2
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%package vendor-dompdf
|
|
||||||
Version: 0.7.0
|
|
||||||
Release: 1%{?dist}
|
|
||||||
Summary: Icinga Web 2 vendor library dompdf
|
|
||||||
Group: Development/Libraries
|
|
||||||
License: LGPLv2.1
|
|
||||||
Requires: %{php} >= 5.3.0
|
|
||||||
|
|
||||||
%description vendor-dompdf
|
|
||||||
Icinga Web 2 vendor library dompdf
|
|
||||||
|
|
||||||
|
|
||||||
%package vendor-HTMLPurifier
|
|
||||||
Version: 4.8.0
|
|
||||||
Release: 1%{?dist}
|
|
||||||
Summary: Icinga Web 2 vendor library HTMLPurifier
|
|
||||||
Group: Development/Libraries
|
|
||||||
License: LGPLv2.1
|
|
||||||
Requires: %{php} >= 5.3.0
|
|
||||||
|
|
||||||
%description vendor-HTMLPurifier
|
|
||||||
Icinga Web 2 vendor library HTMLPurifier
|
|
||||||
|
|
||||||
|
|
||||||
%package vendor-JShrink
|
|
||||||
Version: 1.1.0
|
|
||||||
Release: 1%{?dist}
|
|
||||||
Summary: Icinga Web 2 vendor library JShrink
|
|
||||||
Group: Development/Libraries
|
|
||||||
License: BSD
|
|
||||||
Requires: %{php} >= 5.3.0
|
|
||||||
|
|
||||||
%description vendor-JShrink
|
|
||||||
Icinga Web 2 vendor library JShrink
|
|
||||||
|
|
||||||
|
|
||||||
%package vendor-lessphp
|
|
||||||
Version: 0.4.0
|
|
||||||
Release: 1%{?dist}
|
|
||||||
Summary: Icinga Web 2 vendor library lessphp
|
|
||||||
Group: Development/Libraries
|
|
||||||
License: MIT
|
|
||||||
Requires: %{php} >= 5.3.0
|
|
||||||
|
|
||||||
%description vendor-lessphp
|
|
||||||
Icinga Web 2 vendor library lessphp
|
|
||||||
|
|
||||||
|
|
||||||
%package vendor-Parsedown
|
|
||||||
Version: 1.6.0
|
|
||||||
Release: 1%{?dist}
|
|
||||||
Summary: Icinga Web 2 vendor library Parsedown
|
|
||||||
Group: Development/Libraries
|
|
||||||
License: MIT
|
|
||||||
Requires: %{php} >= 5.3.0
|
|
||||||
|
|
||||||
%description vendor-Parsedown
|
|
||||||
Icinga Web 2 vendor library Parsedown
|
|
||||||
|
|
||||||
|
|
||||||
%package vendor-zf1
|
|
||||||
Version: 1.12.20
|
|
||||||
Release: 1%{?dist}
|
|
||||||
Summary: Icinga Web 2's fork of Zend Framework 1
|
|
||||||
Group: Development/Libraries
|
|
||||||
License: BSD
|
|
||||||
Requires: %{php} >= 5.3.0
|
|
||||||
Obsoletes: %{name}-vendor-Zend
|
|
||||||
|
|
||||||
%description vendor-zf1
|
|
||||||
Icinga Web 2's fork of Zend Framework 1
|
|
||||||
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q
|
|
||||||
%if 0%{?selinux}
|
|
||||||
mkdir selinux
|
|
||||||
cp -p packages/selinux/icingaweb2.{fc,if,te} selinux
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
|
||||||
%if 0%{?selinux}
|
|
||||||
cd selinux
|
|
||||||
for selinuxvariant in %{selinux_variants}
|
|
||||||
do
|
|
||||||
make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile
|
|
||||||
mv icingaweb2.pp icingaweb2.pp.${selinuxvariant}
|
|
||||||
make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean
|
|
||||||
done
|
|
||||||
cd -
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
|
||||||
rm -rf %{buildroot}
|
|
||||||
mkdir -p %{buildroot}/{%{basedir}/{modules,library/vendor,public},%{bindir},%{configdir}/modules,%{logdir},%{phpdir},%{wwwconfigdir},%{_sysconfdir}/bash_completion.d,%{docsdir}}
|
|
||||||
cp -prv application doc %{buildroot}/%{basedir}
|
|
||||||
cp -pv etc/bash_completion.d/icingacli %{buildroot}/%{_sysconfdir}/bash_completion.d/icingacli
|
|
||||||
cp -prv modules/{monitoring,setup,doc,translation} %{buildroot}/%{basedir}/modules
|
|
||||||
cp -prv library/Icinga %{buildroot}/%{phpdir}
|
|
||||||
cp -prv library/vendor/{dompdf,HTMLPurifier*,JShrink,lessphp,Parsedown,Zend} %{buildroot}/%{basedir}/library/vendor
|
|
||||||
cp -prv public/{css,font,img,js,error_norewrite.html} %{buildroot}/%{basedir}/public
|
|
||||||
cp -pv packages/files/apache/icingaweb2.conf %{buildroot}/%{wwwconfigdir}/icingaweb2.conf
|
|
||||||
cp -pv packages/files/bin/icingacli %{buildroot}/%{bindir}
|
|
||||||
cp -pv packages/files/public/index.php %{buildroot}/%{basedir}/public
|
|
||||||
cp -prv etc/schema %{buildroot}/%{docsdir}
|
|
||||||
cp -prv packages/files/config/modules/{setup,translation} %{buildroot}/%{configdir}/modules
|
|
||||||
%if 0%{?selinux}
|
|
||||||
cd selinux
|
|
||||||
for selinuxvariant in %{selinux_variants}
|
|
||||||
do
|
|
||||||
install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant}
|
|
||||||
install -p -m 644 icingaweb2.pp.${selinuxvariant} %{buildroot}%{_datadir}/selinux/${selinuxvariant}/icingaweb2.pp
|
|
||||||
done
|
|
||||||
cd -
|
|
||||||
/usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%pre
|
|
||||||
getent group icingacmd >/dev/null || groupadd -r icingacmd
|
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} < 01200
|
|
||||||
usermod -A icingacmd,%{icingawebgroup} %{wwwuser}
|
|
||||||
%else
|
|
||||||
usermod -a -G icingacmd,%{icingawebgroup} %{wwwuser}
|
|
||||||
%endif
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
%clean
|
|
||||||
rm -rf %{buildroot}
|
|
||||||
|
|
||||||
%files
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{basedir}/application/controllers
|
|
||||||
%{basedir}/application/fonts
|
|
||||||
%{basedir}/application/forms
|
|
||||||
%{basedir}/application/layouts
|
|
||||||
%{basedir}/application/views
|
|
||||||
%{basedir}/application/VERSION
|
|
||||||
%{basedir}/doc
|
|
||||||
%{basedir}/modules
|
|
||||||
%{basedir}/public
|
|
||||||
%config(noreplace) %{wwwconfigdir}/icingaweb2.conf
|
|
||||||
%attr(2775,root,%{icingawebgroup}) %dir %{logdir}
|
|
||||||
%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir}/modules/setup
|
|
||||||
%attr(0660,root,%{icingawebgroup}) %config(noreplace) %{configdir}/modules/setup/config.ini
|
|
||||||
%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir}/modules/translation
|
|
||||||
%attr(0660,root,%{icingawebgroup}) %config(noreplace) %{configdir}/modules/translation/config.ini
|
|
||||||
%{docsdir}
|
|
||||||
%docdir %{docsdir}
|
|
||||||
|
|
||||||
|
|
||||||
%pre common
|
|
||||||
getent group %{icingawebgroup} >/dev/null || groupadd -r %{icingawebgroup}
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
%files common
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{basedir}/application/locale
|
|
||||||
%dir %{basedir}/modules
|
|
||||||
%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir}
|
|
||||||
%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir}/modules
|
|
||||||
|
|
||||||
|
|
||||||
%files -n php-Icinga
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{phpdir}/Icinga
|
|
||||||
|
|
||||||
|
|
||||||
%files -n icingacli
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{basedir}/application/clicommands
|
|
||||||
%{_sysconfdir}/bash_completion.d/icingacli
|
|
||||||
%attr(0755,root,root) %{bindir}/icingacli
|
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?selinux}
|
|
||||||
%post selinux
|
|
||||||
for selinuxvariant in %{selinux_variants}
|
|
||||||
do
|
|
||||||
%{_sbindir}/semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/icingaweb2.pp &> /dev/null || :
|
|
||||||
done
|
|
||||||
%{_sbindir}/restorecon -R %{basedir} &> /dev/null || :
|
|
||||||
%{_sbindir}/restorecon -R %{configdir} &> /dev/null || :
|
|
||||||
%{_sbindir}/restorecon -R %{logdir} &> /dev/null || :
|
|
||||||
|
|
||||||
%postun selinux
|
|
||||||
if [ $1 -eq 0 ] ; then
|
|
||||||
for selinuxvariant in %{selinux_variants}
|
|
||||||
do
|
|
||||||
%{_sbindir}/semodule -s ${selinuxvariant} -r icingaweb2 &> /dev/null || :
|
|
||||||
done
|
|
||||||
[ -d %{basedir} ] && %{_sbindir}/restorecon -R %{basedir} &> /dev/null || :
|
|
||||||
[ -d %{configdir} ] && %{_sbindir}/restorecon -R %{configdir} &> /dev/null || :
|
|
||||||
[ -d %{logdir} ] && %{_sbindir}/restorecon -R %{logdir} &> /dev/null || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files selinux
|
|
||||||
%defattr(-,root,root,0755)
|
|
||||||
%doc selinux/*
|
|
||||||
%{_datadir}/selinux/*/icingaweb2.pp
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%files vendor-dompdf
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{basedir}/library/vendor/dompdf
|
|
||||||
|
|
||||||
|
|
||||||
%files vendor-HTMLPurifier
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{basedir}/library/vendor/HTMLPurifier
|
|
||||||
%{basedir}/library/vendor/HTMLPurifier.autoload.php
|
|
||||||
%{basedir}/library/vendor/HTMLPurifier.php
|
|
||||||
|
|
||||||
|
|
||||||
%files vendor-JShrink
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{basedir}/library/vendor/JShrink
|
|
||||||
|
|
||||||
|
|
||||||
%files vendor-lessphp
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{basedir}/library/vendor/lessphp
|
|
||||||
|
|
||||||
|
|
||||||
%files vendor-Parsedown
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{basedir}/library/vendor/Parsedown
|
|
||||||
|
|
||||||
|
|
||||||
%files vendor-zf1
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{basedir}/library/vendor/Zend
|
|
|
@ -22,6 +22,8 @@ Alias {urlPath} "{documentRoot}"
|
||||||
Options SymLinksIfOwnerMatch
|
Options SymLinksIfOwnerMatch
|
||||||
AllowOverride None
|
AllowOverride None
|
||||||
|
|
||||||
|
DirectoryIndex index.php
|
||||||
|
|
||||||
<IfModule mod_authz_core.c>
|
<IfModule mod_authz_core.c>
|
||||||
# Apache 2.4
|
# Apache 2.4
|
||||||
<RequireAll>
|
<RequireAll>
|
||||||
|
@ -51,8 +53,15 @@ Alias {urlPath} "{documentRoot}"
|
||||||
|
|
||||||
<IfModule !mod_rewrite.c>
|
<IfModule !mod_rewrite.c>
|
||||||
DirectoryIndex error_norewrite.html
|
DirectoryIndex error_norewrite.html
|
||||||
ErrorDocument 404 /error_norewrite.html
|
ErrorDocument 404 {urlPath}/error_norewrite.html
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
|
||||||
|
# forwarding PHP requests to FPM
|
||||||
|
# remove comments if you want to use FPM
|
||||||
|
#<FilesMatch "\.php$">
|
||||||
|
# SetHandler "proxy:fcgi://127.0.0.1:9000"
|
||||||
|
# ErrorDocument 503 {urlPath}/error_unavailable.html
|
||||||
|
#</FilesMatch>
|
||||||
</Directory>
|
</Directory>
|
||||||
EOD;
|
EOD;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,8 @@ Alias /icingaweb2 "/usr/share/icingaweb2/public"
|
||||||
Options SymLinksIfOwnerMatch
|
Options SymLinksIfOwnerMatch
|
||||||
AllowOverride None
|
AllowOverride None
|
||||||
|
|
||||||
|
DirectoryIndex index.php
|
||||||
|
|
||||||
<IfModule mod_authz_core.c>
|
<IfModule mod_authz_core.c>
|
||||||
# Apache 2.4
|
# Apache 2.4
|
||||||
<RequireAll>
|
<RequireAll>
|
||||||
|
@ -33,6 +35,13 @@ Alias /icingaweb2 "/usr/share/icingaweb2/public"
|
||||||
|
|
||||||
<IfModule !mod_rewrite.c>
|
<IfModule !mod_rewrite.c>
|
||||||
DirectoryIndex error_norewrite.html
|
DirectoryIndex error_norewrite.html
|
||||||
ErrorDocument 404 /error_norewrite.html
|
ErrorDocument 404 /icingaweb2/error_norewrite.html
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
|
||||||
|
# forwarding PHP requests to FPM
|
||||||
|
# remove comments if you want to use FPM
|
||||||
|
#<FilesMatch "\.php$">
|
||||||
|
# SetHandler "proxy:fcgi://127.0.0.1:9000"
|
||||||
|
# ErrorDocument 503 /icingaweb2/error_unavailable.html
|
||||||
|
#</FilesMatch>
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
Alias /icingaweb2 "/usr/share/icingaweb2/public"
|
||||||
|
|
||||||
|
# forwarding PHP requests to FPM
|
||||||
|
<LocationMatch "^/icingaweb2/(.*\.php)$">
|
||||||
|
ProxyPassMatch "fcgi://127.0.0.1:9000/usr/share/icingaweb2/public/$1"
|
||||||
|
<IfModule mod_authz_core.c>
|
||||||
|
# Apache 2.4
|
||||||
|
ProxyErrorOverride on
|
||||||
|
ErrorDocument 503 /icingaweb2/error_unavailable.html
|
||||||
|
</IfModule>
|
||||||
|
</LocationMatch>
|
||||||
|
|
||||||
|
<Directory "/usr/share/icingaweb2/public">
|
||||||
|
Options SymLinksIfOwnerMatch
|
||||||
|
AllowOverride None
|
||||||
|
|
||||||
|
DirectoryIndex index.php
|
||||||
|
|
||||||
|
<IfModule mod_authz_core.c>
|
||||||
|
# Apache 2.4
|
||||||
|
<RequireAll>
|
||||||
|
Require all granted
|
||||||
|
</RequireAll>
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule !mod_authz_core.c>
|
||||||
|
# Apache 2.2
|
||||||
|
Order allow,deny
|
||||||
|
Allow from all
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
SetEnv ICINGAWEB_CONFIGDIR "/etc/icingaweb2"
|
||||||
|
|
||||||
|
EnableSendfile Off
|
||||||
|
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteEngine on
|
||||||
|
RewriteBase /icingaweb2/
|
||||||
|
RewriteCond %{REQUEST_FILENAME} -s [OR]
|
||||||
|
RewriteCond %{REQUEST_FILENAME} -l [OR]
|
||||||
|
RewriteCond %{REQUEST_FILENAME} -d
|
||||||
|
RewriteRule ^.*$ - [NC,L]
|
||||||
|
RewriteRule ^.*$ index.php [NC,L]
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule !mod_rewrite.c>
|
||||||
|
DirectoryIndex error_norewrite.html
|
||||||
|
ErrorDocument 404 /icingaweb2/error_norewrite.html
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# forwarding PHP requests to FPM
|
||||||
|
<FilesMatch "\.php$">
|
||||||
|
SetHandler "proxy:fcgi://127.0.0.1:9000"
|
||||||
|
ErrorDocument 503 /icingaweb2/error_unavailable.html
|
||||||
|
</FilesMatch>
|
||||||
|
</Directory>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<h1>Backend unavailable</h1>
|
||||||
|
<p>
|
||||||
|
It seems that the PHP FPM service is not running. Make sure to start PHP FPM service in order to access Icinga Web 2.
|
||||||
|
If you upgraded Icinga Web 2 recently, make sure to read the
|
||||||
|
<a href="https://www.icinga.com/docs/icingaweb2/latest/doc/02-Installation/">docs regarding PHP FPM</a>,
|
||||||
|
also locally available under <code>/usr/share/icingaweb2/doc/02-Installation.md</code>.
|
||||||
|
</p>
|
Loading…
Reference in New Issue