Go to English page

ViaThinkSoft CodeLib

Dieser Artikel befindet sich in:
CodeLibHowTos

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:
@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 Mitbegründer, Security Management
ViaThinkSoft Co-Founder, Security Management