Cómo instalar Neos CMS en Debian

Neos es un sistema de gestión de contenidos gratuito y de código abierto con edición intuitiva, internacionalización completa, máxima flexibilidad y facilidad de integración con sistemas de terceros.

Neos es un gestor de contenidos empresarial integrado con modelado de contenidos personalizado que proporciona una forma eficaz de editar y gestionar contenidos, optimización SEO como redireccionamientos automáticos y metadatos SEO, y una potente gestión de roles y usuarios.

En este tutorial, exploraremos cómo instalar la última versión de Neos CMS en un servidor Debian 11. Para este ejemplo, configuraremos Neos CMS con el servidor de base de datos MariaDB, PHP 8.1 y el servidor web Apache2.

Requisitos previos

Para seguir este tutorial, necesitarás un servidor Debian 11 con el usuario no root y los privilegios sudo/administrador, y el cortafuegos UFW activado. Además, necesitarás un nombre de dominio que apunte a la dirección IP de tu servidor Debian, especialmente si vas a instalar Neos CMS para producción.

Instalación del servidor web Apache2

Neos CMS puede ejecutarse en varios servidores web y, para esta demostración, utilizarás el servidor web Apache2.

Antes de empezar a instalar los paquetes, ejecuta el siguiente comando apt para actualizar y refrescar tus repositorios de Debian.

sudo apt update

A continuación, instala el servidor web Apache2 con el siguiente comando apt. Se te pedirá que confirmes la instalación. Pulsa y y ENTER para proceder con la instalación.

sudo apt install apache2

instalar apache2

Una vez finalizada la instalación de Apache2, comprueba y verifica el servicio ‘apache2‘ mediante el comando systemcl que aparece a continuación.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Verás que la salida de ‘apache2’ está activada y se ejecutará automáticamente en el arranque. Y el estado del servicio ‘apache2‘ es en ejecución.

comprobar apache2

Por último, abre los puertos HTTP y HTTPS en el servidor Debian y permite el tráfico hacia él mediante el siguiente comando ufw. El perfil de aplicación ufw«WWW Completo» permitirá el acceso a los puertos HTTP y HTTPS.

sudo ufw allow "WWW Full"
sudo ufw status

Verás la salida del estado actual del cortafuegos UFW está activo y la lista de puertos y perfiles de aplicación habilitados.

configuración ufw

Instalar el servidor de bases de datos MariaDB

El Neos CMS admite dos bases de datos, MariaDB y PostgreSQL. En este ejemplo, ejecutarás el Neos CMS con el servidor de bases de datos MariaDB. En el momento de escribir esto, el Neos CMS actual requería al menos MariaDB 10.2.2.

Ejecuta el siguiente comando apt para instalar MariaDB en tu servidor Debian. La versión por defecto de MariaDB en el repositorio de Debian es MariaDB 10.5, que es compatible con la instalación de Neos CMS.

sudo apt install mariadb-server

Cuando se te pida que confirmes el proceso, introduce y y ENTER para proceder con la instalación.

instalar mariadb

Una vez instalado MariaDB, comprueba el servicio MariaDB y verifica que se está ejecutando mediante el comando systemctl como se indica a continuación.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Verás que el servicio MariaDB está habilitado, lo que significa que se ejecutará automáticamente al arrancar el sistema. Y el estado actual del servicio MariaDB es en ejecución.

comprobar mariadb

Por último, tendrás que asegurar la instalación de tu servidor MariaDB. Para ello, puedes utilizar el script ‘mysql_secure_installation’ que se incluye por defecto en el paquete de MariaDB.

Ejecuta el siguiente comando‘mysql_secure_installation‘.

sudo mysql_secure_installation

Se te guiará paso a paso para asegurar la instalación de tu servidor MariaDB. Este proceso incluye la configuración de la contraseña raíz de MariaDB. Por tanto, asegúrate de utilizar una contraseña segura para la instalación de tu servidor MariaDB.

En los siguientes avisos, se te preguntará sobre la configuración, como eliminar el usuario anónimo por defecto, deshabilitar el inicio de sesión remoto para el usuario root, eliminar la prueba de base de datos por defecto y recargar los privilegios de las tablas. Introduce Y para todas estas preguntas y pulsa ENTER para continuar.

Configurar la base de datos y el usuario MariaDB

Después de haber instalado y asegurado el servidor MariaDB, crearás una nueva base de datos MariaDB y un nuevo usuario para la instalación de Neos CMS. Para ello, debes iniciar sesión en el intérprete de comandos de MariaDB.

Ejecuta el siguiente comando mysql para acceder al shell de MariaDB a través del usuario por defecto root. Cuando se te pida la contraseña, introduce tu contraseña raíz de MariaDB.

sudo mysql -u root -p

Ahora, ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario para Neos CMS. En las siguientes consultas, crearás la base de datos neosdb y el usuario MariaDB neos@localhost.

Asegúrate de sustituir la contraseña del usuario neos@localhost por una contraseña storng.

CREATE DATABASE neosdb;
CREATE USER neos@localhost;
GRANT ALL PRIVILEGES ON neosdb.* TO neos@localhost IDENTIFIED BY 'Password';
FLUSH PRIVILEGES;

crear base de datos

Después, ejecuta la siguiente consulta para verificar los privilegios del usuario neos@localhost.

SHOW GRANTS FOR neos@localhost;

Si tu base de datos y tu usuario están configurados correctamente, verás que el usuario neos@localhost tiene privilegios sobre la base de datos neosdb.

comprobar privilegios de usuario

Por último, introduce la siguiente consulta para salir de la shell MariaDB.

quit

Instalación de paquetes PHP 8.1

Ahora vas a instalar paquetes PHP en tu servidor Debian. La última versión de Neos CMS requiere al menos PHP 7.3, y para este ejemplo, instalarás PHP 8.1 desde un repositorio de terceros.

En la siguiente tabla, puedes ver que la última versión de Neos CMS v8 requiere PHP 8.0 o 8.1.

Neos version    Flow version    compatible PHP version
-------------------------------------------------------
4.3             5.3             7.1 - 7.4*
5.x             6.x             7.2 - 7.4
7.x             7.x             7.3 - 7.4 / 8.0 - 8.1
8.x             8.x             8.0 - 8.1

Antes de instalar PHP, ejecuta el siguiente comando apt para instalar algunos paquetes básicos para gestionar repositorios de terceros. Introduce Y cuando se te pida que confirmes la instalación y pulsa ENTER para continuar.

sudo apt install ca-certificates apt-transport-https software-properties-common wget curl lsb-release

Ahora, ejecuta el siguiente comando para añadir el repositorio de PHP 8.x a tu servidor Debian. Este repositorio proporciona múltiples versiones de paquetes PHP para sistemas Debian.

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Durante el proceso, verás una salida como la siguiente:

añadir repositorio php

A continuación, instala los paquetes PHP 8.1 utilizando el siguiente comando apt. Estos comandos instalarán algunas extensiones de PHP y paquetes adicionales como ImageMagick para el proceso de imágenes que utilizará Neos CMS.

sudo apt install php8.1 php8.1-cli php8.1-common php8.1-imap php8.1-redis php8.1-snmp php8.1-xml php8.1-zip php8.1-imagick php8.1-mbstring php8.1-curl libapache2-mod-php php8.1-mysql imagemagick

Introduce Y cuando se te pida que confirmes la instalación y pulsa ENTER para continuar.

instalar php 8.1

Una vez finalizada la instalación de PHP, abre el archivo‘/etc/php/8.1/apache2/php.ini ‘ con el editor nano.

sudo nano /etc/php/8.1/apache2/php.ini

Cambia la configuración por defecto como se indica a continuación.

date.timezone = Europe/Stockholm

Guarda el archivo y sal del editor cuando hayas terminado.

Por último, ejecuta lo siguiente para reiniciar el servicio Apache2 y aplicar los nuevos cambios a la configuración de PHP.

sudo systemctl restart apache2

Instalación de Composer

Composer es la herramienta de gestión de paquetes PHP. Instalarás Composer en tu servidor Debian, que se utilizará para instalar las dependencias de PHP para Neos CMS.

Ejecuta el siguiente comando para instalar Composer en el sistema Debian. Este comando descargará el script instalador de Composer y luego lo ejecutará. El directorio de instalación de Composer es /usr/bin con el nombre de archivo composer.

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

instalar composer

Ahora, verifica la instalación de Composer utilizando el siguiente comando.

sudo -u www-data composer -v

Verás la salida de la versión de Composer que está instalada en tu sistema Debian.

comprobar compositor

Instalación de la distribución base Neos

En este punto, has terminado la instalación de las dependencias de paquetes para Neos CMS, que incluye el servidor web Apache2, el servidor de bases de datos MariaDB, PHP 8.1 y PHP Composer.

Ahora, descargarás el código fuente de Neos CMS e instalarás las dependencias del paquete PHP mediante el comando Composer.

Ejecuta el siguiente comando git para descargar el código fuente de Neos CMS al directorio /var/www/neos.

git clone https://github.com/neos/neos-base-distribution.git /var/www/neos

A continuación, desplázate al directorio /var/www/neos y ejecuta el comando composer para instalar las dependencias PHP para Neos CMS.

cd /var/www/neos
composer install

Una vez completada la instalación de las dependencias PHP, ejecuta el siguiente comando para cambiar la propiedad y el permiso del directorio /var/www/neos al usuario www-data.

sudo ./flow core:setfilepermissions www-data www-data

Con el código fuente de Neos CMS y las dependencias PHP instaladas, estás listo para pasar a crear una configuración de host virtual Apache2 para tu instalación.

Configuración del host virtual Apache2

Si estás ejecutando el Neos CMS en el entorno de producción, asegúrate de que tu nombre de dominio apunta a la dirección IP de tu servidor Debian. Asegúrate también de que has generado certificados SSL para la instalación de tu dominio.

Antes de crear la configuración del host virtual de Apache, ejecuta el siguiente comando para habilitar los módulos mod_ssl y mod_rewrite de Apache2.

sudo a2enmod ssl rewrite

Ahora, crea un nuevo archivo de configuración de host virtual‘/etc/apache2/sites-available/neos.conf ‘ utilizando el siguiente editor nano.

sudo nano /etc/apache2/sites-available/neos.conf

Cambia el nombre de dominio por tu dominio, y cambia la ruta del certificado SSL por tu ruta. A continuación, pega la configuración en el archivo.

<VirtualHost *:80>
ServerName hwdomain.io
ServerAdmin [email protected]

# Redirect Requests to SSL
Redirect permanent "/" "https://hwdomain.io/"

ErrorLog ${APACHE_LOG_DIR}/hwdomain.io.error.log
CustomLog ${APACHE_LOG_DIR}/hwdomain.io.access.log combined

</VirtualHost>

<IfModule mod_ssl.c>

<VirtualHost _default_:443>

ServerName hwdomain.io
ServerAdmin [email protected]

#SetEnv FLOW_CONTEXT Production
DocumentRoot /var/www/neos/Web

# Add security
php_flag register_globals off

ErrorLog ${APACHE_LOG_DIR}/hwdomain.io.error.log
CustomLog ${APACHE_LOG_DIR}/hwdomain.io.access.log combined

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hwdomain.io/privkey.pem

<Directory /var/www/neos/Web>
AllowOverride All
</Directory>

<Directory /var/www/neos/Web/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>

</VirtualHost>

</IfModule>

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, activa la configuración del host virtual ‘neos.conf’ utilizando el siguiente comando. A continuación, comprueba los archivos de configuración de Apache2.

sudo a2ensite neos.conf
sudo apachectl configtest

Si los archivos de configuración de Apche2 son correctos, verás una salida como«Sintaxis OK«.

Por último, reinicia el servicio‘apache2‘ para aplicar los nuevos cambios mediante el comando systemctl como se indica a continuación.

sudo systemctl restart apache2

Configurar la instalación de Neos CMS

Para iniciar la configuración de la instalación de Neos CMS, abre tu navegador web y visita el nombre de dominio de tu instalación de Neos CMS (es decir: https://hwdomain.io/).

En primer lugar, verás el mensaje de bienvenida de Neos. Haz clic en «Ir a la configuración» para empezar a configurar Neos CMS.

neos setup

Comenzará la inicialización de Neos CMS.

inicialización de neos

Para iniciar la configuración de Neos CMS, se te pedirá la contraseña de configuración.

Vuelve a tu servidor terminal y ejecuta el siguiente comando para mostrar la contraseña de configuración de Neos CMS.

cat /var/www/neos/Data/SetupPassword.txt

contraseña configuración neos

Copia la contraseña de configuración generada y pégala en la página de configuración de Neos. A continuación, haz clic en«Iniciar sesión«.

configuración de inicio de sesión

Ahora se te mostrará la página de comprobación de requisitos de Neos. Asegúrate de que una de las manipulaciones de imagen está instalada. A continuación, haz clic en «Siguiente«.

En este ejemplo, estamos utilizando la manipulación de imágenes ImageMagick, y los paquetes php-imagick e ImageMagick están instalados.

comprobación de requisitos

Para la configuración de la base de datos, introduce el nombre de usuario, la contraseña y el host de la base de datos. A continuación, elige la base de datos para la instalación de Neos CMS. Después, haz clic en«Siguiente» para pasar a la siguiente configuración.

configuración de la base de datos

Ahora haz clic en detalla nuevo usuario admin y contraseña, nombre y apellidos. Después, haz clic en «Siguiente«.

crear usuario administrador

Para la configuración del nuevo sitio Neos, selecciona«Neos.Demo» en el paquete del sitio e introduce el nombre de dominio de tu instalación de Neos CMS en la configuración Nombre del sitio.

Haz clic en«Siguiente» para continuar con la instalación.

configuración del sitio

Una vez finalizada la instalación y configuración de Neos CMS, verás la siguiente página.

éxito de la instalación

Haz clic en el botón «Iral front end» para obtener la página de inicio por defecto de tu instalación de Neos CMS. O puedes hacer clic en «Iral backend» para acceder al panel de administración de Neos CMS.

A continuación se muestra la página de inicio predeterminada de la instalación de Neos CMS con el paquete de sitio«Neos.Demo«.

neos página de inicio

Cuando hagas clic en el botón «Iral backend», serás redirigido a la página de inicio de sesión de Neos CMS. Introduce tu usuario y contraseña para la instalación de Neos CMS y haz clic en «Iniciar sesión«.

neos login

Si el usuario y la contraseña de tu Neos CMS son correctos, verás el panel de administración de tu Neos CMS.

salpicadero neos

Conclusión

En esta guía, has instalado el Neos CMS con el servidor web Apache2, el servidor de base de datos MariaDB y PHP 8.1 en el servidor Debian 11. Además, has aprendido la instalación de PHP Composer para instalar las dependencias de los paquetes PHP. También has creado la configuración del host virtual Apache para Neos CMS con SSL seguro activado.

Neos CMS es la próxima generación de CMS y es flexible para diferentes tipos de uso. Ya puedes empezar a gestionar tus contenidos y publicar tu sitio con Neos CMS en un abrir y cerrar de ojos.

También te podría gustar...