====== Installation ====== ===== Systemvoraussetzungen ===== * PHP 7.3 oder neuer * MySQL 8.0 ==== bekannte Installationen ==== ^ Hardware ^ Betriebssystem ^ PHP ^ Datenbank ^ | Raspberry PI | Raspbian GNU/Linux 10 (buster) | 7.3.31 | MariaDB 10.3.34 | ===== Variablen / Pfadangaben ===== Diese Anleitung verwendet Variablen zur Bestimmung der Verzeichnisse. Die Verzeichnisse sind abhängig vom individuellen System und Wünschen ^ Variable ^ Wert ^ | $X2_HOME | /var/www/html/x2 | | $APACHE_DIR | /var/www/html | ===== Benötigte Pakete ===== * graphviz * php-ssh2 * php-phpseclib * libphp-phpmailer apt install graphviz php-ssh2 php-phpseclib ibphp-phpmailer ===== GraphViz ===== GraphViz wird zur Erstellung der Graph-Elemente von X2 verwendet. Dazu muss das Paket für PHP installiert werden - pear installieren, falls nicht vorhanden wget http://pear.php.net/go-pear.phar php go-pear.phar - Das PHP-Modul für GraphViz installieren sudo pear install Image_GraphViz - in der Datei ''/etc/php/7.3/apache2/php.ini'' muss ggf. der include-Pfad angpasst werden include_path = ".:/usr/share/pear:/usr/share/php" - Apache neu starten ===== Datenbank ===== - Erstellen einer Datenbankcreate database x2; - Erstellen eines Benutzerscreate user x2 identified by 'x2'; - Vergeben der Rechte an den neuen Benutzergrant all privileges on x2.* to x2; - Einstellungen in der DB ladenflush privileges; ===== X2 ===== - Laden der Quellen der X2 Software cd $X2_HOME git clone git@github.com:michdip/x2.git - Erstellen von Arbeitsverzeichnissen mkdir -p $X2_HOME/log mkdir -p $X2_HOME/tmp mkdir -p $X2_HOME/templates/templates_c mkdir -p $X2_HOME/templates/cache - Sollte das Verzeichnis ''$X2_HOME'' nicht dem User gehören, mit dem der Apache ausgeführt wird, so müssen die Verzeichnisse für diesen zum Schreiben frei gegeben werden chmod 777 $X2_HOME/log chmod 777 $X2_HOME/tmp chmod 777 $X2_HOME/templates/templates_c chmod 777 $X2_HOME/templates/cache - Konfiguration von - ''$X2_HOME/conf.d/base.conf'' - ''$X2_HOME/conf.d/databases.conf'' - ''$X2_HOME/conf.d/x2_host.conf'' :!: local muss definiert sein - ''$X2_HOME/conf.d/mail.conf'' - ''$X2_HOME/database/execute.sh'' ===== Smarty ===== Smarty wird zur Erstellung der HTML-Ausgabe verwendet. - Laden der Quellen aus dem Git von Smarty cd $APACHE_DIR git clone https://github.com/smarty-php/smarty.git - Smarty mit dem X2 verlinken cd $X2_HOME/lib ln -s $APACHE_DIR/smarty/libs smarty ===== X2 Setup ===== - Einen SSH-Key für das X2 erstellen $ cd $X2_HOME/conf.d $ ssh-keygen -b 1024 -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/pi/.ssh/id_rsa): $X2_HOME/conf.d/id_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in $X2_HOME/conf.d/id_rsa. Your public key has been saved in $X2_HOME/conf.d/id_rsa.pub. The key fingerprint is: SHA256:QxrATJPO0xR/rtu0cLKLeL8PwZDuEYmDzHOAvBMRn6Q pi@raspberrypi The key's randomart image is: +---[RSA 1024]----+ |.++=+... | |.=+o=+.+ | | EB=+o* o . | | o o+o.B o | | . .+ S . | | . . + | | . = o | | ... X . | | ....*++ | +----[SHA256]-----+ - Die Verbindung zu local herstellen ssh -i ./id_rsa @ - Erstellen der Datenbanktabellen cd $X2_HOME/database ./createDatabase.sh - Import der Datei ''$X2_HOME/database/x2_system.json'' - Die Gruppe ''X2 System'' hat als Variable ''$X2_HOME'' definiert. Diese muss angepasst werden - Alle Templates in der Gruppe ''X2 System'' müssen aktiviert werden - Festlegen des ''getLog''-Template - In der Gruppe ''X2 System'' befindet sich ein Template mit dem Namen ''getLogs''. Die ID dieses Template muss in folgendes Statement eingegeben werden und an die DB gesendet werden insert into SEQUENCE (SEQ_NAME, SEQ_VALUE) values ( 'X2_MASHINE_ROOM_getLogs', ); - Erstellen der crontab 0-59 * * * * cd $X2_HOME && ./x2Deamon.watchdoc.sh 1 0 * * * kill -USR1 `cat $X2_HOME/x2Deamon.pid`