Xibo ist eine Open-Source-Lösung für digitale Beschilderung (öffentliche Anzeigeschilder), die aus einem webbasierten Content-Management-System (CMS) besteht. Der beste Weg, die Aufmerksamkeit der Menschen auf Ihre sehr wichtigen Ankündigungen zu lenken, sind digitale Schilder mit Xibo. Es ermöglicht uns, PCs und Fernseher in ein unverwechselbares Mittel zur Verbreitung von Informationen zu verwandeln, indem wir sie in Informationstische verwandeln, die Sie an strategischen Orten aufstellen können, um die Aufmerksamkeit der Menschen auf sich zu ziehen.
Mit Xibo können Sie Ihren eigenen Digital Signage-Server einrichten, der Bilder, Videos und sogar PowerPoint-Präsentationen automatisch an Kioske ausgibt, sodass Sie Ihr gesamtes Unternehmen über Ihre neuesten Nachrichten auf dem Laufenden halten können, ohne auf Massen-E-Mails zurückgreifen zu müssen Dateien oder Diashows auf mehreren Computern manuell bearbeiten zu müssen.
Xibo kann über Docker oder auf einem Webserver mit installiertem MySQL/PHP ausgeführt werden. In diesem Tutorial lernen wir, wie man Xibo CMS installiert mit Docker auf Ubuntu 20.04 .
Voraussetzungen
- Eine Ubuntu 20.04-Instanz
- Ein Benutzer mit sudo-Berechtigung
Schritt 1:Docker installieren
Zuerst werden wir docker-engine und docker-compose installieren.
Erforderliche Pakete 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 -
Lassen Sie uns jetzt Docker zu den APT-Quellen hinzufügen
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Wir können jetzt die Docker-Engine installieren:
$ sudo apt install docker-ce
Um sicherzustellen, dass wir die aktuellste stabile Version von Docker Compose erhalten, laden wir diese Software aus dem offiziellen Github-Repository herunter.
Bestätigen Sie zunächst die neueste Version, die auf der Seite mit den Veröffentlichungen verfügbar ist. Zum Zeitpunkt des Schreibens dieses Artikels ist die aktuellste stabile Version 2.0.1
.
Der folgende Befehl lädt 2.0.1
herunter Geben Sie die ausführbare Datei frei und speichern Sie sie unter /usr/local/bin/docker-compose
, wodurch diese Software als docker-compose
global zugänglich gemacht wird :
$ 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 Datei 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 die sudo-Berechtigungen verwenden kann:
$ sudo usermod -aG docker username
Schritt 2:Xibo-Docker-Datei herunterladen und extrahieren
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 das neueste Download Xibo CMS herunterladen:
$ wget -O xibo-docker.tar.gz https://xibo.org.uk/api/downloads/cms
Während ich diesen Artikel schreibe, verwende ich Xibo Version 3.0.3.
$ tar --strip-components=1 -zxvf xibo-docker.tar.gz
Wir haben jetzt alles, um unser Xibo zu installieren
Schritt 3:Konfigurieren Sie Xibo Docker-compose
Unser Xibo-Container wird Docker-Compose durchlaufen. Die Dateien werden also nach /opt/xibo
extrahiert
$ 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 config.env
umbenennen
$ cp config.env.template config.env
Jetzt werden wir einige Informationen wie unten bearbeiten
$ vim config.env
MYSQL_PASSWORD=YOUR_DB_PASSWORD
CMS_SERVER_NAME=YOUR_DOMAIN_NAME
Normalerweise besitzt Xibo eine Standard-Webschnittstelle, die 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 proxieren. Dazu müssen wir die docker-compose-Datei bearbeiten um nur den Port von cms-web
zu bearbeiten Dienst
$ 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:Xibo mit SSL hinter Nginx konfigurieren
Da wir nun nginx als Proxy für die Kommunikation verwenden, müssen wir es zuerst installieren
$ sudo apt install nginx
In diesem Artikel gehen wir davon aus, dass Sie Ihr SSL-Zertifikat bereits haben. 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 -Schlüssel durch die guten Werte ersetzen, die sich auf Ihre Konfigurationen beziehen.
$ 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 http://xibo.domain.com;
}
}
Jetzt wird symbolisch die Konfigurationsdatei erstellt
$ sudo ln -s /etc/nginx/sites-available/xibo_cms.conf /etc/nginx/sites-enabled/xibo_cms.conf
Da dies unsere erste Konfiguration ist, entfernen Sie die Standardkonfiguration auf den aktivierten Websites, um keine Konflikte zu haben
$ 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, falls noch nicht geschehen
$ sudo ufw allow 'OpenSSH'
Aktivieren Sie jetzt UFW, falls noch nicht geschehen
$ 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. Es kann beim ersten Mal einige Zeit dauern
$ docker-compose up -d
Jetzt können Sie einen Blick auf die laufenden Container werfen
$ docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
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
t-1
Jetzt können Sie versuchen, über Ihren Domainnamen http://xibo.domain.com
auf die Xibo-Seite zuzugreifenDie 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, wechseln Sie einfach in den Ordner und führen Sie den Befehl
aus$ docker-compose down
Schlussfolgerung
In diesem Tutorial haben wir gelernt, wie man Xibo CMS mit Docker unter Ubuntu 20.04 installiert. Wenn Sie große Bilder hochladen möchten, können Sie dies durch 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. Wenden Sie sich an uns, wenn Sie auf Probleme stoßen, und hinterlassen Sie Ihre wertvollen Kommentare.