XIBO, ¿Qué es un CMS?
Hace poco construí un servidor XIBO, que esta por demás decir es un CMS y el cual es un Content Management System que en español significa Sistema de Gestion de Contenidos. Este producto Open Source bajo licenciamiento AGPLv3, hoy en día se puede usar en el Cloud o OnPremise.
El concepto de CMS representa, en la mayoría de los casos, software libres, creados y difundidos por programadores de todo el mundo, en el que una persona puede crear su sitio web, blog y otras opciones, con extrema facilidad.
características principales
Puede que no lo parezca, pero producir y publicar un contenido simple o una página en un sitio web involucra muchos elementos que deben tener soporte de un CMS.Esto queda muy claro cuando miramos algunas de las principales características de este tipo de sistema:
- creación y publicación de páginas;
- edición de textos y códigos de sitios web;
- moderación de comentarios;
- control de inventario y sistema de ventas (si es ecommerce);
- instalación de plugins y extensiones para aumentar las funciones del sitio;
- biblioteca de medios, para cargar imágenes y videos que se utilizarán en el sitio web.
De echo WordPress. Es el CMS más utilizado en el mundo y tiene soluciones para todo tipo de proyectos.
Para la instalación de este CMS utilice un server con Ubuntu 20.04 (¿Qué hay otro?) ya que la instalación en Windows esta muy raquítica, valga la expresión, ya que no quise decir «chafa» (termino de La Laguna Comarcana que quiere decir simple, barata, endeble, no original y un largo etc.)
Los Prerrequisitos:
Ubuntu
MariaDB
PHP 7.4
Apache o Nginx
sudo apt install mariadb-server mariadb-client sudo apt install apache2 sudo apt install php php-cli php-gd php-json php-dom php-mysql php-zip php-soap php-curl php-xml php-mbstring php-zmq sudo apt install libapache2-mod-xsendfile
Instalar XIBO
sudo mkdir /srv/xibo-cms cd /srv/xibo-cms sudo wget https://github.com/xibosignage/xibo-cms/releases/download/3.0.2/xibo-cms-3.0.2.tar.gz sudo tar -xvzf xibo-cms-3.0.2.tar.gz --strip-components=1 sudo chown -R www-data:www-data /srv/xibo-cms sudo rm -r /var/www sudo ln -s /srv/xibo-cms /var/www
Configurar apache
sudo a2enmod rewrite sudo a2enmod ssl sudo a2enmod session sudo vi /etc/apache2/sites-available/xibo-cms.conf
Contenido del archivo xibo-cms.conf
<VirtualHost *:80> DocumentRoot "/var/www/web" ServerName xibo.domain.com XSendFile on XSendFilePath /var/www/Library <Directory "/var/www/web"> AllowOverride All Options Indexes FollowSymLinks MultiViews Order allow,deny Allow from all Require all granted </Directory> </VirtualHost> <VirtualHost *:443> DocumentRoot "/var/www/web" ServerName xibo.domain.com XSendFile on XSendFilePath /var/www/Library SSLEngine on SSLCertificateFile "/etc/ssl/certs/ssl-cert-snakeoil.pem" SSLCertificateKeyFile "/etc/ssl/private/ssl-cert-snakeoil.key" <Directory "/var/www/web"> AllowOverride All Options Indexes FollowSymLinks MultiViews Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>
Activar la configuración por default y activar la nueva configuración
sudo a2dissite 000-default.conf sudo a2ensite xibo-cms.conf
Configurar MariaDB
sudo mysql ALTER USER 'root'@'localhost' IDENTIFIED BY 'MI_NUEVA_CONTRASEÑA'; FLUSH PRIVILEGES; exit;
Configurar PHP
sudo vi /etc/php/7.4/apache2/php.ini
modificar los siguientes parametros
max_execution_time = 300 memory_limit = 256M post_max_size = 2G upload_max_filesize = 2G session.cookie_secure = Off session.cookie_httponly = On session.cookie_samesite = Lax
Configurar el XMR
sudo vi /srv/xibo-cms/vendor/xibosignage/xibo-xmr/bin/config.json
Colocar esta información en el archivo, hay que sustituir la IP 192.168.1.1 por la IP de servidor
{ "listenOn": "tcp://127.0.0.1:50001", "pubOn": ["tcp://192.168.1.1:9505"], "debug": false }
Establecemos los permisos para www-data
sudo chown www-data:www-data /srv/xibo-cms/vendor/xibosignage/xibo-xmr/bin/config.json
Creamos el servicio XMR
sudo vi /etc/systemd/system/xibo-xmr.service
Pegamos las siguientes instrucciones
[Unit] Description=Xibo XMR After=network.target [Service] User=www-data Group=www-data ExecStart=/usr/bin/php /srv/xibo-cms/vendor/bin/xmr.phar Restart=always KillMode=process RestartSec=1 [Install] WantedBy=multi-user.target
Iniciamos el servicio
sudo systemctl daemon-reload sudo systemctl enable xibo-xmr.service sudo systemctl start xibo-xmr.service sudo systemctl status xibo-xmr.service
Configurar XTR en el CRON
sudo crontab -u www-data -e
Selecciona el editor que prefieras y escribes la siguiente instrucción
* * * * * /usr/bin/php /var/www/bin/xtr.php
Les dejo algunas imágenes de la instalación, faltarían por cubrir dos puntos importantes Certificado SSL y Firewall