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
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.
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.
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.
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.
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;
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.
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 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.
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
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.
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.
Comenzará la inicialización de Neos CMS.
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
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«.
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.
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.
Ahora haz clic en detalla nuevo usuario admin y contraseña, nombre y apellidos. Después, haz clic en «Siguiente«.
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.
Una vez finalizada la instalación y configuración de Neos CMS, verás la siguiente página.
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«.
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«.
Si el usuario y la contraseña de tu Neos CMS son correctos, verás el panel de administración de tu Neos CMS.
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.