mirror of https://github.com/Icinga/icinga2.git
Merge pull request #5491 from fcolista/master
Update "Getting Started" documentation with Alpine Linux
This commit is contained in:
commit
fad56d662a
48
INSTALL.md
48
INSTALL.md
|
@ -27,23 +27,23 @@ parentheses):
|
||||||
|
|
||||||
* cmake >= 2.6
|
* cmake >= 2.6
|
||||||
* GNU make (make)
|
* GNU make (make)
|
||||||
* C++ compiler which supports C++11 (gcc-c++ >= 4.7 on RHEL/SUSE, build-essential on Debian, alternatively clang++)
|
* C++ compiler which supports C++11 (gcc-c++ >= 4.7 on RHEL/SUSE, build-essential on Debian, alternatively clang++, build-base on Alpine)
|
||||||
* RedHat Developer Tools on RHEL5/6 (details on building below)
|
* RedHat Developer Tools on RHEL5/6 (details on building below)
|
||||||
* pkg-config
|
* pkg-config
|
||||||
* OpenSSL library and header files >= 0.9.8 (openssl-devel on RHEL, libopenssl1-devel on SLES11,
|
* OpenSSL library and header files >= 0.9.8 (openssl-devel on RHEL, libopenssl1-devel on SLES11,
|
||||||
libopenssl-devel on SLES12, libssl-dev on Debian)
|
libopenssl-devel on SLES12, libssl-dev on Debian, libressl-dev on Alpine)
|
||||||
* Boost library and header files >= 1.48.0 (boost148-devel on EPEL for RHEL / CentOS, libboost-all-dev on Debian)
|
* Boost library and header files >= 1.48.0 (boost148-devel on EPEL for RHEL / CentOS, libboost-all-dev on Debian, boost-dev on Alpine)
|
||||||
* GNU bison (bison)
|
* GNU bison (bison)
|
||||||
* GNU flex (flex) >= 2.5.35
|
* GNU flex (flex) >= 2.5.35
|
||||||
* recommended: libexecinfo on FreeBSD (automatically used when Icinga 2 is
|
* recommended: libexecinfo on FreeBSD (automatically used when Icinga 2 is
|
||||||
installed via port or package)
|
installed via port or package)
|
||||||
* optional: MySQL (mysql-devel on RHEL, libmysqlclient-devel on SUSE, libmysqlclient-dev on Debian);
|
* optional: MySQL (mysql-devel on RHEL, libmysqlclient-devel on SUSE, libmysqlclient-dev on Debian, mariadb-dev on Alpine);
|
||||||
set CMake variable `ICINGA2_WITH_MYSQL` to `OFF` to disable this module
|
set CMake variable `ICINGA2_WITH_MYSQL` to `OFF` to disable this module
|
||||||
* optional: PostgreSQL (postgresql-devel on RHEL, libpq-dev on Debian); set CMake
|
* optional: PostgreSQL (postgresql-devel on RHEL, libpq-dev on Debian, postgresql-dev on Alpine); set CMake
|
||||||
variable `ICINGA2_WITH_PGSQL` to `OFF` to disable this module
|
variable `ICINGA2_WITH_PGSQL` to `OFF` to disable this module
|
||||||
* optional: YAJL (yajl-devel on RHEL, libyajl-dev on Debian)
|
* optional: YAJL (yajl-devel on RHEL, libyajl-dev on Debian, yajl-dev on Alpine)
|
||||||
* optional: libedit (libedit-devel on CentOS (RHEL requires rhel-7-server-optional-rpms
|
* optional: libedit (libedit-devel on CentOS (RHEL requires rhel-7-server-optional-rpms
|
||||||
repository for el7 e.g.), libedit-dev on Debian)
|
repository for el7 e.g.), libedit-dev on Debian and Alpine)
|
||||||
* optional: Termcap (libtermcap-devel on RHEL, not necessary on Debian) - only
|
* optional: Termcap (libtermcap-devel on RHEL, not necessary on Debian) - only
|
||||||
required if libedit doesn't already link against termcap/ncurses
|
required if libedit doesn't already link against termcap/ncurses
|
||||||
* optional: libwxgtk2.8-dev or newer (wxGTK-devel and wxBase) - only required when building the Icinga 2 Studio
|
* optional: libwxgtk2.8-dev or newer (wxGTK-devel and wxBase) - only required when building the Icinga 2 Studio
|
||||||
|
@ -65,6 +65,13 @@ using the `ICINGA2_USER`, `ICINGA2_GROUP` and `ICINGA2_COMMAND_GROUP` variables.
|
||||||
# groupadd icingacmd
|
# groupadd icingacmd
|
||||||
# useradd -c "icinga" -s /sbin/nologin -G icingacmd -g icinga icinga
|
# useradd -c "icinga" -s /sbin/nologin -G icingacmd -g icinga icinga
|
||||||
|
|
||||||
|
On Alpine (which uses ash busybox) you can run:
|
||||||
|
|
||||||
|
# addgroup -S icinga
|
||||||
|
# addgroup -S icingacmd
|
||||||
|
# adduser -S -D -H -h /var/spool/icinga2 -s /sbin/nologin -G icinga -g icinga icinga
|
||||||
|
# adduser icinga icingacmd
|
||||||
|
|
||||||
Add the web server user to the icingacmd group in order to grant it write
|
Add the web server user to the icingacmd group in order to grant it write
|
||||||
permissions to the external command pipe and livestatus socket:
|
permissions to the external command pipe and livestatus socket:
|
||||||
|
|
||||||
|
@ -234,6 +241,18 @@ into your source tree and run the following command:
|
||||||
|
|
||||||
$ dpkg-buildpackage -uc -us
|
$ dpkg-buildpackage -uc -us
|
||||||
|
|
||||||
|
|
||||||
|
## Build Alpine Linux packages
|
||||||
|
|
||||||
|
A simple way to setup a build environment is installing Alpine in a chroot.
|
||||||
|
In this way, you can set up an Alpine build environment in a chroot under a
|
||||||
|
different Linux distro.
|
||||||
|
There is a script that simplifies these steps with just two commands, and
|
||||||
|
can be found [here](https://github.com/alpinelinux/alpine-chroot-install).
|
||||||
|
|
||||||
|
Once the build environment is installed, you can setup the system to build
|
||||||
|
the packages by following [this document](https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package).
|
||||||
|
|
||||||
## Build Post Install Tasks
|
## Build Post Install Tasks
|
||||||
|
|
||||||
After building Icinga 2 yourself, your package build system should at least run the following post
|
After building Icinga 2 yourself, your package build system should at least run the following post
|
||||||
|
@ -258,10 +277,23 @@ Icinga 2 can be started as a daemon using the provided init script:
|
||||||
# /etc/init.d/icinga2
|
# /etc/init.d/icinga2
|
||||||
Usage: /etc/init.d/icinga2 {start|stop|restart|reload|checkconfig|status}
|
Usage: /etc/init.d/icinga2 {start|stop|restart|reload|checkconfig|status}
|
||||||
|
|
||||||
Or if your distribution uses systemd:
|
If your distribution uses systemd:
|
||||||
|
|
||||||
# systemctl {start|stop|reload|status|enable|disable} icinga2
|
# systemctl {start|stop|reload|status|enable|disable} icinga2
|
||||||
|
|
||||||
|
Or if your distribution uses openrc (like Alpine):
|
||||||
|
|
||||||
|
# rc-service icinga2
|
||||||
|
Usage: /etc/init.d/icinga2 {start|stop|restart|reload|checkconfig|status}
|
||||||
|
|
||||||
|
Note: the openrc's init.d is not shipped by default.
|
||||||
|
A working init.d with openrc can be found here: (https://git.alpinelinux.org/cgit/aports/plain/community/icinga2/icinga2.initd). If you have customized some path, edit the file and adjust it according with your setup.
|
||||||
|
Those few steps can be followed:
|
||||||
|
|
||||||
|
# wget https://git.alpinelinux.org/cgit/aports/plain/community/icinga2/icinga2.initd
|
||||||
|
# mv icinga2.initd /etc/init.d/icinga2
|
||||||
|
# chmod +x /etc/init.d/icinga2
|
||||||
|
|
||||||
Icinga 2 reads a single configuration file which is used to specify all
|
Icinga 2 reads a single configuration file which is used to specify all
|
||||||
configuration settings (global settings, hosts, services, etc.). The
|
configuration settings (global settings, hosts, services, etc.). The
|
||||||
configuration format is explained in detail in the [doc/](doc/) directory.
|
configuration format is explained in detail in the [doc/](doc/) directory.
|
||||||
|
|
|
@ -21,7 +21,7 @@ and distribution you are running.
|
||||||
FreeBSD | [Upstream](https://www.freshports.org/net-mgmt/icinga2)
|
FreeBSD | [Upstream](https://www.freshports.org/net-mgmt/icinga2)
|
||||||
OpenBSD | [Upstream](http://ports.su/net/icinga/core2,-main)
|
OpenBSD | [Upstream](http://ports.su/net/icinga/core2,-main)
|
||||||
ArchLinux | [Upstream](https://aur.archlinux.org/packages/icinga2)
|
ArchLinux | [Upstream](https://aur.archlinux.org/packages/icinga2)
|
||||||
AlpineLinux | [Upstream](https://pkgs.alpinelinux.org/package/edge/community/x86_64/icinga2)
|
Alpine Linux | [Upstream](https://pkgs.alpinelinux.org/package/edge/community/x86_64/icinga2)
|
||||||
|
|
||||||
Packages for distributions other than the ones listed above may also be
|
Packages for distributions other than the ones listed above may also be
|
||||||
available. Please contact your distribution packagers.
|
available. Please contact your distribution packagers.
|
||||||
|
@ -75,6 +75,11 @@ openSUSE:
|
||||||
# zypper ref
|
# zypper ref
|
||||||
|
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
# echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
|
||||||
|
# apk update
|
||||||
|
|
||||||
#### RHEL/CentOS EPEL Repository <a id="package-repositories-rhel-epel"></a>
|
#### RHEL/CentOS EPEL Repository <a id="package-repositories-rhel-epel"></a>
|
||||||
|
|
||||||
The packages for RHEL/CentOS depend on other packages which are distributed
|
The packages for RHEL/CentOS depend on other packages which are distributed
|
||||||
|
@ -97,6 +102,13 @@ as part of the [SLES 11 Security Module](https://www.suse.com/communities/conver
|
||||||
Icinga 2 requires the `libboost_chrono1_54_0` package from the `SLES 12 SDK` repository. Refer to the SUSE Enterprise
|
Icinga 2 requires the `libboost_chrono1_54_0` package from the `SLES 12 SDK` repository. Refer to the SUSE Enterprise
|
||||||
Linux documentation for further information.
|
Linux documentation for further information.
|
||||||
|
|
||||||
|
#### Alpine Linux Notes <a id="package-repositories-alpine-notes"></a>
|
||||||
|
|
||||||
|
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 please "pin" the edge repository on the latest Icinga 2 package version.
|
||||||
|
In order to correctly manage your repository, please follow
|
||||||
|
[these instructions](https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management)
|
||||||
|
|
||||||
### Installing Icinga 2 <a id="installing-icinga2"></a>
|
### Installing Icinga 2 <a id="installing-icinga2"></a>
|
||||||
|
|
||||||
You can install Icinga 2 by using your distribution's package manager
|
You can install Icinga 2 by using your distribution's package manager
|
||||||
|
@ -126,6 +138,11 @@ FreeBSD:
|
||||||
|
|
||||||
# pkg install icinga2
|
# pkg install icinga2
|
||||||
|
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
# apk add icinga2
|
||||||
|
|
||||||
### Enabled Features during Installation <a id="installation-enabled-features"></a>
|
### Enabled Features during Installation <a id="installation-enabled-features"></a>
|
||||||
|
|
||||||
The default installation will enable three features required for a basic
|
The default installation will enable three features required for a basic
|
||||||
|
@ -152,7 +169,7 @@ By default Icinga 2 uses the following files and directories:
|
||||||
----------------------------------------------|------------------------------------
|
----------------------------------------------|------------------------------------
|
||||||
/etc/icinga2 | Contains Icinga 2 configuration files.
|
/etc/icinga2 | Contains Icinga 2 configuration files.
|
||||||
/usr/lib/systemd/system/icinga2.service | The Icinga 2 Systemd service file on systems using Systemd.
|
/usr/lib/systemd/system/icinga2.service | The Icinga 2 Systemd service file on systems using Systemd.
|
||||||
/etc/init.d/icinga2 | The Icinga 2 init script on systems using SysVinit.
|
/etc/init.d/icinga2 | The Icinga 2 init script on systems using SysVinit or OpenRC
|
||||||
/usr/sbin/icinga2 | Shell wrapper for the Icinga 2 binary.
|
/usr/sbin/icinga2 | Shell wrapper for the Icinga 2 binary.
|
||||||
/usr/lib\*/icinga2 | Libraries and the Icinga 2 binary (use `find /usr -type f -name icinga2` to locate the binary path).
|
/usr/lib\*/icinga2 | Libraries and the Icinga 2 binary (use `find /usr -type f -name icinga2` to locate the binary path).
|
||||||
/usr/share/doc/icinga2 | Documentation files that come with Icinga 2.
|
/usr/share/doc/icinga2 | Documentation files that come with Icinga 2.
|
||||||
|
@ -202,6 +219,7 @@ RHEL/CentOS | nagios-plugins-all | [EPEL](https://fedoraproject.org/w
|
||||||
SLES/OpenSUSE | monitoring-plugins | [server:monitoring](https://build.opensuse.org/project/repositories/server:monitoring) | /usr/lib/nagios/plugins
|
SLES/OpenSUSE | monitoring-plugins | [server:monitoring](https://build.opensuse.org/project/repositories/server:monitoring) | /usr/lib/nagios/plugins
|
||||||
Debian/Ubuntu | monitoring-plugins | - | /usr/lib/nagios/plugins
|
Debian/Ubuntu | monitoring-plugins | - | /usr/lib/nagios/plugins
|
||||||
FreeBSD | monitoring-plugins | - | /usr/local/libexec/nagios
|
FreeBSD | monitoring-plugins | - | /usr/local/libexec/nagios
|
||||||
|
Alpine Linux | monitoring-plugins | - | /usr/lib/monitoring-plugins
|
||||||
OS X | nagios-plugins | [MacPorts](https://www.macports.org), [Homebrew](https://brew.sh) | /opt/local/libexec or /usr/local/sbin
|
OS X | nagios-plugins | [MacPorts](https://www.macports.org), [Homebrew](https://brew.sh) | /opt/local/libexec or /usr/local/sbin
|
||||||
|
|
||||||
The recommended way of installing these standard plugins is to use your
|
The recommended way of installing these standard plugins is to use your
|
||||||
|
@ -236,6 +254,13 @@ FreeBSD:
|
||||||
|
|
||||||
# pkg install monitoring-plugins
|
# pkg install monitoring-plugins
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
# apk add monitoring-plugins
|
||||||
|
|
||||||
|
Note: For Alpine you don't need to explicitly add the `monitoring-plugins` package since it is a dependency of
|
||||||
|
`icinga2` and is pulled automatically.
|
||||||
|
|
||||||
Depending on which directory your plugins are installed into you may need to
|
Depending on which directory your plugins are installed into you may need to
|
||||||
update the global `PluginDir` constant in your [Icinga 2 configuration](04-configuring-icinga-2.md#constants-conf).
|
update the global `PluginDir` constant in your [Icinga 2 configuration](04-configuring-icinga-2.md#constants-conf).
|
||||||
This constant is used by the check command definitions contained in the Icinga Template Library
|
This constant is used by the check command definitions contained in the Icinga Template Library
|
||||||
|
@ -352,6 +377,10 @@ SLES/openSUSE:
|
||||||
|
|
||||||
# zypper install vim-icinga2
|
# zypper install vim-icinga2
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
# apk add icinga2-vim
|
||||||
|
|
||||||
Ensure that syntax highlighting is enabled e.g. by editing the user's `vimrc`
|
Ensure that syntax highlighting is enabled e.g. by editing the user's `vimrc`
|
||||||
configuration file:
|
configuration file:
|
||||||
|
|
||||||
|
@ -451,6 +480,13 @@ FreeBSD:
|
||||||
# service mysql-server restart
|
# service mysql-server restart
|
||||||
# mysql_secure_installation
|
# mysql_secure_installation
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
# apk add mariadb
|
||||||
|
# rc-service mariadb setup
|
||||||
|
# rc-update add mariadb default
|
||||||
|
# rc-service mariadb start
|
||||||
|
|
||||||
#### Installing the IDO modules for MySQL <a id="installing-database-mysql-modules"></a>
|
#### Installing the IDO modules for MySQL <a id="installing-database-mysql-modules"></a>
|
||||||
|
|
||||||
The next step is to install the `icinga2-ido-mysql` package using your
|
The next step is to install the `icinga2-ido-mysql` package using your
|
||||||
|
@ -473,6 +509,11 @@ FreeBSD:
|
||||||
On FreeBSD the IDO modules for MySQL are included with the icinga2 package
|
On FreeBSD the IDO modules for MySQL are included with the icinga2 package
|
||||||
and located at /usr/local/share/icinga2-ido-mysql/schema/mysql.sql
|
and located at /usr/local/share/icinga2-ido-mysql/schema/mysql.sql
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
On Alpine Linux the IDO modules for MySQL are included with the `icinga2` package
|
||||||
|
and located at /usr/share/icinga2-ido-mysql/schema/mysql.sql
|
||||||
|
|
||||||
> **Note**
|
> **Note**
|
||||||
>
|
>
|
||||||
> The Debian/Ubuntu packages provide a database configuration wizard by
|
> The Debian/Ubuntu packages provide a database configuration wizard by
|
||||||
|
@ -528,6 +569,9 @@ FreeBSD:
|
||||||
|
|
||||||
# service icinga2 restart
|
# service icinga2 restart
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
# rc-service icinga2 restart
|
||||||
|
|
||||||
Continue with the [webserver setup](02-getting-started.md#icinga2-user-interface-webserver).
|
Continue with the [webserver setup](02-getting-started.md#icinga2-user-interface-webserver).
|
||||||
|
|
||||||
|
@ -564,6 +608,13 @@ FreeBSD:
|
||||||
# sysrc postgresql_enable=yes
|
# sysrc postgresql_enable=yes
|
||||||
# service postgresql start
|
# service postgresql start
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
# apk add postgresql
|
||||||
|
# rc-update add postgresql default
|
||||||
|
# rc-service postgresql setup
|
||||||
|
# rc-service postgresql start
|
||||||
|
|
||||||
#### Installing the IDO modules for PostgreSQL <a id="installing-database-postgresql-modules"></a>
|
#### Installing the IDO modules for PostgreSQL <a id="installing-database-postgresql-modules"></a>
|
||||||
|
|
||||||
The next step is to install the `icinga2-ido-pgsql` package using your
|
The next step is to install the `icinga2-ido-pgsql` package using your
|
||||||
|
@ -586,6 +637,11 @@ FreeBSD:
|
||||||
On FreeBSD the IDO modules for PostgreSQL are included with the icinga2 package
|
On FreeBSD the IDO modules for PostgreSQL are included with the icinga2 package
|
||||||
and located at /usr/local/share/icinga2-ido-pgsql/schema/pgsql.sql
|
and located at /usr/local/share/icinga2-ido-pgsql/schema/pgsql.sql
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
On Alpine Linux the IDO modules for PostgreSQL are included with the `icinga2` package
|
||||||
|
and located at /usr/share/icinga2-ido-pgsql/schema/pgsql.sql
|
||||||
|
|
||||||
> **Note**
|
> **Note**
|
||||||
>
|
>
|
||||||
> Upstream Debian packages provide a database configuration wizard by default.
|
> Upstream Debian packages provide a database configuration wizard by default.
|
||||||
|
@ -666,6 +722,10 @@ FreeBSD:
|
||||||
|
|
||||||
# service icinga2 restart
|
# service icinga2 restart
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
# rc-service icinga2 restart
|
||||||
|
|
||||||
Continue with the [webserver setup](02-getting-started.md#icinga2-user-interface-webserver).
|
Continue with the [webserver setup](02-getting-started.md#icinga2-user-interface-webserver).
|
||||||
|
|
||||||
### Webserver <a id="icinga2-user-interface-webserver"></a>
|
### Webserver <a id="icinga2-user-interface-webserver"></a>
|
||||||
|
@ -704,6 +764,13 @@ FreeBSD (nginx, but you could also use the apache24 package):
|
||||||
# service php-fpm start
|
# service php-fpm start
|
||||||
# service nginx start
|
# service nginx start
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
# apk add apache2 php7-apache2
|
||||||
|
# sed -i -e "s/^#LoadModule rewrite_module/LoadModule rewrite_module/" /etc/apache2/httpd.conf
|
||||||
|
# rc-update add apache2 default
|
||||||
|
# rc-service apache2 start
|
||||||
|
|
||||||
### Firewall Rules <a id="icinga2-user-interface-firewall-rules"></a>
|
### Firewall Rules <a id="icinga2-user-interface-firewall-rules"></a>
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
@ -756,6 +823,10 @@ FreeBSD:
|
||||||
|
|
||||||
# service icinga2 restart
|
# service icinga2 restart
|
||||||
|
|
||||||
|
Alpine Linux:
|
||||||
|
|
||||||
|
# rc-service icinga2 restart
|
||||||
|
|
||||||
### Installing Icinga Web 2 <a id="installing-icingaweb2"></a>
|
### Installing Icinga Web 2 <a id="installing-icingaweb2"></a>
|
||||||
|
|
||||||
Please consult the [installation documentation](https://github.com/Icinga/icingaweb2/blob/master/doc/02-Installation.md)
|
Please consult the [installation documentation](https://github.com/Icinga/icingaweb2/blob/master/doc/02-Installation.md)
|
||||||
|
|
Loading…
Reference in New Issue