GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Xibo CMS sur Ubuntu 20.04

Xibo est une solution d'affichage numérique open source (panneaux d'affichage public) qui comprend un système de gestion de contenu (CMS) basé sur le Web. La meilleure façon de capter l'attention des gens pour vos annonces très importantes peut être faite avec des panneaux numériques utilisant Xibo. Cela nous permet de transformer les PC et les téléviseurs en un moyen distinctif de faire passer le mot, en les transformant en bureaux d'information que vous pouvez placer à des endroits stratégiques pour attirer l'attention des gens.

À l'aide de Xibo, vous pouvez configurer votre propre serveur d'affichage numérique capable de diffuser automatiquement des images, des vidéos et même des présentations PowerPoint vers des kiosques, ce qui vous permet de tenir l'ensemble de votre organisation au courant de vos dernières actualités sans avoir recours à des e-mails en masse ou avoir à éditer manuellement des fichiers ou des diaporamas sur plusieurs machines.

Xibo peut être exécuté via Docker ou sur un serveur Web avec MySQL/PHP installé. Dans ce tutoriel, nous apprenons à installer Xibo CMS avec Docker sur Ubuntu 20.04 .

Prérequis

  • Une instance Ubuntu 20.04
  • Un utilisateur avec le privilège sudo

Étape 1 :Installer Docker

Tout d'abord, nous allons installer docker-engine et docker-compose.

Installez les packages prérequis :

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common

Nous devons maintenant ajouter la clé GP du référentiel docker :

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Ajoutons maintenant Docker aux sources APT

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Nous pouvons installer docker-engine maintenant :

$ sudo apt install docker-ce

Pour nous assurer d'obtenir la version stable la plus récente de Docker Compose, nous téléchargerons ce logiciel à partir de son référentiel Github officiel.

Tout d'abord, confirmez la dernière version disponible sur leur page de versions. Au moment d'écrire ces lignes, la version stable la plus récente est 2.0.1 .

La commande suivante téléchargera le 2.0.1 relâchez et enregistrez le fichier exécutable dans /usr/local/bin/docker-compose , ce qui rendra ce logiciel globalement accessible en tant que 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

Ensuite, définissez les autorisations correctes afin que le docker-compose la commande est exécutable :

$ sudo chmod +x /usr/local/bin/docker-compose

Pour vérifier que l'installation a réussi, vous pouvez exécuter :

$ docker-compose --version
Docker Compose version v2.0.1

Nous devons maintenant ajouter l'utilisateur non root au groupe docker afin que l'utilisateur puisse utiliser la commande docker sans les privilèges sudo :

$ sudo usermod -aG docker username

Étape 2 :Téléchargez et extrayez le fichier Xibo Docker

Commençons par créer le dossier de notre CMS Xibo

$ sudo mkdir /opt/xibo

Donnez les permissions à l'utilisateur

$ sudo chown -R username:username /opt/xibo
$ cd /opt/xibo

Vous pouvez télécharger la dernière version de Download Xibo CMS :

$ wget -O xibo-docker.tar.gz https://xibo.org.uk/api/downloads/cms

Au moment d'écrire cet article, j'utilise la version Xibo 3.0.3.

$ tar --strip-components=1 -zxvf xibo-docker.tar.gz

Nous avons maintenant tout pour installer notre Xibo

Étape 3 :Configurer Xibo Docker-composer

Notre conteneur Xibo passera par docker-compose. Les fichiers sont donc extraits dans /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 utilise un fichier de configuration pour indiquer à docker comment l'environnement est configuré, comme la configuration de la messagerie, le mot de passe mysql, etc. Un fichier modèle contenant les informations nécessaires est présent et s'appelle config.env.template ; nous allons faire une copie de ce fichier, en le renommant config.env

$ cp config.env.template config.env

Nous allons maintenant modifier certaines informations comme ci-dessous

$ vim config.env
MYSQL_PASSWORD=YOUR_DB_PASSWORD
CMS_SERVER_NAME=YOUR_DOMAIN_NAME

Normalement, Xibo possède une interface Web par défaut fonctionnant sur le port 80, mais nous ne modifierons ces informations que sur le port 8080 car nous utiliserons Nginx pour proxy la communication sur les ports 80 et 443. Pour ce faire, nous devons modifier le fichier docker-compose pour modifier uniquement le port du cms-web services

$ 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"

Étape 4 :Configurer Xibo avec SSL derrière Nginx

Maintenant que nous allons utiliser nginx pour proxy la communication, nous devrons d'abord l'installer

$ sudo apt install nginx

Dans cet article, nous supposons que vous possédez déjà votre certificat SSL. Dans notre cas, nous allons copier le certificat et la clé du nom de domaine

$ sudo cp xibo.domain.crt /etc/nginx/certs/xibo.domain.crt
$ sudo cp xibo.domain.key /etc/nginx/certs/xibo.domain.key

Créez maintenant le fichier de configuration de Xibo. Assurez-vous de remplacer la valeur de l'adresse IP du serveur, le nom de domaine Xibo, les certificats Xibo et les clés par les bons liés à vos configurations.

$ 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;
        }
}

Maintenant créé une symbolique du fichier de configuration

$ sudo ln -s /etc/nginx/sites-available/xibo_cms.conf /etc/nginx/sites-enabled/xibo_cms.conf

Comme il s'agit de notre première configuration, supprimez la configuration par défaut sur les sites activés pour ne pas avoir de conflits

$ sudo rm /etc/nginx/sites-enabled/default

Démarrez maintenant le service nginx

$ sudo systemctl start nginx

Activer maintenant au démarrage

$ sudo systemctl enable nginx

Vérifiez votre configuration

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Redémarrez maintenant le service pour prendre en compte la configuration

$ sudo systemctl restart nginx

Ouvrez maintenant les ports 80 et 443 sur le pare-feu :

$ sudo ufw allow 80,443/tcp

Assurez-vous également d'ouvrir ssh avant d'activer UFW si ce n'est pas encore fait

$ sudo ufw allow 'OpenSSH'

Activez maintenant UFW si ce n'est pas encore fait

$ sudo ufw enable

Étape 5 :Installer le conteneur Xibo

Maintenant que notre Nginx est configuré, nous pouvons lancer notre fichier docker-compose

$ cd /opt/xibo

Nous allons exécuter le fichier docker-compose en arrière-plan. Cela peut prendre un certain temps la première fois

$ docker-compose up -d

Vous pouvez maintenant jeter un œil aux conteneurs en cours d'exécution

$ 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

Vous pouvez maintenant essayer d'accéder à la page Xibo par votre nom de domaine http://xibo.domain.com

Les identifiants de connexion Xibo par défaut sont :

username: admin
password: password

Vous pouvez modifier le mot de passe en accédant aux paramètres du profil.

Si vous voulez arrêter Xibo, déplacez-vous simplement dans le dossier et exécutez la commande

$ docker-compose down

Conclusion

Dans ce tutoriel, nous avons appris à installer Xibo CMS avec Docker sur Ubuntu 20.04. Si vous souhaitez télécharger des images de grande taille, vous pouvez le faire en configurant le fichier 'Php.ini'. Pour plus de paramètres et de personnalisation de Xibo CMS, vous pouvez envisager de lire sa documentation officielle pour plus de détails. Merci d'avoir lu, et revenez vers nous si vous rencontrez des problèmes et laissez vos précieux commentaires.


Ubuntu
  1. Comment installer Docker sur Ubuntu 18.04

  2. Comment installer Docker sur Ubuntu 16.04

  3. Comment installer Docker sur Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  4. Comment installer Grav CMS sur Ubuntu 15.04

  5. Comment installer Docker sur Ubuntu 18.04 ?

Comment installer Docker sur Ubuntu 20.04, 18.04, 21.04

Comment installer Bludit CMS sur Ubuntu 21.04

Comment installer Ghost CMS sur Ubuntu 20.04

Comment installer Docker sur Ubuntu 14.04

Comment installer Elefant CMS sur Ubuntu 16.04

Comment installer Docker sur Ubuntu 18.04