GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Xibo CMS en Ubuntu 20.04

Xibo es una solución de señalización digital de código abierto (señales de exhibición pública) que se compone de un sistema de administración de contenido (CMS) basado en la web. La mejor manera de captar la atención de las personas para sus anuncios muy importantes se puede hacer con letreros digitales usando Xibo. Nos permite convertir las PC y los televisores en una forma distintiva de hacer correr la voz, transformándolos en mostradores de información que puede colocar en ubicaciones estratégicas para llamar la atención de las personas.

Con Xibo, puede configurar su propio servidor de señalización digital que puede enviar imágenes, videos e incluso presentaciones de PowerPoint a los quioscos automáticamente, lo que le permite mantener a toda su organización al día con las últimas noticias sin tener que recurrir a correos electrónicos masivos o tener que editar manualmente archivos o presentaciones de diapositivas en varias máquinas.

Xibo se puede ejecutar a través de Docker o en un servidor web con MySQL/PHP instalado. En este tutorial, aprendemos cómo instalar Xibo CMS con Docker en Ubuntu 20.04 .

Requisitos previos

  • Una instancia de Ubuntu 20.04
  • Un usuario con privilegios de sudo

Paso 1:Instalar Docker

Primero, instalaremos docker-engine y docker-compose.

Instalar paquetes de requisitos previos:

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

Ahora debemos agregar la clave GP del repositorio docker:

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

Ahora agreguemos Docker a las fuentes APT

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

Podemos instalar docker-engine ahora:

$ sudo apt install docker-ce

Para asegurarnos de obtener la versión estable más actualizada de Docker Compose, descargaremos este software de su repositorio oficial de Github.

Primero, confirme la última versión disponible en su página de lanzamientos. En el momento de escribir este artículo, la versión estable más actual es 2.0.1 .

El siguiente comando descargará el 2.0.1 libere y guarde el archivo ejecutable en /usr/local/bin/docker-compose , lo que hará que este software sea accesible globalmente como 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

A continuación, establezca los permisos correctos para que docker-compose el comando es ejecutable:

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

Para verificar que la instalación fue exitosa, puede ejecutar:

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

Ahora necesitamos agregar el usuario no root al grupo docker para que el usuario pueda usar el comando docker sin los privilegios de sudo:

$ sudo usermod -aG docker username

Paso 2:Descargue y extraiga el archivo Docker de Xibo

Primero vamos a crear la carpeta de nuestro Xibo CMS

$ sudo mkdir /opt/xibo

Dar los permisos al usuario

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

Puede descargar la última versión de Descargar Xibo CMS:

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

Al momento de escribir este artículo, estoy usando la versión Xibo 3.0.3.

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

Ya tenemos todo para instalar nuestro Xibo

Paso 3:configurar Xibo Docker-compose

Nuestro contenedor Xibo se ejecutará a través de docker-compose. Entonces los archivos se extraen en /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 usa un archivo de configuración para decirle a Docker cómo está configurado el entorno, como la configuración del correo electrónico, la contraseña de mysql, etc. Está presente un archivo de plantilla con la información necesaria y se llama config.env.template; haremos una copia de este archivo, renombrándolo a config.env

$ cp config.env.template config.env

Ahora editaremos parte de la información como se muestra a continuación

$ vim config.env
MYSQL_PASSWORD=YOUR_DB_PASSWORD
CMS_SERVER_NAME=YOUR_DOMAIN_NAME

Normalmente, Xibo posee una interfaz web predeterminada que se ejecuta en el puerto 80, pero solo cambiaremos esta información al puerto 8080, ya que usaremos Nginx para transmitir la comunicación en los puertos 80 y 443. Para hacerlo, debemos editar el archivo docker-compose. para editar solo el puerto del cms-web servicio

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

Paso 4:Configure Xibo con SSL detrás de Nginx

Ahora, como usaremos nginx para transmitir la comunicación, primero necesitaremos instalarlo

$ sudo apt install nginx

En este artículo, suponemos que ya tienes tu certificado SSL. En nuestro caso, copiaremos el certificado y la clave del nombre de dominio

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

Ahora cree el archivo de configuración de Xibo. Asegúrese de reemplazar el valor de la IP del servidor, el nombre de dominio Xibo, los certificados Xibo y las claves con los buenos relacionados con sus configuraciones.

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

Ahora creó un símbolo del archivo de configuración

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

Como es nuestra primera configuración, elimine la configuración predeterminada en los sitios habilitados para no tener algunos conflictos

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

Ahora inicia el servicio nginx

$ sudo systemctl start nginx

Ahora habilite al inicio

$ sudo systemctl enable nginx

Comprueba tu configuración

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

Ahora reinicie el servicio para tener en cuenta la configuración

$ sudo systemctl restart nginx

Ahora abra los puertos 80 y 443 en el firewall:

$ sudo ufw allow 80,443/tcp

Además, asegúrese de abrir ssh antes de habilitar UFW si aún no lo ha hecho

$ sudo ufw allow 'OpenSSH'

Ahora habilite UFW si aún no

$ sudo ufw enable

Paso 5:Instale el contenedor Xibo

Ahora que nuestro Nginx está configurado, podemos ejecutar nuestro archivo docker-compose

$ cd /opt/xibo

Ejecutaremos el archivo docker-compose en segundo plano. Puede tomar algo de tiempo la primera vez

$ docker-compose up -d

Ahora puede echar un vistazo a los contenedores en ejecución

$ 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

Ahora puede intentar acceder a la página de Xibo con su nombre de dominio http://xibo.domain.com

Las credenciales de inicio de sesión predeterminadas de Xibo son:

username: admin
password: password

Puede cambiar la contraseña yendo a la configuración del perfil.

Si desea detener a Xibo, solo muévase a la carpeta y ejecute el comando

$ docker-compose down

Conclusión

En este tutorial, aprendimos cómo instalar Xibo CMS con Docker en Ubuntu 20.04. Si desea cargar imágenes de gran tamaño, puede hacerlo mediante la configuración del archivo 'Php.ini'. Para más configuraciones y personalización de Xibo CMS, puede considerar leer su documentación oficial para obtener más detalles. Gracias por leer y comuníquese con nosotros si tiene algún problema y deje sus valiosos comentarios.


Ubuntu
  1. Cómo instalar Docker en Ubuntu 18.04

  2. Cómo instalar Docker en Ubuntu 16.04

  3. Cómo instalar Docker en Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  4. Cómo instalar Grav CMS en Ubuntu 15.04

  5. ¿Cómo instalar Docker en Ubuntu 18.04?

Cómo instalar Docker en Ubuntu 20.04, 18.04, 21.04

Cómo instalar Bludit CMS en Ubuntu 21.04

Cómo instalar Ghost CMS en Ubuntu 20.04

Cómo instalar Docker en Ubuntu 14.04

Cómo instalar Elefant CMS en Ubuntu 16.04

Cómo instalar Docker en Ubuntu 18.04