GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Xibo CMS su Ubuntu 20.04

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-quickchart-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.


Ubuntu
  1. Come installare Docker su Ubuntu 18.04

  2. Come installare Docker su Ubuntu 16.04

  3. Come installare Docker su Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  4. Come installare Grav CMS su Ubuntu 15.04

  5. Come installare Docker su Ubuntu 18.04?

Come installare Docker su Ubuntu 20.04, 18.04, 21.04

Come installare Bludit CMS su Ubuntu 21.04

Come installare Ghost CMS su Ubuntu 20.04

Come installare Docker su Ubuntu 14.04

Come installare Elefant CMS su Ubuntu 16.04

Come installare Docker su Ubuntu 18.04