Cómo instalar NEOS CMS en un servidor Ubuntu 24.04
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 esta guía, te guiaremos a través de la instalación de Neos CMS en el servidor Ubuntu 24.04. Instalarás Neos CMS con la pila LAMP, Composer e ImageMagick. Utilizarás la utilidad flow
para instalar y gestionar Neos CMS.
Requisitos previos
Para empezar con esta guía, asegúrate de que tienes
- Un servidor Ubuntu 24.04.
- Un usuario no root con privilegios de administrador.
- Un nombre de dominio apuntando a la dirección IP de tu servidor.
Instalación de dependencias
Antes de instalar Neos CMS, necesitas instalar dependencias como LAMP Stack (Linux, Apache, MySQL/MariaDB y PHP), Composer, Git e ImageMagick. Esos paquetes están disponibles por defecto en el repositorio de Ubuntu, y puedes instalarlos a través de APT.
En primer lugar, actualiza el índice de paquetes de Ubuntu con el siguiente comando:
sudo apt update
Ahora instala las dependencias para Neos CMS con el siguiente comando. A continuación, instalarás los paquetes LAMP Stack (Linux, Apache, MySQL/MariaDB y PHP), Composer, Git e ImageMagick.
sudo apt install apache2 mariadb-server composer git php php-cli php-common php-imap php-redis php-snmp php-xml php-zip php-imagick php-mbstring php-curl libapache2-mod-php php-mysql imagemagick
Introduce Y
para confirmar la instalación.
Tras la instalación, comprueba el estado de los servicios Apache y MariaDB para asegurarte de que se están ejecutando.
Comprueba el servidor web Apache con lo siguiente. Verás que el servicio es enabled
y active(running)
.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Ahora comprueba el estado del servicio MariaDB con lo siguiente – Verás una salida similar. El MariaDB es enabled
y active(running)
.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Por último, comprueba las versiones de PHP y Composer utilizando el siguiente comando. PP 8.3 y Composer 2.7 están instalados en tu sistema Ubuntu.
php -v
sudo -u www-data composer -v
Configurar PHP
Después de instalar las dependencias, configurarás la instalación de PHP editando el archivo php.ini
y reiniciando el servidor web Apache.
Abre el archivo de configuración de PHP /etc/php/8.3/apache2/php.ini
con el siguiente comando del editor nano.
sudo nano /etc/php/8.3/apache2/php.ini
Cambia la configuración por defecto con lo siguiente. Asegúrate de ajustar tanto date.timezone
como memory_limit
con la configuración de tu servidor.
date.timezone = Europe/Amsterdam upload_max_filesize = 80M memory_limit = 512M max_execution_time = 360
Cuando hayas terminado, guarda el archivo y sal del editor.
Ahora ejecuta el siguiente comando para reiniciar el servidor web Apache y aplicar tu configuración PHP.
sudo systemctl restart apache2
Configurar el servidor MariaDB
En esta sección, asegurarás la instalación de tu servidor MariaDB y crearás una nueva base de datos y un nuevo usuario para Neos CMS. Utilizarás el mariadb-secure-installation
para asegurar MariaDB, y luego accederás al servidor MariaDB a través del cliente mariadb
.
Para asegurar la instalación del servidor MariaDB, ejecuta el siguiente comando mariadb-secure-installation
.
sudo mariadb-instalación-segura
Ahora se te pedirá la configuración del servidor MariaDB:
- Para la instalación por defecto del servidor MariaDB sin contraseña de root, pulsa ENTER cuando se te pregunte por la contraseña.
- La autenticación local para los usuarios root de MariaDB es segura por defecto, introduce ‘n’ cuando se te pregunte si quieres cambiar el método de autenticación a ‘unix_socket‘.
- Introduce «Y « para crear una nueva contraseña de root de MariaDB. A continuación, introduce la contraseña segura de tu usuario raíz de MariaDB y repite la operación.
- Cuando se te pida que desactives la autenticación remota para el usuario raíz de MariaDB, introduce «Y « para aceptar.
- La instalación por defecto del servidor MariaDB viene con la base de datos «test» y permite que un usuario anónimo acceda a ella.
- Introduce «Y « en ambas opciones para eliminar la base de datos «test» por defecto y el privilegio anónimo.
- Por último, introduce «Y « para confirmar la recarga de los privilegios de las tablas.
Una vez que hayas asegurado MariaDB, crearás una nueva base de datos y un nuevo usuario a través de la utilidad cliente mariadb
.
Ejecuta el siguiente comando para iniciar sesión en el servidor MariaDB. Introduce tu contraseña de root de MariaDB cuando te lo pida.
sudo mariadb -u root -p
Ahora ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario para Neos CMS. En este ejemplo, crearás una nueva base de datos neosdb
, un usuario neos
con la contraseña neospassword
. Puedes ajustar esa información con la tuya.
CREAR BASE DE DATOS neosdb; CREAR USUARIO neos@localhost IDENTIFICADO POR 'neospassword'; OTORGAR TODOS LOS PRIVILEGIOS SOBRE neosdb.* A neos@localhost IDENTIFICADO POR 'neospassword'; FLUSH PRIVILEGES;
A continuación, ejecuta la siguiente consulta para comprobar los privilegios del usuario neos
. Asegúrate de que el usuario neos
puede acceder a la base de datos neosdb
.
SHOW GRANTS PARA neos@localhost;
Por último, escribe quit
para salir del servidor MariaDB.
Descarga del código fuente de Neos CMS
Ahora que has configurado tanto PHP como MariaDB, descargarás el código fuente de Neos CMS e instalarás las dependencias de PHP con el Compositor. También configurarás la instalación de Neos CMS con los permisos y la propiedad adecuados.
En primer lugar, ejecuta el siguiente comando git
para descargar el código fuente de Neos CMS en el directorio /var/www/neos
.
git clone https://github.com/neos/neos-base-distribution.git /var/www/neos
Desplázate al directorio /var/www/neos
e instala las dependencias de Neos CMS con el siguiente comando composer
.
cd /var/www/neos composer install
Por ahora, introduce yes
para confirmar y ejecuta Composer como root.
Una vez finalizado el proceso, ejecuta el siguiente comando para cambiar el permiso del código fuente de Neos CMS al usuario www-data
.
sudo ./flow core:setfilepermissions www-data www-data sudo chown -R www-data:www-data /var/www/neos
Configurar el host virtual de Apache
En esta sección, crearás un nuevo host virtual Apache para ejecutar Neos CMS. Así que asegúrate de que tienes tu nombre de dominio apuntando a la dirección IP del servidor. Puedes utilizar el dominio público o el dominio local para el desarrollo.
Habilita los módulos rewrite
y ssl
para Apache con el siguiente comando.
sudo a2enmod rewrite ssl
Ahora crea un nuevo archivo de host virtual de Apache /etc/apache2/sites-available/neos.conf
con el siguiente editor nano.
sudo nano /etc/apache2/sitios-disponibles/neos.conf
Introduce la configuración en el archivo e introduce tu nombre de dominio en la opción ServerName
.
<VirtualHost *:80> ServerName hwdomain.io ServerAdmin [email protected] ErrorLog ${APACHE_LOG_DIR}/hwdomain.io.error.log CustomLog ${APACHE_LOG_DIR}/hwdomain.io.access.log combined #SetEnv FLOW_CONTEXT Production DocumentRoot /var/www/neos/Web # Add security php_flag register_globals off <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>
Cuando hayas terminado, guarda y sal del archivo.
A continuación, ejecuta el siguiente comando para activar el archivo de host virtual neos.conf
y verificar tu sintaxis de Apache. Si tu sintaxis de Apache es correcta y adecuada, obtendrás una salida Syntax is OK
.
sudo a2ensite neos.conf
sudo apachectl configtest
Por último, ejecuta lo siguiente para reiniciar el servidor web Apache y aplicar tus cambios. Una vez reiniciado, tu Neos CMS debería estar listo.
sudo systemctl restart apache2
Proteger Neos CMS con HTTPS
En esta guía, ejecutarás Neos CMS con HTTPS a través de Certbot y Letsencrypt. Esto sólo es posible si estás instalando Neos CMS en el dominio público. Si utilizas un dominio local, puedes generar certificados SSL con OpenSSL y configurar HTTPS manualmente.
Instala el plugin Certbot y Certbot Apache con el siguiente comando. Escribe Y
para confirmar la instalación.
sudo apt install certbot python3-certbot-apache2
Ahora ejecuta el siguiente comando certbot
para generar certificados SSL/TLS para Neos CMS. Asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio con tu información.
sudo certbot –apache –agree-tos –redirect –hsts –staple-ocsp –email [email protected] -d hwdomain.io
Una vez finalizado el proceso, tus certificados SSL estarán disponibles en el directorio /etc/letsencrypt/live/domain.com
. Y tu Neos CMS debería estar protegido automáticamente con HTTPS.
Instalar NEOS CMS desde la línea de comandos
Ahora que has descargado el código fuente de Neos CMS y configurado el host virtual Apache, iniciarás la instalación de Neos CMS a través del terminal. Con la utilidad flow
, puedes gestionar e instalar Neos CMS desde tu terminal.
Ve al directorio /var/www/neos
con lo siguiente:
cd /var/www/neos
Ejecuta el siguiente comando para configurar una base de datos para Neos CMS. Selecciona mysqli
como controlador de la base de datos e introduce tus datos de la base de datos MariaDB y el usuario que has creado.
sudo ./flow setup:base de datos
Si todo va bien, verás una salida como Database neosdb was connected successfully
.
Ahora ejecuta el siguiente comando para configurar el gestor de imágenes por defecto para Neos CMS y selecciona Imagick.
sudo ./flow setup:gestorimagen
Después de configurar la base de datos y el gestor de imágenes, ejecuta el siguiente comando para migrar la base de datos de Neos CMS.
sudo ./flow doctrina:migrar
Puedes ver la siguiente salida durante la migración de la base de datos.
A continuación, ejecuta lo siguiente para crear un usuario administrador para tu instalación de Neos CMS. Introduce tu nombre de usuario, dirección de correo electrónico, nombre, apellidos y contraseña.
sudo ./flow usuario:crear –roles administrador
Obtendrás una salida como la siguiente:
Ahora ejecuta el siguiente comando para importar el sitio Neos.Demo
a tu instalación. si tiene éxito, obtendrás una salida Import of site "Neos Demo site" finished
.
sudo flow:cache:flush
sudo ./flow site:import –package-key Neos.Demo
Con esto, el CMS Neos está completo. Visita tu nombre de dominio como https://hwdomain.io y obtendrás la página de inicio de Neos CMS como la siguiente:
Para acceder a la página de inicio de Neos CMS, visita https://hwdomain.io/login e introduce tu usuario y contraseña de administrador que has creado. Haz clic en Iniciar sesión para confirmar.
Si tienes las credenciales de administrador adecuadas, verás el panel de Neos CMS como el siguiente:
Conclusión
¡Enhorabuena! Has completado la instalación de Neos CMS en un servidor Ubuntu 24.04. Tienes Neos CMS funcionando con la pila LAMP (Linux, Apache, MySQL/MariaDB y PHP) y asegurado con HTTPS a través de Let’s Encrypt. También has aprendido el comando básico flow
para instalar y gestionar Neos CMS.