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.

instalar deps

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

comprobar 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

comprobar 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

comprueba php y composer

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;

crear base de datos y usuario

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.

comprobar privilegios de usuario

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.

instala las dependencias de php con composer

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

activar reescritura y módulo 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

configurar apache vhost

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.

configuración de la base de datos

Ahora ejecuta el siguiente comando para configurar el gestor de imágenes por defecto para Neos CMS y selecciona Imagick.

sudo ./flow setup:gestorimagen

configurar gestor de imágenes

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.

migrar 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:

configuración administrativa

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

importar sitio de demostración

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:

página de inicio

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.

login neos cms

Si tienes las credenciales de administrador adecuadas, verás el panel de Neos CMS como el siguiente:

salpicadero

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.

También te podría gustar...