Instalación CMS · 10 min read · Nov 22, 2025
Cómo instalar Neos CMS en Ubuntu 22.04

Neos CMS es un sistema de gestión de contenido gratuito, de código abierto e innovador que te ayuda a gestionar sitios web y blogs sin necesidad de conocimientos de programación. Es simple, seguro y está diseñado para facilitar su uso, lo que ayuda a los propietarios de negocios a colaborar con los usuarios a través de múltiples dispositivos. Ofrece características muy útiles, incluyendo soporte completo de Unicode, internacionalización completa, SEO, edición en línea y más. La idea principal detrás del proyecto es permitir a los editores editar contenido de la manera más fluida posible, mientras se mantiene su estructura.
En este tutorial, te mostraremos cómo instalar Neos CMS con Apache y Let’s Encrypt SSL en un servidor Ubuntu 22.04.
Requisitos previos
- Un servidor que ejecute Ubuntu 22.04.
- Un nombre de dominio válido apuntando a la IP de tu servidor.
- Una contraseña de root configurada en el servidor.
Comenzando
Primero, ejecuta los siguientes comandos para actualizar todos los paquetes de tu sistema a las versiones actualizadas:
apt update -y
apt upgrade -yUna vez que hayas terminado, puedes proceder al siguiente paso.
Instalar Apache, MariaDB y PHP
A continuación, necesitarás instalar Apache, MariaDB, PHP y otros paquetes requeridos en tu sistema. Ejecuta el siguiente comando para instalar todos ellos:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-bcmath php-xml php-cli php-gmagick php-zip curl unzip git -yDespués de instalar todos los paquetes, edita el archivo php.ini y realiza algunos cambios:
nano /etc/php/8.1/apache2/php.iniCambia las siguientes líneas:
short_open_tag = On
memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = UTC
Guarda y cierra el archivo, luego reinicia el servicio de Apache para aplicar los cambios:
systemctl restart apache2Crear una base de datos para Neos CMS
Primero, necesitarás establecer una contraseña de root para MariaDB y asegurar la instalación. Puedes hacerlo utilizando el siguiente comando:
mysql_secure_installationResponde a todas las preguntas como se muestra a continuación:
Enter current password for root (enter for none):
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Una vez que hayas terminado, inicia sesión en MariaDB con el siguiente comando:
mysql -u root -pUna vez que hayas iniciado sesión, crea una base de datos y un usuario para Neos CMS utilizando el siguiente comando:
MariaDB [(none)]> CREATE DATABASE neosdb;
MariaDB [(none)]> CREATE USER 'neos'@'localhost' IDENTIFIED BY 'mypassword';A continuación, concede todos los privilegios a la base de datos Neos con el siguiente comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neosdb.* TO 'neos'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;A continuación, cambia el conjunto de caracteres de la base de datos a utf8mb4, vacía los privilegios y sal de MariaDB con el siguiente comando:
MariaDB [(none)]> ALTER DATABASE neosdb charset=utf8mb4;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;A continuación, edita el archivo de configuración de MariaDB y realiza algunos cambios:
nano /etc/mysql/mariadb.conf.d/50-server.cnfAgrega las siguientes líneas:
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_file_per_table = 1
innodb_default_row_format = dynamic
Guarda y cierra el archivo, luego reinicia el servicio de MariaDB para aplicar los cambios:
systemctl restart mariadbUna vez que hayas terminado, puedes proceder al siguiente paso.
Instalar Neos CMS
Antes de comenzar, necesitarás instalar Composer en tu sistema. Composer es un gestor de dependencias utilizado para instalar dependencias de PHP.
Ejecuta el siguiente comando para instalar Composer:
curl -sS https://getcomposer.org/installer | phpDeberías obtener la siguiente salida:
All settings correct for using Composer
Downloading...
Composer (version 2.4.1) successfully installed to: /root/composer.phar
Use it: php composer.phar
A continuación, mueve el archivo Composer a la ubicación del sistema:
mv composer.phar /usr/local/bin/composerA continuación, cambia el directorio a la raíz web de Apache y descarga Neos CMS con el siguiente comando:
cd /var/www/html/
git clone https://github.com/neos/neos-base-distribution.gitA continuación, renombra el directorio descargado y ejecuta el comando de composer para instalar todas las dependencias de PHP:
mv neos-base-distribution neoscms
cd neoscms
composer installA continuación, establece los permisos y la propiedad adecuados para el directorio Neos:
chown -R www-data:www-data /var/www/html/neoscms/
chmod -R 755 /var/www/html/neoscms/Una vez que hayas terminado, puedes proceder al siguiente paso.
Configurar Apache para Neos CMS
A continuación, necesitarás crear un archivo de configuración de host virtual de Apache para alojar Neos CMS. Puedes crearlo con el siguiente comando:
nano /etc/apache2/sites-available/neoscms.confAgrega las siguientes líneas:
ServerAdmin [email protected]
DocumentRoot /var/www/html/neoscms/Web
ServerName neos.example.com
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/neos_error.log
CustomLog ${APACHE_LOG_DIR}/neos_access.log combined
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
Guarda y cierra el archivo, luego activa el host virtual y habilita el módulo de reescritura de Apache con el siguiente comando:
a2ensite neoscms.conf
a2enmod rewriteA continuación, reinicia el servicio de Apache para aplicar los cambios:
systemctl restart apache2También puedes verificar el estado del servicio de Apache con el siguiente comando:
systemctl status apache2Deberías obtener la siguiente salida:
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-09-04 08:07:38 UTC; 8s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 22571 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 22577 (apache2)
Tasks: 6 (limit: 4579)
Memory: 14.7M
CPU: 128ms
CGroup: /system.slice/apache2.service
??22577 /usr/sbin/apache2 -k start
??22578 /usr/sbin/apache2 -k start
??22579 /usr/sbin/apache2 -k start
??22580 /usr/sbin/apache2 -k start
??22581 /usr/sbin/apache2 -k start
??22582 /usr/sbin/apache2 -k start
Sep 04 08:07:38 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...
En este punto, el servidor web Apache está configurado para servir Neos CMS. Ahora puedes proceder al siguiente paso.
Acceder a Neos CMS
Ahora, abre tu navegador web y accede a Neos CMS utilizando la URL http://neos.example.com. Serás redirigido a la siguiente página:

Haz clic en Ir a la configuración. Deberías ver la siguiente página:

Proporciona la contraseña de configuración del archivo SetupPassword.txt y haz clic en el botón Iniciar sesión. Deberías ver la siguiente página:

Asegúrate de que todas las extensiones de PHP requeridas estén instaladas, luego haz clic en el botón Siguiente. Deberías ver la siguiente página:

Proporciona el nombre de tu base de datos, nombre de usuario de la base de datos, host de la base de datos, contraseña y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Proporciona tu nombre, nombre de usuario de administrador, contraseña y haz clic en el botón Siguiente. Deberías ver la siguiente página:


Haz clic en Ir al backend. Deberías ver la página de inicio de sesión de Neos CMS:

Proporciona tu nombre de usuario de administrador, contraseña y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Neos CMS en la siguiente página:

Asegurar Neos CMS con Let’s Encrypt
Es una buena idea asegurar tu sitio web con Let’s Encrypt Free SSL. Primero, instala el cliente Certbot para instalar y gestionar el SSL. Puedes instalarlo con el siguiente comando:
apt-get install python3-certbot-apache -yUna vez instalado, ejecuta el siguiente comando para asegurar tu sitio web con Let’s Encrypt SSL:
certbot --apache -d neos.example.comSe te pedirá que proporciones tu correo electrónico y aceptes los términos del servicio como se muestra a continuación:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for neos.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/neos-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/neos-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/neos-le-ssl.conf
A continuación, selecciona si deseas o no redirigir el tráfico HTTP a HTTPS como se muestra a continuación:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Escribe 2 y presiona Enter para instalar el SSL de Let’s Encrypt para tu sitio web:
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/neos.conf to ssl vhost in /etc/apache2/sites-available/neos-le-ssl.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://neos.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=neos.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/neos.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/neos.example.com/privkey.pem
Your cert will expire on 2022-12-07. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all*
of your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Conclusión
¡Felicidades! has instalado con éxito Neos CMS con Apache y Let’s Encrypt SSL en el servidor Ubuntu 22.04. Ahora puedes crear y editar fácilmente tu sitio web a través del navegador web. No dudes en preguntarme si tienes alguna pregunta.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.