Fragt mich nicht, warum ich diese Anleitung mache, ich hatte einfach Bock drauf das Projekt mal wieder auszugraben und in der neuesten Version mir anzuschauen. Leider habe ich immer noch kein Anwendungsgebiet für Zuhause gefunden aber hat trotzdem Spaß gemacht.
Was versteht man unter Digital Signage?
Einfach ausgedrückt ein digitales Werbeschild. Eine einfache Möglichkeit Werbung oder Informationen auf Displays anzuzeigen und sogar zeitgesteuert abzuändern. Alles was Sie auf Schilder drucken/lasern können, kann mit wenigen Klicks einfach auf das gewünschte Display übertragen werden und das nicht nur am Hauptstandort sondern standortübergreifend.
Wir hatten damals in meinem alten Unternehmen die Anforderung eine solche Lösung zu beschaffen für die Begrüßungen unserer Kunden im Foyer. Leider bot die erste (kostenpflichtige) Lösung nicht das was wir uns vorgestellt hatten. Mit Xibo sah das anders aus und das sogar kostenfrei.
Was benötigen wir?
Xibo könnt Ihr als Docker-Container laufen lassen oder manuell installieren. Ganz ehrlich, auch wenn Docker hoch gelobt wird, durch Proxmox mit seinen LXC (LinuxContainer) habe ich noch nie wirklich darauf zurückgreifen müssen und entschied mich auch hier ohne Docker zu arbeiten.
Was benötigen wird für die manuelle Installation? Im Grunde nicht viel:
Betriebssystem: Fast egal welches, Hauptsache es kann ein Webserver und eine MySQL-Datenbank drauf laufen, aber wenn wir uns schon im OpenSource-Bereich bewegen, so entschied ich mich für Ubuntu-Server LTS 20.04.4
Webserver: Eine genaue Vorgabe gibt es eigentlich nicht, aber ich entschied mich für den Apache.
PHP: Offiziell steht, Stand heute 05.03.2022, was von 7.2.9+, ich habe direkt 7.4 installiert und funktioniert einwandfrei!
Datenbank: Ebenfalls Stand heute wird eine MySQL Datenbank Version 5.6 vorausgesetzt. Ich habe eine MariaDB Version 10.3.34-MariaDB-0ubuntu0.20.04.1 installiert.
Xibo CMS: Installation
Wie immer fangen wir mit dem Updaten des Betriebssystemes an:
apt update && apt upgrade -y
Ist das erledigt, dann halten wir uns natürlich an die "Voraussetzungen" des Herstellers:
Requirements:
https://xibo.org.uk/docs/setup/xibo-on-a-web-server
Hierzu habe ich einmal zusammengesucht, was Ihr benötigt:
apt install apache2 mariadb-server php php-gd php-json php-phar php-dom php-pdo php-pdo-mysql php-zip php-soap php-curl php-iconv php-ctype php-fileinfo php-xml php-simplexml php-mbstring php-zeroc-ice php-zmq
Somit habt Ihr den Apache, MariaDB und PHP mit all den benötigen Modulen installiert. Gut gemacht . Testet doch einfach mal den Apache, indem Ihr im Browser die IP des Apache eintragt, bekommt Ihr die Apacheseite angezeigt, dann habt Ihr schon fast die Hälfte geschafft!
Xibo CMS: Packet
Hier könnt Ihr schon einmal das aktuellste Release herunterladen: https://github.com/xibosignage/xibo-cms/releases
Stand heute ist das "Latest" bei mir die Version 3.0.7.
Ihr könnt es mit wget direkt herunter laden und entpacken. Ich hatte dummerweise die .zip heruntergeladen und direkt auf Windows entpackt. Daher musste ich es z.B. mit Filezilla auf den Webserver packen. Ich habe es in /var/www/html/ geschubst.
Somit müsste der gesamte Pfad, sofern Ihr den Namen des Paketes nicht geändert habt folgend sein:
/var/www/html/xibo-cms-3.0.7
Jetzt muss noch der Besitzer geändert werden:
chown -R www-data:www-data /var/www/html/xibo-cms-3.0.7
Des Weiteren benötigen wir noch einen Ordner für "Media". Ich habe hierzu einfach mit
mkdir media
im /var/www/html/ Verzeichnis ein Ordner erstellt und ebenfalls mit
chown -R /var/www/html/media/
den Besitzer geändert.
Xibo CMS: Vorbereitungen für Xibo
Jetzt müssen wir die installierten Applikationen für Xibo vorbereiten.
Datenbank:
Auch wenn man dies wohl aus dem Frontend erledigen kann, wenn wir jetzt eh schon den steinigen Weg gehen, dann richtig
Ist die DB frisch installiert, dann hat der root in der Datenbank noch kein Passwort, wir melden uns also mit:
mysql -u root -p
an und wenn ein Passwort erfragt wird, dann einfach mit "Enter" weiter. (Ihr macht das natürlich später "sicher" und ändert das Passwort)
Wir benötigen also eine Datenbank für Xibo und einene berechtigen Benutzer auf die Datenbank. Einfach folgende Commands absetzen und Ihr seid schon fertig:
CREATE DATABASE irgendeinDBName;
CREATE USER 'irgendeinName'@'localhost' IDENTIFIED BY 'einsicheresPasswort';
GRANT ALL PRIVILEGES ON irgendeinDBName. *TO 'irgendeinName'@'localhost';
flush privileges;
exit
PHP:
Es werden folgende drei Werte empfohlen zu ändern:
- post_max_size = 128M (ich habe gleich 256M daraus gemacht)
- upload_max_filesize = 128M (habe ich ebenfalls auf 256M gesetzt)
- max_execution_time = 120
Die php.ini hierzu findet Ihr hier:
nano /etc/php/7.4/apache2/php.ini
Apache2:
Ihr könnt natürlich eine eigene Config anlegen, vor allem wenn Ihr den Server später mit Zertifikaten absichern wollt, für meine Testumgebung habe ich die Default-Config einfach verändert mit folgendem Inhalt:
D.h. "DocumentRoot" musste entsprechend angepasst werden und das zwischen Directory
<Directory "/var/www/html/xibo-cms-3.0.7/web">
AllowOverride All
Options Indexes FollowSymLinks MultiViews
Order allow,deny
Allow from all
Require all granted
</Directory>
Entgegen der offiziellen Anleitung (siehe oben) musste ich den entscheidenden Part in <Directory> </Directory> gesetzt werden!
Jetzt fehlt nur noch URL Rewrite
a2enmod rewrite
Jetzt habt Ihr es geschafft und müsst nur noch den Apache2 Dienst neu starten mit:
service apache2 restart
Ein kleiner Punkt, den ich im Video schon vergessen hatte (es sei mir verziehen) man muss noch ein Cronjob anlegen!
crontab -e
* * * * * /usr/bin/php /var/www/xibo/xibo-cms-3.0.7/bin/xtr.php
Das war der Punkt, der bei mir am Ende des zweiten Videos gefehlt hat.
Xibo CMS: Erstkonfiguration
Wenn Ihr nun erneut die IP des Webservers im Browser aufruft sollte nachfolgende Seite, und sofern Ihr alles richtig gemacht habt, auch überall ein Häkchen zu sehen sein:
Mit einem Klick auf "Next" könnt Ihr die Datenbank hinterlegen. Im Tab "New" sollte man wohl eine Datenbank anlegen können, aber da wir ja fleißig waren können wir uns auf den Tab "Existing" begeben und die Daten eintragen, die Ihr im MySQL zuvor hinterlegt habt.
Anschließend werdet Ihr nach einem Benutzer sowie Passwort für das Backend gefragt.
Ihr erinnert euch an das "extra" Media-Verzeichnis, das müsst Ihr hier angeben und wichtig ist auf jeden Fall für die späteren Clients der "Server-Schlüssel".
Mit dem letzten Schritt auf "weiter" landet ihr, sofern alles geklappt hat, auf der Anmeldemaske für Xibo und Ihr habt es soweit geschafft.
Ab jetzt geht es darum entsprechende "Layouts" für die Displays zu erstellen sowie natürlich die Player vorzubereiten. Hierzu gibt es einen weiteren Beitrag.
Viel Spaß beim Nachbauen.