
Xibo è una soluzione di segnaletica digitale open source (segnaletica pubblica) che comprende un sistema di gestione dei contenuti (CMS) basato sul Web. Il modo migliore per catturare l'attenzione delle persone per i tuoi annunci molto importanti può essere fatto con la segnaletica digitale utilizzando Xibo. Ci consente di trasformare PC e TV in un modo distintivo per spargere la voce, trasformandoli in banchi informazioni che puoi posizionare in posizioni strategiche per attirare l'attenzione della gente.
Utilizzando Xibo, puoi configurare il tuo server di segnaletica digitale in grado di inviare automaticamente immagini, video e persino presentazioni PowerPoint ai kiosk, consentendoti di mantenere l'intera organizzazione aggiornata sulle ultime notizie senza ricorrere a e-mail di massa o dover modificare manualmente file o presentazioni su più macchine.
Xibo può essere eseguito tramite Docker o su un server Web con MySQL/PHP installato. In questo tutorial impariamo come installare Xibo CMS con Docker su Ubuntu 20.04 .
Prerequisiti
- Un'istanza di Ubuntu 20.04
- Un utente con privilegio sudo
Passaggio 1:installa Docker
Innanzitutto, installeremo docker-engine e docker-compose.
Installa i pacchetti dei prerequisiti:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
Ora dovremmo aggiungere la chiave GP del repository docker:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Aggiungiamo ora Docker ai sorgenti APT
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Possiamo installare docker-engine ora:
$ sudo apt install docker-ce
Per assicurarci di ottenere la versione stabile più aggiornata di Docker Compose, scaricheremo questo software dal suo repository Github ufficiale.
Innanzitutto, conferma l'ultima versione disponibile nella loro pagina delle versioni. Al momento in cui scrivo, la versione stabile più recente è 2.0.1
.
Il comando seguente scaricherà il 2.0.1
rilascia e salva il file eseguibile in /usr/local/bin/docker-compose
, che renderà questo software accessibile a livello globale come 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
Quindi, imposta le autorizzazioni corrette in modo che docker-compose
il comando è eseguibile:
$ sudo chmod +x /usr/local/bin/docker-compose
Per verificare che l'installazione sia andata a buon fine, puoi eseguire:
$ docker-compose --version
Docker Compose version v2.0.1
Ora dobbiamo aggiungere l'utente non root al gruppo docker in modo che l'utente possa utilizzare il comando docker senza i privilegi sudo:
$ sudo usermod -aG docker username
Passaggio 2:scarica ed estrai il file Docker Xibo
Per prima cosa creiamo la cartella del nostro CMS Xibo
$ sudo mkdir /opt/xibo
Concedi i permessi all'utente
$ sudo chown -R username:username /opt/xibo
$ cd /opt/xibo
Puoi scaricare l'ultimo Download Xibo CMS:
$ wget -O xibo-docker.tar.gz https://xibo.org.uk/api/downloads/cms
Al momento della stesura di questo articolo, sto utilizzando la versione Xibo 3.0.3.
$ tar --strip-components=1 -zxvf xibo-docker.tar.gz
Ora abbiamo tutto per installare il nostro Xibo
Fase 3:Configura Xibo Docker-compose
Il nostro container Xibo verrà eseguito tramite Docker Compose. Quindi i file vengono estratti 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 utilizza un file di configurazione per dire alla finestra mobile come è configurato l'ambiente, ad esempio l'e-mail config, la password mysql, ecc. È presente un file modello con le informazioni necessarie chiamato config.env.template; faremo una copia di questo file, rinominandolo in config.env
$ cp config.env.template config.env
Ora modificheremo alcune informazioni come di seguito
$ vim config.env
MYSQL_PASSWORD=YOUR_DB_PASSWORD
CMS_SERVER_NAME=YOUR_DOMAIN_NAME
Normalmente Xibo possiede un'interfaccia Web predefinita in esecuzione sulla porta 80, ma cambieremo queste informazioni solo sulla porta 8080 poiché utilizzeremo Nginx per inviare tramite proxy la comunicazione sulle porte 80 e 443. Per farlo, dobbiamo modificare il file di composizione docker per modificare solo la porta del cms-web
servizio
$ 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"
Fase 4:Configura Xibo con SSL dietro Nginx
Ora, poiché utilizzeremo nginx per inoltrare la comunicazione, dovremo prima installarlo
$ sudo apt install nginx
In questo articolo, supponiamo che tu abbia già il tuo certificato SSL. Nel nostro caso copieremo il certificato e la chiave del nome a dominio
$ sudo cp xibo.domain.crt /etc/nginx/certs/xibo.domain.crt
$ sudo cp xibo.domain.key /etc/nginx/certs/xibo.domain.key
Ora crea il file di configurazione di Xibo. Assicurati di sostituire il valore dell'IP del server, il nome di dominio Xibo, i certificati Xibo e le chiavi con quelli validi relativi alle tue configurazioni.
$ 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;
}
}
Ora creato un simbolico del file di configurazione
$ sudo ln -s /etc/nginx/sites-available/xibo_cms.conf /etc/nginx/sites-enabled/xibo_cms.conf
Poiché è la nostra prima configurazione, rimuovi la configurazione predefinita sui siti abilitati per non avere alcuni conflitti
$ sudo rm /etc/nginx/sites-enabled/default
Ora avvia il servizio nginx
$ sudo systemctl start nginx
Ora abilita all'avvio
$ sudo systemctl enable nginx
Controlla la tua configurazione
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ora riavvia il servizio per prendere in considerazione la configurazione
$ sudo systemctl restart nginx
Ora apri le porte 80 e 443 sul firewall:
$ sudo ufw allow 80,443/tcp
Inoltre, assicurati di aprire ssh prima di abilitare UFW se non ancora
$ sudo ufw allow 'OpenSSH'
Ora abilita UFW se non ancora
$ sudo ufw enable
Fase 5:installa il contenitore Xibo
Ora che il nostro Nginx è configurato, possiamo eseguire il nostro file di composizione mobile
$ cd /opt/xibo
Eseguiremo il file di composizione mobile in background. La prima volta può volerci un po' di tempo
$ docker-compose up -d
Ora puoi dare un'occhiata ai container in esecuzione
$ 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
Ora puoi provare ad accedere alla pagina Xibo con il tuo nome di dominio http://xibo.domain.com

Le credenziali di accesso Xibo predefinite sono:
username: admin
password: password

Puoi modificare la password andando nelle impostazioni del profilo.
Se vuoi fermare Xibo, spostati nella cartella ed esegui il comando
$ docker-compose down
Conclusione
In questo tutorial abbiamo imparato come installare Xibo CMS con Docker su Ubuntu 20.04. Se desideri caricare immagini di grandi dimensioni, puoi farlo configurando il fil 'Php.ini'. Per ulteriori impostazioni e personalizzazioni di Xibo CMS puoi prendere in considerazione la lettura della sua documentazione ufficiale per maggiori dettagli. Grazie per aver letto e contattaci in caso di problemi e lascia i tuoi preziosi commenti.