ViaThinkSoft CodeLib
This article is in:
CodeLib → How-Tos → Linux and Linux software
Systemumgebung
- Debian Stretch
- PHP 7
- Apache2 mit suEXEC
Die nachfolgenden Benutzernamen und Verzeichnisse sind Beispielhaft und können selbstverständlich geändert werden. In diesem Beispiel:
- Benutzername: example
- Gruppe: example
- Domain: icinga.example.com
- Heim-Verzeichnis /home/example
- IP-Adresse 123.123.123.123
Um das Beispiel einfach zu halten, wurde SSL nicht eingerichtet. Auch wurde auf die korrekte Symlink-Verknüpfung der Apache-Konfiguration (über sites-available) verzichtet.
Vorbedingungen (einmalig auszuführen)
aptitude update
aptitude install icinga2 icingaweb2
mkdir /home/example/usr_share_icingaweb2
mount --bind /usr/share/icingaweb2/ /home/example/usr_share_icingaweb2
In /etc/crontab hinzufügen:
adduser example icingaweb2 (damit der Setup-Token gelesen werden kann)
chmod g+w /etc/icingaweb2/enabledModules (nur für das Setup-Modul)
Im Icinga Setup: Der Pipe-Befehlstransport funktioniert nicht, daher muss er über die API erfolgen (Zugangsdaten können eingestellt werden in /etc/icinga2/conf.d/api-users.conf )
Inhalt der Datei /etc/apache2/sites-enabled/icinga2.conf
Inhalt der Datei /home/example/public_html/cgi-bin/php-fcgi
- Debian Stretch
- PHP 7
- Apache2 mit suEXEC
Die nachfolgenden Benutzernamen und Verzeichnisse sind Beispielhaft und können selbstverständlich geändert werden. In diesem Beispiel:
- Benutzername: example
- Gruppe: example
- Domain: icinga.example.com
- Heim-Verzeichnis /home/example
- IP-Adresse 123.123.123.123
Um das Beispiel einfach zu halten, wurde SSL nicht eingerichtet. Auch wurde auf die korrekte Symlink-Verknüpfung der Apache-Konfiguration (über sites-available) verzichtet.
Vorbedingungen (einmalig auszuführen)
aptitude update
aptitude install icinga2 icingaweb2
mkdir /home/example/usr_share_icingaweb2
mount --bind /usr/share/icingaweb2/ /home/example/usr_share_icingaweb2
In /etc/crontab hinzufügen:
@reboot root mount --bind /usr/share/icingaweb2/ /home/example/usr_share_icingaweb2
adduser example icingaweb2 (damit der Setup-Token gelesen werden kann)
chmod g+w /etc/icingaweb2/enabledModules (nur für das Setup-Modul)
Im Icinga Setup: Der Pipe-Befehlstransport funktioniert nicht, daher muss er über die API erfolgen (Zugangsdaten können eingestellt werden in /etc/icinga2/conf.d/api-users.conf )
Inhalt der Datei /etc/apache2/sites-enabled/icinga2.conf
<VirtualHost 123.123.123.123:80>
DocumentRoot /home/example/usr_share_icingaweb2/public
SuexecUserGroup example example
ServerName icinga.example.com
</VirtualHost>
<Directory /home/example/usr_share_icingaweb2/public>
Options SymLinksIfOwnerMatch
AllowOverride None
SetEnv ICINGAWEB_CONFIGDIR "/etc/icingaweb2"
EnableSendfile Off
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
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 /error_norewrite.html
</IfModule>
Options +Indexes +FollowSymLinks +ExecCGI -Includes
AllowOverride All
Require all granted
FCGIWrapper /home/example/public_html/cgi-bin/php-fcgi .php
<FilesMatch \.php$>
SetHandler fcgid-script
</FilesMatch>
</Directory>
Inhalt der Datei /home/example/public_html/cgi-bin/php-fcgi
#!/bin/sh
export PHPRC="/etc/php/7.0/cgi"
exec /usr/bin/php-cgi
Daniel Marschall
ViaThinkSoft Co-Founder
ViaThinkSoft Co-Founder