diff --git a/doc/02-installation.md b/doc/02-installation.md index 4b5956bc596..8c78e6c5522 100644 --- a/doc/02-installation.md +++ b/doc/02-installation.md @@ -72,21 +72,6 @@ apt update ``` - -### CentOS Repository - -```bash -wget https://packages.icinga.com/centos/ICINGA-release.repo -O /etc/yum.repos.d/ICINGA-release.repo -``` - -The packages for CentOS depend on other packages which are distributed -as part of the [EPEL repository](https://fedoraproject.org/wiki/EPEL): - -```bash -yum install epel-release -``` - - ### RHEL Repository @@ -212,7 +197,7 @@ You can install Icinga 2 by using your distribution's package manager to install the `icinga2` package. The following commands must be executed with `root` permissions unless noted otherwise. - + !!! tip If you have [SELinux](22-selinux.md) enabled, the package `icinga2-selinux` is also required. @@ -227,21 +212,6 @@ apt install icinga2 ``` - - -#### CentOS - -!!! info - - Note that installing Icinga 2 is only supported on CentOS 7 as CentOS 8 is EOL. - -```bash -yum install icinga2 -systemctl enable icinga2 -systemctl start icinga2 -``` - - #### RHEL 8 or Later @@ -339,17 +309,6 @@ apt install monitoring-plugins ``` - - -#### CentOS - -The packages for CentOS depend on other packages which are distributed as part of the EPEL repository. - -```bash -yum install nagios-plugins-all -``` - - #### RHEL @@ -437,7 +396,7 @@ Restart Icinga 2 for these changes to take effect. systemctl restart icinga2 ``` - + ## Set up Icinga DB Icinga DB is a set of components for publishing, synchronizing and @@ -489,20 +448,6 @@ yum install icingadb-redis ``` - - -##### CentOS - - -!!! info - - Note that installing Icinga DB Redis is only supported on CentOS 7 as CentOS 8 is EOL. - -```bash -yum install icingadb-redis -``` - - ##### Debian / Ubuntu / Raspberry Pi OS @@ -616,9 +561,6 @@ you have completed the instructions here and can proceed to [install the Icinga DB daemon on Amazon Linux](https://icinga.com/docs/icinga-db/latest/doc/02-Installation/01-Amazon-Linux/#installing-icinga-db-package), - -[install the Icinga DB daemon on CentOS](https://icinga.com/docs/icinga-db/latest/doc/02-Installation/02-CentOS/#installing-icinga-db-package), - [install the Icinga DB daemon on Debian](https://icinga.com/docs/icinga-db/latest/doc/02-Installation/03-Debian/#installing-icinga-db-package), diff --git a/doc/02-installation.md.d/05-CentOS.md b/doc/02-installation.md.d/05-CentOS.md deleted file mode 100644 index 4d766b21c5e..00000000000 --- a/doc/02-installation.md.d/05-CentOS.md +++ /dev/null @@ -1,3 +0,0 @@ -# Install Icinga 2 on CentOS - - diff --git a/doc/03-monitoring-basics.md b/doc/03-monitoring-basics.md index e534b0d0132..f36b8ec59fd 100644 --- a/doc/03-monitoring-basics.md +++ b/doc/03-monitoring-basics.md @@ -2729,7 +2729,7 @@ Requirements: * Icinga 2 as client on the remote node * icinga user with sudo permissions to the httpd daemon -Example on CentOS 7: +Example on RHEL: ``` # visudo diff --git a/doc/05-service-monitoring.md b/doc/05-service-monitoring.md index 097fb118476..e798b303e06 100644 --- a/doc/05-service-monitoring.md +++ b/doc/05-service-monitoring.md @@ -51,7 +51,7 @@ described. Try running the plugin after setup and [ensure it works](05-service-m Prior to using the check plugin with Icinga 2 you should ensure that it is working properly by trying to run it on the console using whichever user Icinga 2 is running as: -RHEL/CentOS/Fedora +RHEL/Fedora ```bash sudo -u icinga /usr/lib64/nagios/plugins/check_mysql_health --help @@ -111,7 +111,7 @@ Can't locate Net/SNMP.pm in @INC (you may need to install the Net::SNMP module) Prior to installing the Perl module via CPAN, look for a distribution specific package, e.g. `libnet-snmp-perl` on Debian/Ubuntu or `perl-Net-SNMP` -on RHEL/CentOS. +on RHEL. #### Optional: Custom Path diff --git a/doc/06-distributed-monitoring.md b/doc/06-distributed-monitoring.md index c729757130e..1f24cb96fab 100644 --- a/doc/06-distributed-monitoring.md +++ b/doc/06-distributed-monitoring.md @@ -264,7 +264,7 @@ The setup wizard will ensure that the following steps are taken: * Update the [ApiListener](06-distributed-monitoring.md#distributed-monitoring-apilistener) and [constants](04-configuration.md#constants-conf) configuration. * Update the [icinga2.conf](04-configuration.md#icinga2-conf) to disable the `conf.d` inclusion, and add the `api-users.conf` file inclusion. -Here is an example of a master setup for the `icinga2-master1.localdomain` node on CentOS 7: +Here is an example of a master setup for the `icinga2-master1.localdomain` node: ``` [root@icinga2-master1.localdomain /]# icinga2 node wizard @@ -1031,9 +1031,7 @@ in `/etc/icinga2/icinga2.conf`. > Defaults to disabled. Now it is time to validate the configuration and to restart the Icinga 2 daemon -on both nodes. - -Example on CentOS 7: +on both nodes: ``` [root@icinga2-agent1.localdomain /]# icinga2 daemon -C @@ -1112,7 +1110,8 @@ Save the changes and validate the configuration on the master node: ``` [root@icinga2-master1.localdomain /]# icinga2 daemon -C ``` -Restart the Icinga 2 daemon (example for CentOS 7): + +Restart the Icinga 2 daemon: ``` [root@icinga2-master1.localdomain /]# systemctl restart icinga2 @@ -1221,9 +1220,7 @@ object ApiListener "api" { ``` Now it is time to validate the configuration and to restart the Icinga 2 daemon -on both nodes. - -Example on CentOS 7: +on both nodes: ``` [root@icinga2-satellite1.localdomain /]# icinga2 daemon -C @@ -1285,7 +1282,7 @@ Save the changes and validate the configuration on the master node: [root@icinga2-master1.localdomain /]# icinga2 daemon -C ``` -Restart the Icinga 2 daemon (example for CentOS 7): +Restart the Icinga 2 daemon: ``` [root@icinga2-master1.localdomain /]# systemctl restart icinga2 diff --git a/doc/11-cli-commands.md b/doc/11-cli-commands.md index 457656cb08d..47d14554b03 100644 --- a/doc/11-cli-commands.md +++ b/doc/11-cli-commands.md @@ -73,7 +73,7 @@ RPM and Debian packages install the bash completion files into You need to install the `bash-completion` package if not already installed. -RHEL/CentOS/Fedora: +RHEL/Fedora: ```bash yum install bash-completion diff --git a/doc/14-features.md b/doc/14-features.md index 19cb54b0142..84904313a9d 100644 --- a/doc/14-features.md +++ b/doc/14-features.md @@ -815,16 +815,6 @@ apt-get install icinga2-ido-mysql default. You can skip the automated setup and install/upgrade the database manually if you prefer. -###### CentOS 7 - -!!! info - - Note that installing `icinga2-ido-mysql` is only supported on CentOS 7 as CentOS 8 is EOL. - -```bash -yum install icinga2-ido-mysql -``` - ###### RHEL 8 ```bash @@ -914,16 +904,6 @@ apt-get install icinga2-ido-pgsql You can skip the automated setup and install/upgrade the database manually if you prefer that. -###### CentOS 7 - -!!! info - - Note that installing `icinga2-ido-pgsql` is only supported on CentOS 7 as CentOS 8 is EOL. - -```bash -yum install icinga2-ido-pgsql -``` - ###### RHEL 8 ```bash diff --git a/doc/21-development.md b/doc/21-development.md index cf7a54dd781..60f28527abf 100644 --- a/doc/21-development.md +++ b/doc/21-development.md @@ -48,7 +48,7 @@ or `icinga2-ido-mysql`. Distribution | Command -------------------|------------------------------------------ Debian/Ubuntu | `apt-get install icinga2-dbg` -RHEL/CentOS | `yum install icinga2-debuginfo` +RHEL | `yum install icinga2-debuginfo` Fedora | `dnf install icinga2-debuginfo icinga2-bin-debuginfo icinga2-ido-mysql-debuginfo` SLES/openSUSE | `zypper install icinga2-bin-debuginfo icinga2-ido-mysql-debuginfo` @@ -65,7 +65,7 @@ Install GDB in your development environment. Distribution | Command -------------------|------------------------------------------ Debian/Ubuntu | `apt-get install gdb` -RHEL/CentOS | `yum install gdb` +RHEL | `yum install gdb` Fedora | `dnf install gdb` SLES/openSUSE | `zypper install gdb` @@ -537,7 +537,7 @@ packages. If you encounter a problem, please [open a new issue](https://github.com/Icinga/icinga2/issues/new/choose) on GitHub and mention that you're testing the snapshot packages. -#### RHEL/CentOS +#### RHEL 2.11+ requires the EPEL repository for Boost 1.66+. @@ -1332,9 +1332,6 @@ autocmd BufWinLeave * call clearmatches() ### Linux Dev Environment -Based on CentOS 7, we have an early draft available inside the Icinga Vagrant boxes: -[centos7-dev](https://github.com/Icinga/icinga-vagrant/tree/master/centos7-dev). - If you're compiling Icinga 2 natively without any virtualization layer in between, this usually is faster. This is also the reason why developers on macOS prefer native builds over Linux or Windows VMs. Don't forget to test the actual code on Linux later! Socket specific @@ -1357,21 +1354,20 @@ mkdir -p release debug Proceed with the specific distribution examples below. Keep in mind that these instructions are best effort and sometimes out-of-date. Git Master may contain updates. -* [CentOS 7](21-development.md#development-linux-dev-env-centos) +* [Fedora 40](21-development.md#development-linux-dev-env-fedora) * [Debian 10 Buster](21-development.md#development-linux-dev-env-debian) * [Ubuntu 18 Bionic](21-development.md#development-linux-dev-env-ubuntu) - -#### CentOS 7 +#### Fedora 40 ```bash -yum -y install gdb vim git bash-completion htop centos-release-scl +yum -y install gdb vim git bash-completion htop yum -y install rpmdevtools ccache \ - cmake make devtoolset-11-gcc-c++ flex bison \ - openssl-devel boost169-devel systemd-devel \ + cmake make gcc-c++ flex bison \ + openssl-devel boost-devel systemd-devel \ mysql-devel postgresql-devel libedit-devel \ - devtoolset-11-libstdc++-devel + libstdc++-devel groupadd icinga groupadd icingacmd @@ -1389,35 +1385,30 @@ slower but allows for better debugging insights. For benchmarks, change `CMAKE_BUILD_TYPE` to `RelWithDebInfo` and build inside the `release` directory. -First, off export some generics for Boost. - -```bash -export I2_BOOST="-DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_LIBRARYDIR=/usr/lib64/boost169 -DBOOST_INCLUDEDIR=/usr/include/boost169 -DBoost_ADDITIONAL_VERSIONS='1.69;1.69.0'" -``` - -Second, add the prefix path to it. +First, override the default prefix path. ```bash -export I2_GENERIC="$I2_BOOST -DCMAKE_INSTALL_PREFIX=/usr/local/icinga2" +export I2_GENERIC="-DCMAKE_INSTALL_PREFIX=/usr/local/icinga2" ``` -Third, define the two build types with their specific CMake variables. +Second, define the two build types with their specific CMake variables. ```bash export I2_DEBUG="-DCMAKE_BUILD_TYPE=Debug -DICINGA2_UNITY_BUILD=OFF $I2_GENERIC" export I2_RELEASE="-DCMAKE_BUILD_TYPE=RelWithDebInfo -DICINGA2_WITH_TESTS=ON -DICINGA2_UNITY_BUILD=ON $I2_GENERIC" ``` -Fourth, depending on your likings, you may add a bash alias for building, +Third, depending on your likings, you may use a bash alias for building, or invoke the commands inside: ```bash -alias i2_debug="cd /root/icinga2; mkdir -p debug; cd debug; scl enable devtoolset-11 -- cmake $I2_DEBUG ..; make -j2; sudo make -j2 install; cd .." -alias i2_release="cd /root/icinga2; mkdir -p release; cd release; scl enable devtoolset-11 -- cmake $I2_RELEASE ..; make -j2; sudo make -j2 install; cd .." +alias i2_debug="cd /root/icinga2; mkdir -p debug; cd debug; cmake $I2_DEBUG ..; make -j2; sudo make -j2 install; cd .." +alias i2_release="cd /root/icinga2; mkdir -p release; cd release; cmake $I2_RELEASE ..; make -j2; sudo make -j2 install; cd .." ``` -This is taken from the [centos7-dev](https://github.com/Icinga/icinga-vagrant/tree/master/centos7-dev) Vagrant box. - +```bash +i2_debug +``` The source installation doesn't set proper permissions, this is handled in the package builds which are officially supported. @@ -1429,7 +1420,7 @@ chown -R icinga:icinga /usr/local/icinga2/var/ /usr/local/icinga2/sbin/icinga2 api setup vim /usr/local/icinga2/etc/icinga2/conf.d/api-users.conf -/usr/local/icinga2/lib/icinga2/sbin/icinga2 daemon +/usr/local/icinga2/lib64/icinga2/sbin/icinga2 daemon ``` #### Debian 10 @@ -2203,7 +2194,7 @@ Icinga application using a dist tarball (including notes for distributions): * Debian/Ubuntu: libpq-dev * postgresql-dev on Alpine * libedit (CLI console) - * RHEL/Fedora: libedit-devel on CentOS (RHEL requires rhel-7-server-optional-rpms) + * RHEL/Fedora: libedit-devel (RHEL requires rhel-7-server-optional-rpms) * Debian/Ubuntu/Alpine: libedit-dev * Termcap (only required if libedit doesn't already link against termcap/ncurses) * RHEL/Fedora: libtermcap-devel @@ -2351,7 +2342,7 @@ can be used to disable the usage of `git describe`. ### Building RPMs -#### Build Environment on RHEL, CentOS, Fedora, Amazon Linux +#### Build Environment on RHEL, Fedora, Amazon Linux Setup your build environment: @@ -2407,7 +2398,7 @@ spectool -g ../SPECS/icinga2.spec cd $HOME/rpmbuild ``` -Install the build dependencies. Example for CentOS 7: +Install the build dependencies: ```bash yum -y install libedit-devel ncurses-devel gcc-c++ libstdc++-devel openssl-devel \ @@ -2436,21 +2427,9 @@ rpmbuild -ba SPECS/icinga2.spec The following packages are required to build the SELinux policy module: * checkpolicy -* selinux-policy (selinux-policy on CentOS 6, selinux-policy-devel on CentOS 7) +* selinux-policy-devel * selinux-policy-doc -##### RHEL/CentOS 7 - -The RedHat Developer Toolset is required for building Icinga 2 beforehand. -This contains a C++ compiler which supports C++17 features. - -```bash -yum install centos-release-scl -``` - -Dependencies to devtools-11 are used in the RPM SPEC, so the correct tools -should be used for building. - ##### Amazon Linux If you prefer to build packages offline, a suitable Vagrant box is located diff --git a/tools/selinux/icinga2.te b/tools/selinux/icinga2.te index 1b9f0513f09..0f50908dac3 100644 --- a/tools/selinux/icinga2.te +++ b/tools/selinux/icinga2.te @@ -205,7 +205,7 @@ corenet_tcp_connect_lmtp_port(icinga2_t) # Allow icinga2 to connect to redis using unix domain sockets stream_connect_pattern(icinga2_t, redis_var_run_t, redis_var_run_t, redis_t) -# Just like `redis_tcp_connect(icinga2_t)`, though this interface does not exist on centos7 +# Just like `redis_tcp_connect(icinga2_t)`, though this interface does not exist on Amazon Linux 2 corenet_tcp_recvfrom_labeled(icinga2_t, redis_t) corenet_tcp_sendrecv_redis_port(icinga2_t) corenet_tcp_connect_redis_port(icinga2_t)