Xibo ist eine Open-Source-Lösung für Digital Signage (Public Display Signs), die aus einem webbasierten Content-Management-System (CMS) besteht. Der beste Weg, um die Aufmerksamkeit der Menschen auf Ihre sehr wichtigen Ankündigungen zu erregen, können mit digitalen Schildern mit Xibo erfolgen. Es ermöglicht uns, PCs und Fernsehgeräte zu einem unverwechselbaren Mittel zu machen, um die Nachricht zu verbreiten, und sie in Informationsschalter zu verwandeln, die Sie an strategischen Orten platzieren können, um die Aufmerksamkeit der Menschen auf sich zu ziehen.
Verwenden von XiboSie können Ihren eigenen Digital-Signage-Server, drücken kann aus Bildern, Videos und sogar Powerpoint-Präsentationen zu Kiosken automatisch, so dass Sie halten Ihre gesamte Organisation auf dem Laufenden über Ihre neuesten Nachrichten, ohne auf Massen-E-Mailings oder mit einrichten Bearbeiten Sie Dateien oder Diashows von Hand auf mehreren Computern.
Xibo kann über Docker oder auf einem Webserver mit installiertem MySQL/PHP ausgeführt werden. In diesem Tutorial lernen wir, wie man Xibo CMS installieren mit Docker an Ubuntu 20.04.
Voraussetzungen
- Eine Ubuntu 20.04-Instanz
- Ein Benutzer mit sudo Privileg
Schritt 1: Docker installieren
Zuerst installieren wir docker-engine und docker-compose.
Voraussetzungspakete installieren:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
Jetzt sollten wir den GP-Schlüssel des Docker-Repositorys hinzufügen:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Fügen wir jetzt Docker zu den APT-Quellen hinzu
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Wir können docker-engine jetzt installieren:
$ sudo apt install docker-ce
Um sicherzustellen, dass wir die aktuellste stabile Version von Docker Compose erhalten, laden wir diese Software von ihrem herunter offizielles Github-Repository.
Bestätigen Sie zuerst die neueste Version, die auf ihrem veröffentlicht Seite. Zum Zeitpunkt des Schreibens dieses Artikels ist die aktuellste stabile Version 2.0.1
.
Der folgende Befehl lädt die 2.0.1
die ausführbare Datei freigeben und speichern unter /usr/local/bin/docker-compose
, die diese Software weltweit zugänglich machen wird als docker-compose
:
$ sudo curl -L https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
Legen Sie als Nächstes die richtigen Berechtigungen fest, damit die docker-compose
Befehl ist ausführbar:
$ sudo chmod +x /usr/local/bin/docker-compose
Um zu überprüfen, ob die Installation erfolgreich war, können Sie Folgendes ausführen:
$ docker-compose --version
Docker Compose version v2.0.1
Jetzt müssen wir den Nicht-Root-Benutzer zur Docker-Gruppe hinzufügen, damit der Benutzer den Docker-Befehl ohne das verwenden kann sudo Privilegien:
$ sudo usermod -aG docker username
Schritt 2: Laden Sie die Xibo Docker-Datei herunter und extrahieren Sie sie
Lassen Sie zuerst den Ordner unseres Xibo CMS erstellen
$ sudo mkdir /opt/xibo
Geben Sie dem Benutzer die Berechtigungen
$ sudo chown -R username:username /opt/xibo
$ cd /opt/xibo
Sie können die neuesten herunterladen Xibo-CMS herunterladen:
$ wget -O xibo-docker.tar.gz https://xibo.org.uk/api/downloads/cms
Zum Zeitpunkt des Schreibens dieses Artikels verwende ich die Version Xibo 3.0.3.
$ tar --strip-components=1 -zxvf xibo-docker.tar.gz
Wir haben jetzt alles, um unseren Xibo . zu installieren
Schritt 3: Konfigurieren Sie Xibo Docker-compose
Unser Xibo-Container wird Docker-Compose durchlaufen. Also werden die Dateien extrahiert in /opt/xibo
$ ls -l /opt/xibo
total 84
-rw-rw-r-- 1 franck franck 1491 Sep 8 08:01 cms_custom-ports.yml.template
-rw-rw-r-- 1 franck franck 1159 Sep 8 08:01 cms_remote-mysql.yml
-rw-rw-r-- 1 franck franck 4024 Sep 8 08:01 config.env.template
-rw-rw-r-- 1 franck franck 2231 Sep 8 08:01 config.env.template-remote-mysql
-rw-rw-r-- 1 franck franck 1511 Nov 2 23:18 docker-compose.yml
-rw-rw-r-- 1 franck franck 34520 Sep 8 08:01 LICENSE
-rw-rw-r-- 1 franck franck 2088 Sep 8 08:01 README.md
drwxr-xr-x 5 root root 4096 Nov 2 17:25 shared
-rw-r--r-- 1 franck franck 15570 Sep 8 08:54 xibo-docker.tar.gz
Xibo verwendet eine Konfigurationsdatei, um Docker mitzuteilen, wie die Umgebung konfiguriert ist, z. B. die E-Mail-Konfiguration, das MySQL-Passwort usw. Eine Vorlagendatei mit den erforderlichen Informationen ist vorhanden und heißt config.env.template; Wir werden eine Kopie dieser Datei erstellen und sie in umbenennen config.env
$ cp config.env.template config.env
Jetzt werden wir einige Informationen wie folgt bearbeiten
$ vim config.env
MYSQL_PASSWORD=YOUR_DB_PASSWORD
CMS_SERVER_NAME=YOUR_DOMAIN_NAME
Normalerweise besitzt Xibo ein Standard-Webinterface, das auf Port 80 läuft, aber wir werden diese Informationen nur auf Port 8080 ändern, da wir Nginx verwenden werden, um die Kommunikation auf den Ports 80 und 443 zu übertragen. Dazu müssen wir die docker-compose-Datei bearbeiten um nur den Port des zu bearbeiten cms-web
Service
$ vim docker-compose.yml
cms-web:
image: xibosignage/xibo-cms:release-3.0.3
volumes:
- "./shared/cms/custom:/var/www/cms/custom:Z"
- "./shared/backup:/var/www/backup:Z"
- "./shared/cms/web/theme/custom:/var/www/cms/web/theme/custom:Z"
- "./shared/cms/library:/var/www/cms/library:Z"
- "./shared/cms/web/userscripts:/var/www/cms/web/userscripts:Z"
- "./shared/cms/ca-certs:/var/www/cms/ca-certs:Z"
restart: always
links:
- cms-db:mysql
- cms-xmr:50001
environment:
- XMR_HOST=cms-xmr
- CMS_USE_MEMCACHED=true
- MEMCACHED_HOST=cms-memcached
env_file: config.env
ports:
- "8080:80"
Schritt 4: Konfigurieren Sie Xibo mit SSL hinter Nginx
Da wir nun nginx zum Proxy der Kommunikation verwenden, müssen wir es zuerst installieren
$ sudo apt install nginx
In diesem Artikel gehen wir davon aus, dass Sie bereits über Ihr SSL-Zertifikat verfügen. In unserem Fall kopieren wir das Zertifikat und den Schlüssel für den Domainnamen
$ sudo cp xibo.domain.crt /etc/nginx/certs/xibo.domain.crt
$ sudo cp xibo.domain.key /etc/nginx/certs/xibo.domain.key
Erstellen Sie nun die Konfigurationsdatei von Xibo. Stellen Sie sicher, dass Sie den Wert der Server-IP, des Xibo-Domänennamens, der Xibo-Zertifikate und der Schlüssel durch die guten Werte für Ihre Konfigurationen ersetzen.
$ sudo vim /etc/nginx/sites-available/xibo_cms.conf
upstream xibo.domain.com {
server SERVER_IP:8080;
}
server {
server_name xibo.domain.com;
listen 80 ;
access_log /var/log/nginx/xibo.log;
return 301 https://$host$request_uri;
}
server {
server_name xibo.domain.com;
listen 443 ssl http2 ;
access_log /var/log/nginx/xibo.log;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_certificate /etc/nginx/certs/xibo.domain.crt;
ssl_certificate_key /etc/nginx/certs/xibo.domain.key;
add_header Strict-Transport-Security "max-age=31536000";
location / {
proxy_pass https://xibo.domain.com;
}
}
Jetzt ein Symbol der Konfigurationsdatei erstellt
$ sudo ln -s /etc/nginx/sites-available/xibo_cms.conf /etc/nginx/sites-enabled/xibo_cms.conf
Da es unsere erste Konfiguration ist, entfernen Sie die Standardkonfiguration auf den aktivierten Sites, um Konflikte zu vermeiden
$ sudo rm /etc/nginx/sites-enabled/default
Starten Sie nun den nginx-Dienst
$ sudo systemctl start nginx
Jetzt beim Start aktivieren
$ sudo systemctl enable nginx
Überprüfen Sie Ihre Konfiguration
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie nun den Dienst neu, um die Konfiguration zu berücksichtigen
$ sudo systemctl restart nginx
Öffnen Sie nun die Ports 80 und 443 auf der Firewall:
$ sudo ufw allow 80,443/tcp
Stellen Sie außerdem sicher, dass Sie ssh öffnen, bevor Sie UFW aktivieren, wenn dies noch nicht geschehen ist
$ sudo ufw allow 'OpenSSH'
Jetzt UFW aktivieren, falls noch nicht
$ sudo ufw enable
Schritt 5: Xibo-Container installieren
Nachdem unser Nginx konfiguriert ist, können wir unsere Docker-Compose-Datei ausführen
$ cd /opt/xibo
Wir werden die docker-compose-Datei im Hintergrund ausführen. Beim ersten Mal kann es etwas dauern
$ docker-compose up -d
Jetzt kann man sich die Container ansehen, die laufen
$ docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
t-1
b5e8dda81529 xibosignage/xibo-cms:release-3.0.3 "/entrypoint.sh" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp, :::8080->80/tcp xibo-cms-web-1
9f4591f0f91a mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp, 33060/tcp xibo-cms-db-1
b706402036a0 xibosignage/xibo-xmr:release-0.8 "/entrypoint.sh" 2 minutes ago Up 2 minutes 0.0.0.0:9505->9505/tcp, :::9505->9505/tcp, 50001/tcp xibo-cms-xmr-1
75a971ab7435 memcached:alpine "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 11211/tcp xibo-cms-memcached-1
3d2e30e8f9cb ianw/quickchart "node --max-http-hea…" 2 minutes ago Up 2 minutes 3400/tcp xibo-cms-quickchar
Jetzt können Sie versuchen, mit Ihrem Domainnamen https://xibo.domain.com auf die Xibo-Seite zuzugreifen
Die standardmäßigen Xibo-Anmeldedaten lauten:
username: admin
password: password

Sie können das Passwort ändern, indem Sie zu den Profileinstellungen gehen.
Wenn Sie Xibo stoppen möchten, gehen Sie einfach in den Ordner und führen Sie den Befehl aus
$ docker-compose down
Abschluss
In diesem Tutorial haben wir gelernt, wie man Xibo CMS mit Docker auf Ubuntu 20.04 installiert. Wenn Sie große Bilder hochladen möchten, können Sie dies über die Konfiguration der Datei ‘Php.ini’ tun. Für weitere Einstellungen und Anpassungen von Xibo CMS können Sie die offizielle Dokumentation für weitere Details lesen. Vielen Dank für das Lesen. Wenn Sie Probleme haben, wenden Sie sich an uns und hinterlassen Sie Ihre wertvollen Kommentare.