Cómo instalar Roadiz CMS basado en Node con Nginx en Debian

Roadiz es un sistema de gestión de contenidos gratuito y de código abierto basado en un sistema de nodos. Roadiz te permite crear tu propio esquema de datos desde cero y organizar tu contenido como necesites. Roadiz está especialmente diseñado para que diseñadores y desarrolladores construyan juntos experiencias sólidas. Roadiz utiliza una interfaz centralizada de gestión de documentos que puedes utilizar para almacenar todas tus imágenes, vídeos y PDF. Roadiz te permite cambiar varios temas para una base de contenido.

En este tutorial, aprenderemos a instalar Roadiz en un servidor Debian 11.

Requisitos

  • Un servidor que ejecute Debian 11.
  • Una contraseña de root configurada en tu servidor.

Instalar Nginx, PHP, MariaDB

En primer lugar, debes instalar el servidor web Nginx, el servidor de bases de datos MariaDB, PHP y otras extensiones PHP necesarias en tu servidor. Puedes instalarlos todos con el siguiente comando:

apt-get install -y nginx mariadb-server php php-cli php-fpm php-common php-mysql php-mbstring php-gd php-intl php-xml php-curl php-zip php-pgsql php-sqlite3 php-opcache php-apcu curl unzip wget -y

Una vez instalados todos los paquetes necesarios, abre el archivo php.ini y realiza los cambios necesarios:

nano /etc/php/7.4/fpm/php.ini

Cambia las siguientes líneas:

memory_limit = 128M 
post_max_size = 16M 
upload_max_filesize = 16M 
date.timezone = Asia/Kolkata

Guarda y cierra el archivo. A continuación, inicia el servicio Nginx y MariaDB y habilítalos para que se inicien después de reiniciar con el siguiente comando:

systemctl start nginx
systemctl enable nginx
systemctl start mariadb
systemctl enable mariadb

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar la base de datos para Roadiz

A continuación, tendrás que crear una base de datos, un usuario de base de datos y una contraseña para Roadiz.

Para ello, accede al shell de MariaDB con el siguiente comando:

mysql -u roo -p

Introduce tu contraseña de root y, a continuación, crea una base de datos y un usuario para Roadiz con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE roadizdb;
MariaDB [(none)]> GRANT ALL ON roadizdb.* TO 'roadiz' IDENTIFIED BY 'password';

A continuación, vacía los privilegios y sal del intérprete de comandos MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez creada la base de datos, puedes pasar al siguiente paso.

Instalar Roadiz

En primer lugar, tendrás que descargar la última versión de Roadiz desde el repositorio Git al directorio raíz del documento Nginx. Puedes descargarla con el siguiente comando:

cd /var/www/html/
git clone https://github.com/roadiz/roadiz.git

Una vez finalizada la descarga, cambia el directorio a roadiz y abre el archivo config.mysql.travis.yml:

cd roadiz
nano conf/config.mysql.travis.yml

Realiza los siguientes cambios según tu base de datos:

    driver: "pdo_mysql"
    host: "localhost"
    user: "roadiz"
    password: "password"
    dbname: "roadizdb"

Guarda y cierra el archivo cuando hayas terminado.

A continuación, abre el archivo index.php y define tu dirección IP en la sección IP permitida:

nano install.php

Añade tu dirección IP como se muestra a continuación:

$allowedIp = [
    '10.0.2.2',     // vagrant host (forwarded)
    '192.168.33.1', // vagrant host (private)
    '127.0.0.1', 'fe80::1', '::1', ':ffff:127.0.0.1', '::ffff:127.0.0.1', 'YOUR-IP-ADDRESS'
];

Guarda y cierra el archivo. A continuación, tendrás que instalar Composer para instalar las dependencias PHP necesarias. Puedes instalarlo con el siguiente comando:

curl -sS https://getcomposer.org/installer -o composer-setup.php php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Deberías ver la siguiente salida:

All settings correct for using Composer
Downloading...

Composer (version 1.8.6) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

A continuación, instala todas las dependencias PHP necesarias con el siguiente comando:

composer install

A continuación, da los permisos adecuados al directorio roadiz:

chown -R www-data:www-data /var/www/html/roadiz
chmod -R 755 /var/www/html/roadiz

Configurar Nginx para Roadiz

A continuación, crea un archivo de host virtual Nginx para Roadiz. Puedes hacerlo creando el archivo roadiz.conf en el directorio /etc/nginx/sites-available/.

nano /etc/nginx/sites-available/roadiz.conf

Añade las siguientes líneas:

server {
    listen 80;
    listen [::]:80;

    server_name example.com;             
    root /var/www/html/roadiz/;             

    index index.php;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ ^/(dev|install|preview|clear_cache)\.php(/|$) {
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
    }

    location ~ ^/index\.php(/|$) {
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        internal;
     }
}

Guarda y cierra el archivo. A continuación, habilita el archivo host virtual con el siguiente comando:

ln -s /etc/nginx/sites-available/roadiz.conf /etc/nginx/sites-enabled/

A continuación, comprueba si Nginx tiene algún error de sintaxis con el siguiente comando:

nginx -t

Por último, reinicia Nginx y el servicio PHP-FPM para aplicar todos los cambios de configuración:

systemctl restart nginx
systemctl restart php7.4-fpm

Accede al panel de control de Roadiz

Ahora, abre tu navegador web y escribe la URL http://example.com/install.php. Serás redirigido a la siguiente página:

Instalación Roadiz

Selecciona tu idioma y haz clic en Requisitos. Deberías ver la siguiente página:

Requisitos

Asegúrate de que están instaladas todas las extensiones necesarias. A continuación, haz clic en el botón Base de datos. Deberías ver la siguiente página:

Configuración de la base de datos

A continuación, proporciona los detalles de tu base de datos y haz clic en el botón Crear base de datos. Deberías ver la página siguiente:

Base de datos instalada

A continuación, haz clic en el botón Tema. Verás la página siguiente:

Información del sitio

A continuación, proporciona el nombre de tu sitio, la dirección de correo electrónico y haz clic en el botón Guardar información. Deberías ver la siguiente página:

Configuración del tema

A continuación, haz clic en el botón Realizar la instalación del tema. Deberías ver la siguiente página:

Importar contenido del Tema

A continuación, haz clic en el botón Usuario para crear un usuario administrador. Aparecerá la siguiente página:

Crear usuario administrador

A continuación, proporciona los datos de tu usuario administrador y haz clic en el botón Crear usuario. Aparecerá la siguiente página:

usuario creado

A continuación, haz clic en el botón Hecho. Aparecerá la siguiente página:

Roadiz instalado correctamente

Ahora, haz clic en el botón Salir de la instalación. Deberías ver la siguiente página:

Éxito

Ahora, elimina el archivo install.php del directorio raíz del documento Roadiz con el siguiente comando:

rm -rf /var/www/html/roadiz/install.php

A continuación, abre tu navegador web y accede a tu interfaz de administración con la URL http://example.com/rz-admin. Serás redirigido a la página de inicio de sesión de Roadiz:

Iniciar sesión en Roadiz

Proporciona tus datos de acceso y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Roadiz en la página siguiente:

Panel Roadiz

Enhorabuena! has instalado correctamente Roadiz en el servidor Debian 10. No dudes en preguntarme si tienes alguna duda.

Scroll al inicio