====== Lion Konfiguration ====== Der neue Heimserver ist vor Allem als Basis für das [[https://hse.koecher.it/share|Alfresco DMS]] genutzt. Alfresco benötigt als Java/Tomcat - Anwendung sehr viel RAM, weshalb weitere Anwendungen nur mit Vorsicht eingerichtet werden können. ===== Debian 9 ===== Als Betriebssystem wird Debian 9 verwendet. Die Installation ist als reiner Server ohne grafische Benutzeroberfläche erfolgt. Die beiden Platten sind als Software RAID 1 gekoppelt und als LVM eingerichtet. Neben dieser "klassischen" Methode, das RAID wird von mdadm verwaltet und lvm stellt die logischen devices bereit, gibt es auch die Möglichkeit direkt im lvm logische devices mit einem RAID zu erstellen. Eine komplette Beschreibung zum [[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html-single/logical_volume_manager_administration/index|Funktionsumfang von lvm]] stellt Red Hat zur Verfügung. andreas@lion:~$ df -h Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf /dev/mapper/lion_vg-data 826G 19G 765G 3% / /dev/sdb1 268M 38M 213M 15% /boot /dev/sda1 94M 0 94M 0% /boot/efi andreas@lion:~$ cat /proc/mdstat Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sda2[0] sdb2[1] 976337920 blocks super 1.2 [2/2] [UU] bitmap: 3/8 pages [12KB], 65536KB chunk unused devices: andreas@lion:~$ sudo pvs PV VG Fmt Attr PSize PFree /dev/md0 lion_vg lvm2 a-- 931,11g 83,82g andreas@lion:~$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert data lion_vg -wi-ao---- 839,84g swap lion_vg -wi-ao---- 7,45g andreas@lion:~$ /dev/sda1 (FAT) wird als /boot/efi gemounted. Tatsächlich ist auf den Platten aber kein gpt, so dass diese Partition leer ist. /dev/sdb1 (EXT4) hingegen ist für grub die boot-Partition. ==== MySQL ==== Für viele Web-Anwendungen ist eine MySQL - Datenbank erforderlich. MySQL wurde mit $ sudo apt install mysql-server installiert. Tatsächlich wird in Debian 9 dann MariaDB 10.1 installiert, was aber im Allgemeinen keinen Unterschied machen wird. === Problem mit dem root - Passwort === Entgegen den Anleitungen wurde während der Installation kein Passwort für den DB-root erfragt. Der Zugang mit ''mysql -u root -p passwort'' lief auf Fehler ''Access denied for user 'root'@'localhost' (using password: YES)'' In einer root-Shell konnte der Zugang zu MySQL ohne Passwort erreicht werden, aber alle Hinweise zum Setzen des root-Passworts liefen auf den Fehler oben. Erst ein [[https://askubuntu.com/questions/428243/mysql-access-denied-for-user-rootlocalhost|Hinweis]], dass neuere MySQL Versionen mit einem Plugin "auth_socket" anstatt wie bisher "mysql_native_password" eingestellt sind ergab eine Lösung. Mit dem SQL-Befehlen UPDATE mysql.user SET authentication_string=PASSWORD('neuesPasswort'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost'; flush privileges; und einem Restart des Service mysql kann der DB-root nun erreicht werden. ==== Nginx ==== Der Nginx dient bislang nur als Reverse Proxy für die Java/Tomcat Applikation Alfresco. Durch die Fotogalere Lychee kommt die Anforderung hinzu, Nginx als Web-Server für eine PHP Anwendung zu verwenden. Eine gute Beschreibung zur Konfiguration liefert [[https://www.sitepoint.com/setting-up-php-behind-nginx-with-fastcgi/|Setting up PHP behind Nginx with fastcgi]]. Die [[http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html|Liste der Direktiven]] ist endlos, aber da Meiste wird per Default gut eingestellt. fastcgi ermöglichen: sudo apt-get install fcgiwrap Einstellungen in koecher.heim-server.de für PHP: # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { include snippets/fastcgi-php.conf; # With php7.0-cgi alone: # fastcgi_pass 127.0.0.1:9000; # With php7.0-fpm: fastcgi_pass unix:/run/php/php7.0-fpm.sock; } ==== PHP ==== PHP wurde als Gesamtpaket installiert: $ sudo apt install php7.0 Das Paket enthält auch den Apache Web-Server. Da auf lion ein Nginx arbeitet muss der Apache außer Betrieb gesetzt werden. $ sudo systemctl disable apache2 Die Anforderungen für Lychee beschreiben folgende PHP Erweiterungen: session, exif, mbstring, gd, mysqli, json, zip session, exif und json sind in PHP7 standardmäßig aktiv. Der Rest musste installiert werden mit: $ sudo apt install php7.0-zip php7.0-mysql php7.0-gd php7.0-mbstring php-imagick Ich weiss nicht ob es wirklich erforderlich war, aber die folgenden Pakete habe ich beim Experimentieren mit PHP auf dem Nginx noch installiert: $ sudo apt install php-cli php-fpm Bei Änderungen an den PHP Modulen muss der php-fpm Service neu gestartet werden, damit Nginx das auswerten kann. $ sudo service php7.0-fpm reload Inzwischen ist PHP auf die Version 7.3 umgestellt. Entsprechend muss der Service für PHP7.3-fpm gestartet werden. ==== NTP ==== ==== Git ==== Die Fotosoftware Lychee wird per Git bereitgestellt. Daher habe ich Git auf dem lion installiert. $ sudo apt install git Ab und zu kann mit $ cd ~/Lychee $ git pull geprüft werden, ob eine neue Version zur Verfügung steht. Eine neue Version kann durch einfaches Kopieren auf den html-Pfad zum Einsatz gebracht werden. ===== Alfresco ===== ===== Lychee ===== [[https://lychee.electerious.com/|Lychee]] ist eine Software zur Fotoverwaltung auf dem Server. Einfach gehalten, kann man durch Lychee Fotos gut allgemein zugänglich machen. Als auschließlichen Speicherort für Fotos ist Lychee nur bedingt geeignet. Zugriff auf meine Installation mit [[https://koecher.heim-server.de/galerie]], auf SSL-Zugriff achten! In 10/2019 habe ich Lychee auf eine aktuelle Version gebracht. Aktuell ist das die Version 3.2.16. Ein wesentliches neues Feature ist, dass nun auch Filme mit Lychee angezeigt werden können.