Das Zusammenstellen der Steuerdatei list.js kann einer langwierige Angelegenheit werden. Deswegen wurde ein Browser basierten Editor entwickelt.
Der Editor benötigt ein HTTP Server und PHP. Da die Bilder dynamisch verkleinert werden, muss php-gd zusätzlich installiert werden.
Ein XAMP System sollte installiert werden. Auf der entsprechende Dokumentation wird verwiesen.
Der Editor wurde unter Fedora und Mint gestestet. Auf andere Linux Distributionen sollte es ohne weiteres funktionnieren.
Auf Systeme mit selinux muss gegebenen falls als root das
Befehl:
setsebool -P httpd_unified 1
ausgeführt werden.
Selinux sollte auch auf permissive gestellt werden. Damit kommt es zur Meldungen, die gewünschte Aktionen werden aber ausgeführt.
Unter Linux werden die Web Seiten meistens im Verzeichnis /var/www/html.
Wir sehen zwei Verzeichnis vor:
ds für den Zugriff auf
Die Datei ist unter der Web Root Verzeichnis zu kopieren, der HTTP Server ist dementsprechend zu konfigurieren.
Datei /etc/httpd/conf.d/vhost.conf (Fedora)
oder
/etc/apache2/sites-enabled/002-vhost.conf (Debian) anlegen.
# Virtual hosts
<VirtualHost *:80>
ServerName ds.localhost
ServerAlias ds
DocumentRoot /var/www/html/ds
</VirtualHost>
<VirtualHost *:80>
ServerName dse.localhost
ServerAlias dse
DocumentRoot /var/www/html/dse
</VirtualHost>
<Directory "/var/www/html/dse">
Order allow,deny
Allow from all
AllowOverride All
DirectoryIndex edit.php
</Directory>
<Directory "/var/www/html/ds">
Order allow,deny
Allow from all
AllowOverride All
DirectoryIndex diashow.html index.php
Options +Indexes
</Directory>
Hier stehen dse für Diashow Editor und ds für Diashow.
Nach den Erstellen der Verzeichnisse /var/www/html/ds sowie /var/www/html/dse ist im Verzeichnis dse die Dateien und Verzeichnis der Zip oder tgz Datei im Verzeichnis dse zu kopieren.
Der Eigentümer der Ordner ds und dse müssen angepasst werden.
Für Fedora:
# chown -R apache:apache /var/www/html/dse # chown apache:apache /var/www/html/ds
Für Debian:
# chown -R www-data:www-data /var/www/html/dse # chown www-data:www-data /var/www/html/ds
Als letztes muss der Apache Server neu gestartetverden
für Fedora:
# systemctl restart httpd
für Debian basierten Systeme
# systemctl restart apache2
Als letztes ist die Datei config.php an der gewünschten Anforderungen gegebenenfalls anzupassen:
<?php $root="/var/www/html/ds"; // the importopt may contain: // m (music), t (textes), p (image folder), f (fonts) // M (music), T (textes), P (image folder), F (fonts) // The corresponding folder will be copied to the slideshow folder // If we want to create a new slide show the folder marked with // a capital letter will be deleted. $importopt="mTPf"; ?>
Die Variable $importopt steuert das Kopiervorgang beim erzeugen
des fertigen Diashow.
Anstelle von Apache oder Nginx kann der in der Sprache go geschriebenen Http Server verwendet werden. Die Configuration ist einfach.
In dem Fall wird der Diashow Editor im Homebereich des Anwenders betrieben.
Von der Caddy Seite kann ein Server heruntergeladen werden. Bei den Module wird nur der fastcgi module zusätzlich benötigt.
PHP muss dennoch installiert werden. Für Windows Systeme ist es leichter ein fertige XAMP System zu verwenden, damit wird auch PHP installiert.
Das beste Weg php unter Linux einzubingen ist die Verwendung von php-fpm. dies bedeutet, dass die Konfiguration von php-fpm ergänzt wird, wenn der Diashow Editor unter der Home Verzeichniss verwendet werden. Unter Fedora ist eine Datei zusätzlich einzurichten /etc/php-fpm.d/user.conf
[dse] user = <user> group = <user> listen = /run/php-fpm/dse.sock listen.owner = <user> listen.group = <user> listen.mode = 0660 pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 pm.max_spare_servers = 3
<user> ist durch den User Name zu ersetzen
Unter Debian basierten Systeme ist der Datei Beispielsweise unter
/etc/php/7.2/fpm/pool.d anzulegen wobei 7.2 die Version vom
installierten php-fpm entspricht.
Damit caddy der Port 80 verwenden kann ist caddy mit ausreichenden Rechts zu versehen:
# chmod u+s /usr/local/bin/caddy
Gegebenenfalls muss auch php-fpm das Bedinenen von HOME Verzeichnisse zu erlauben:
# setsebool -P httpd_enable_homedirs 1
Damit caddy läuft muss er wissen wo die Webdatein sich befinden. Dazu muss ein Konfigurationsdatei erstellt werden. Wir gehen davon aus, dass die Komponenten unter /home/<Name>/Diashow installiert wird wobei <Name> durch den realer Name des Anwenders ersetzt werden muss.
Das Verzeichnis Diashow/dse beinhaltet den Editor und unter Diashow/ds werden die fertige Diashow abgelgt.
Die Konfigurationsdatei caddyFile könnte so ausehen:
:80 {
root /home/<Name>/Diashow/dse
bind 0.0.0.0
tls off
gzip
# Bei Fedora wie nachstehend, bei Debian /run/php/dse.sock
fastcgi / /run/php-fpm/dse.sock {
ext .php
split .php
index index.php edit.php
}
}
Es muss sichergestellt werden, dass php-fpm läuft, gegebenenfalls
über systemctl den dienst "enabeln" und starten.
systemctl enable php-fpm;systemctl start.
Bei Debian lautet der dienstname nicht php-fpm aber beispielsweise
php7.2-fpm wobei 7.2 der PHP version entspricht.
Eine Konfiguration kann unter https://nginxconfig.io erzeugt werden.