Instalación CMS · 9 min read · Sep 12, 2025
Cómo instalar OctoberCMS en Debian 12
October CMS es una aplicación web escrita en el marco de trabajo web Laravel. Soporta una variedad de bases de datos, como MySQL/MariaDB, PostgreSQL y SQLite. Se puede ejecutar bajo Apache, Nginx, Lighthttpd y Microsoft IIS.
Esta guía te llevará a través del proceso de instalación de October CMS en Debian 12 con el LEMP Stack (Nginx, MySQL/MariaDB y PHP-FPM), UFW y Certbot.
Prerrequisitos
Para continuar con esta guía, reúne lo siguiente:
- Un servidor Debian 12.
- Un usuario no root con privilegios de administrador.
- Un nombre de dominio apuntado a la dirección IP del servidor.
Instalando Dependencias
En este ejemplo, instalarás October CMS en el servidor Debian con el LEMP Stack (Nginx, MySQL/MariaDB y PHP-FPM). Así que, la primera tarea que harás es instalar el LAMP Stack con dependencias adicionales como UFW (Firewall poco complicado) y Certbot.
Comienza esta guía actualizando tu repositorio Debian usando el siguiente comando.
sudo apt updateLuego, instala el LAMP Stack, UFW y los paquetes de Certbot usando el siguiente comando.
sudo apt install nginx mariadb-server php composer php-cli php-common php-imap php-redis php-snmp php-xml php-zip php-mbstring php-curl php-mysqli php-intl php-bcmath php-gd php-fpm ufw certbot python3-certbot-nginxEscribe Y y presiona ENTER para confirmar la instalación.

Una vez que la instalación haya finalizado, verifica los servicios del LEMP Stack para asegurarte de que cada servicio esté en ejecución y habilitado en tu servidor Debian.
Si el servicio está en ejecución, deberías ver una salida activa (en ejecución). Cuando el servicio está habilitado, confirma que el servicio se ejecutará automáticamente al iniciar.
Verifica el servicio Nginx usando el siguiente comando.
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Verifica el servicio PHP-FPM usando el comando a continuación. En este caso, has instalado PHP-FPM 8.2 desde el repositorio Debian.
sudo systemctl is-enabled php8.2-fpm
sudo systemctl status php8.2-fpm
Por último, verifica el servidor MariaDB usando el comando a continuación.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Configurando UFW
En esta guía, asegurarás tu servidor Debian con UFW (Firewall poco complicado). Así que, en ese caso, debes abrir puertos para los protocolos SSH, HTTP y HTTPS.
Ejecuta el comando ufw a continuación para habilitar los perfiles OpenSSH y ‘Nginx Full‘ en UFW. El perfil OpenSSH abrirá el puerto SSH predeterminado 22, mientras que el perfil ‘Nginx Full’ abrirá los puertos 80 y 443 para los protocolos HTTP y HTTPS.
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'Ahora ejecuta el comando a continuación para iniciar y habilitar UFW. Escribe y y presiona ENTER para continuar.
sudo ufw enableUna vez que UFW esté en funcionamiento, deberías obtener una salida ‘El firewall está activo y habilitado al inicio del sistema‘.

Ahora ejecuta el comando a continuación para verificar la lista de perfiles habilitados en UFW.
sudo ufw statusAsegúrate de que tanto los perfiles OpenSSH como ‘Nginx Full’ estén habilitados.

Configurando el Servidor MariaDB
Después de haber configurado UFW, ahora configurarás el servidor MariaDB a través de la utilidad mariadb-secure-installation, luego crearás una nueva base de datos y usuario para October CMS a través del cliente mariadb.
Asegura tu instalación del servidor MariaDB ejecutando el siguiente comando.
sudo mariadb-secure-installationDurante el proceso, se te presentarán algunas recomendaciones de seguridad para el servidor MariaDB. Ingresa Y para aplicar la recomendación, o n para No para rechazarla.
- La instalación predeterminada de MariaDB viene sin una contraseña, presiona ENTER cuando se te pida la contraseña.
- Ahora ingresa Y para configurar la contraseña de root de MariaDB. Luego, escribe la nueva contraseña para MariaDB y repite la contraseña.
- Ingresa Y para eliminar el usuario anónimo de tu instalación de MariaDB.
- Ingresa Y nuevamente cuando se te pida deshabilitar el inicio de sesión remoto para el usuario root de MariaDB.
- Ingresa Y para eliminar la base de datos de prueba predeterminada de tu MariaDB.
- Por último, ingresa Y para recargar los privilegios de las tablas y aplicar los nuevos cambios.
Ahora que has configurado el servidor MariaDB, escribe el comando a continuación para iniciar sesión en el servidor MariaDB y crear una nueva base de datos y usuario para October CMS. Ingresa tu contraseña de root de MariaDB cuando se te pida.
sudo mariadb -u root -pEjecuta las siguientes consultas para crear una nueva base de datos y usuario octobercms, con la contraseña ‘password‘. Asegúrate de cambiar la contraseña por una nueva contraseña fuerte.
CREATE USER 'octobercms'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE octobercms;
GRANT ALL PRIVILEGES ON octobercms.* TO 'octobercms'@'localhost';
FLUSH PRIVILEGES;
A continuación, ejecuta la siguiente consulta para verificar los privilegios del usuario octobercms.
SHOW GRANTS FOR 'octobercms'@'localhost';Asegúrate de que el usuario octobercms pueda acceder a la base de datos octobercms como se muestra a continuación.

Ahora escribe quit para salir del servidor MariaDB.
Instalando el Código Fuente de OctoberCMS
October CMS se puede instalar de muchas maneras, a través de zip o a través de Composer. En este ejemplo, instalarás October CMS a través de Composer.
Ve al directorio /var/www/ y descarga el código fuente de October CMS usando el comando wget a continuación. Una vez descargado, verás el archivo v3.5.0.zip.
cd /var/www/
wget https://github.com/octobercms/october/archive/refs/tags/v3.5.0.zipExtrae el archivo v3.5.0.zip usando unzip al directorio octobercms. Esto significa que tu directorio raíz web de October CMS estará en /var/www/octobercms.
unzip v3.5.0.zip
sudo mv october-* octobercmsA continuación, ejecuta el siguiente comando para cambiar la propiedad de /var/www/octobercms al usuario www-data y grupo www-data. Además, establece permisos para directorios a 0755 y archivos a 0644.
sudo chown -R www-data:www-data octobercms
find /var/www/octobercms -type d -exec chmod 755 {} \;
find /var/www/octobercms -type f -exec chmod 644 {} \;Ahora, ejecuta el comando de composer a continuación para instalar las dependencias de PHP para October CMS.
sudo -u www-data composer install
Inicia la instalación de October CMS usando el siguiente comando.
sudo -u www-data php artisan october:installDurante el proceso, se te preguntará lo siguiente:
- Selecciona el idioma predeterminado como en o inglés.
- Ingresa el nombre de dominio de tu instalación de October CMS. Por ejemplo http://howtoforge.local/
- Ingresa la URL del backend o la ruta de administración para October CMS. En este caso, usaremos octoberadmin.
- Ingresa el número 1 para seleccionar el motor de base de datos como MySQL.
- Ingresa los detalles de tu base de datos.
- Ingresa sí para instalar datos de demostración y tema.
- Ingresa la licencia gratuita de October CMS para continuar.
A continuación se muestra la captura de pantalla de la instalación de October CMS.

Configuraciones del sitio para October CMS.

Salida durante la instalación de October CMS.

Una vez que la instalación de October CMS haya finalizado, verás la siguiente salida.

Por último, ejecuta el comando a continuación para migrar la base de datos.
sudo -u www-data php artisan october:migrate
Configurando el Bloque del Servidor Nginx
Después de descargar October CMS y configurar su directorio raíz web, crearás una nueva configuración de bloque de servidor Nginx que se utilizará para ejecutar October CMS. Asegúrate de que tienes tu nombre de dominio listo.
Ejecuta el comando del editor nano a continuación para crear un nuevo archivo /etc/nginx/sites-available/octobercms.conf.
sudo nano /etc/nginx/sites-available/octobercms.confInserta la siguiente configuración y asegúrate de cambiar el nombre de dominio howtoforge.local por tu dominio.
server {
listen 80;
server_name howtoforge.local;
index index.php index.html;
root /var/www/octobercms;
location / {
# Deja que October CMS maneje todo por defecto.
# La ruta no resuelta por el enrutador de October CMS devolverá la página 404 de October CMS.
# Todo lo que no coincida con la lista de permitidos caerá en esto.
rewrite ^/.*$ /index.php last;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_read_timeout 120s;
}
# Lista de permitidos
location ~ ^/favicon\.ico { try_files $uri /index.php; }
location ~ ^/sitemap\.xml { try_files $uri /index.php; }
location ~ ^/robots\.txt { try_files $uri /index.php; }
location ~ ^/humans\.txt { try_files $uri /index.php; }
# Bloquear todos los .dotfiles excepto los bien conocidos
location ~ /\.(?!well-known).* { deny all; }
## Deja que nginx devuelva 404 si el archivo estático no existe
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { try_files $uri 404; }
location ~ ^/storage/app/resources { try_files $uri 404; }
location ~ ^/storage/temp/public { try_files $uri 404; }
location ~ ^/modules/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/themes/.*/assets { try_files $uri 404; }
location ~ ^/themes/.*/resources { try_files $uri 404; }
}Guarda y cierra el archivo cuando termines.
A continuación, ejecuta el comando a continuación para activar el archivo de bloque del servidor octobercms.conf y verificar la sintaxis de Nginx.
sudo ln -s /etc/nginx/sites-available/octobercms.conf /etc/nginx/sites-enabled/
sudo nginx -tSi tienes la sintaxis correcta, deberías obtener una salida como ‘la sintaxis es correcta - la prueba es exitosa’.

Por último, aplica tus cambios a Nginx reiniciando el servicio Nginx usando el siguiente comando.
sudo systemctl restart nginxAsegurando OctoberCMS con Certificados SSL/TLS
En este punto, tu October CMS está en funcionamiento y accesible. Pero para asegurarte de que tu instalación sea segura, implementarás HTTPS generando certificados SSL/TLS de letsencrypt.
Ejecuta el comando a continuación para generar certificados SSL/TLS para tu instalación de October CMS. Asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio con tu información.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.localUna vez que el proceso haya finalizado, tu nombre de dominio se configurará automáticamente con HTTPS. Y tus certificados SSL/TLS estarán disponibles en el directorio /etc/letsencrypt/live/yourdomain.com.
Accediendo a OctoberCMS
Visita el nombre de dominio de tu instalación de October CMS, por ejemplo, https://howtoforge.local/ usando tu navegador web favorito.
Si tu instalación es exitosa, deberías obtener la página de inicio predeterminada de OctoberCMS como la siguiente.
Haz clic en el botón ‘Área de Backend‘ para acceder a la página de administración de October CMS.

Ingresa los detalles del nuevo usuario administrador, nombre, dirección de correo electrónico y contraseña. Haz clic en Crear Cuenta para confirmar.

Cuando termines, deberías obtener el panel de administración de October CMS como el siguiente.

Conclusión
¡Felicidades! Ahora has completado la instalación de October CMS en el servidor Debian 12. Has instalado October CMS con el LEMP Stack (Nginx, MariaDB y PHP-FPM). También has asegurado tu instalación con UFW (Firewall poco complicado) y SSL/TLS a través de Letsencrypt.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.