Installazione CMS · 9 min read · Sep 12, 2025

Come installare OctoberCMS su Debian 12

October CMS è un’applicazione web scritta nel framework web Laravel. Supporta una varietà di database, come MySQL/MariaDB, PostgreSQL e SQLite. Può essere eseguita sotto Apache, Nginx, Lighthttpd e Microsoft IIS.

Questa guida ti guiderà attraverso il processo di installazione di October CMS su Debian 12 con il LEMP Stack (Nginx, MySQL/MariaDB e PHP-FPM), UFW e Certbot.

Prerequisiti

Per procedere con questa guida, raccogli i seguenti elementi:

  • Un server Debian 12.
  • Un utente non root con privilegi di amministratore.
  • Un nome di dominio puntato all’indirizzo IP del server.

Installazione delle dipendenze

In questo esempio, installerai October CMS sul server Debian con il LEMP Stack (Nginx, MySQL/MariaDB e PHP-FPM). Quindi, il primo compito che dovrai svolgere è installare il LAMP Stack con dipendenze aggiuntive come UFW (Uncomplicated Firewall) e Certbot.

Inizia questa guida aggiornando il tuo repository Debian utilizzando il seguente comando.

sudo apt update

Quindi, installa il LAMP Stack, i pacchetti UFW e Certbot utilizzando il seguente 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-nginx

Digita Y e premi INVIO per confermare l’installazione.

install deps

Una volta terminata l’installazione, verifica i servizi del LEMP Stack per assicurarti che ciascun servizio sia in esecuzione e abilitato sul tuo server Debian.

Se il servizio è in esecuzione, dovresti vedere un output attivo (in esecuzione). Quando il servizio è abilitato, conferma che il servizio verrà eseguito automaticamente all’avvio.

Controlla il servizio Nginx utilizzando il seguente comando.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

check nginx

Controlla il servizio PHP-FPM utilizzando il comando qui sotto. In questo caso, hai installato PHP-FPM 8.2 dal repository Debian.

sudo systemctl is-enabled php8.2-fpm  
sudo systemctl status php8.2-fpm

check php-fpm

Infine, controlla il server MariaDB utilizzando il comando qui sotto.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

check mariadb

Configurazione di UFW

In questa guida, proteggerai il tuo server Debian con UFW (Uncomplicated Firewall). Quindi, in questo caso, devi aprire le porte per i protocolli SSH, HTTP e HTTPS.

Esegui il comando ufw qui sotto per abilitare i profili OpenSSH e ‘Nginx Full‘ su UFW. Il profilo OpenSSH aprirà la porta SSH predefinita 22, mentre il profilo ‘Nginx Full’ aprirà le porte 80 e 443 per i protocolli HTTP e HTTPS.

sudo ufw allow OpenSSH  
sudo ufw allow 'Nginx Full'

Ora esegui il comando qui sotto per avviare e abilitare UFW. Digita y e premi INVIO per procedere.

sudo ufw enable

Una volta che UFW è in esecuzione, dovresti ricevere un output ‘Il firewall è attivo e abilitato all’avvio del sistema‘.

setup ufw

Ora esegui il comando qui sotto per verificare l’elenco dei profili abilitati su UFW.

sudo ufw status

Assicurati che entrambi i profili OpenSSH e ‘Nginx Full’ siano abilitati.

verify ufw

Configurazione del server MariaDB

Dopo aver configurato UFW, ora configurerai il server MariaDB tramite l’utilità mariadb-secure-installation, quindi creerai un nuovo database e un utente per October CMS tramite il client mariadb.

Proteggi la tua installazione del server MariaDB eseguendo il seguente comando.

sudo mariadb-secure-installation

Durante il processo, ti verranno fornite alcune raccomandazioni di sicurezza per il server MariaDB. Inserisci Y per applicare la raccomandazione, o n per No per rifiutarla.

  • L’installazione predefinita di MariaDB viene fornita senza password, premi INVIO quando ti viene chiesta la password.
  • Ora inserisci Y per impostare la password di root di MariaDB. Quindi, digita la nuova password per MariaDB e ripeti la password.
  • Inserisci Y per rimuovere l’utente anonimo dalla tua installazione di MariaDB.
  • Inserisci Y di nuovo quando ti viene chiesto di disabilitare il login remoto per l’utente root di MariaDB.
  • Inserisci Y per rimuovere il database di test predefinito dalla tua MariaDB.
  • Infine, inserisci Y per ricaricare i privilegi delle tabelle e applicare le nuove modifiche.

Ora che hai configurato il server MariaDB, digita il comando qui sotto per accedere al server MariaDB e creare un nuovo database e utente per October CMS. Inserisci la tua password di root di MariaDB quando richiesto.

sudo mariadb -u root -p

Esegui le seguenti query per creare un nuovo database e utente octobercms, con la password ‘password‘. Assicurati di cambiare la password con una nuova password forte.

CREATE USER 'octobercms'@'localhost' IDENTIFIED BY 'password';  
CREATE DATABASE octobercms;  
GRANT ALL PRIVILEGES ON octobercms.* TO 'octobercms'@'localhost';  
FLUSH PRIVILEGES;

create database user

Successivamente, esegui la seguente query per verificare i privilegi per l’utente octobercms.

SHOW GRANTS FOR 'octobercms'@'localhost';

Assicurati che l’utente octobercms possa accedere al database octobercms come segue.

verify user

Ora digita quit per uscire dal server MariaDB.

Installazione del codice sorgente di OctoberCMS

October CMS può essere installato in molti modi, tramite zip o tramite Composer. In questo esempio, installerai October CMS tramite Composer.

Vai alla directory /var/www/ e scarica il codice sorgente di October CMS utilizzando il comando wget qui sotto. Una volta scaricato, vedrai il file v3.5.0.zip.

cd /var/www/  
wget https://github.com/octobercms/october/archive/refs/tags/v3.5.0.zip

Estrai il file v3.5.0.zip utilizzando unzip nella directory octobercms. Questo significa che la tua directory radice web di October CMS sarà in /var/www/octobercms.

unzip v3.5.0.zip  
sudo mv october-* octobercms

Successivamente, esegui il seguente comando per cambiare la proprietà di /var/www/octobercms all’utente www-data e al gruppo www-data. Inoltre, imposta i permessi per le directory a 0755 e i file 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 {} \;

Ora, esegui il comando composer qui sotto per installare le dipendenze PHP per October CMS.

sudo -u www-data composer install

install deps php

Avvia l’installazione di October CMS utilizzando il seguente comando.

sudo -u www-data php artisan october:install

Durante il processo, ti verrà chiesto quanto segue:

  • Seleziona la lingua predefinita come en o English.
  • Inserisci il nome di dominio della tua installazione di October CMS. Ad esempio http://howtoforge.local/
  • Inserisci l’URL del backend o il percorso admin per October CMS. In questo caso, utilizzeremo octoberadmin.
  • Inserisci il numero 1 per selezionare il motore di database MySQL.
  • Inserisci i dettagli del tuo database.
  • Inserisci sì per installare i dati di esempio e il tema.
  • Inserisci la licenza gratuita di October CMS per continuare.

Di seguito è riportato lo screenshot dell’installazione di October CMS.

october cms install

Configurazioni del sito per October CMS.

site installation

Output durante l’installazione di October CMS.

license key and site installation

Una volta terminata l’installazione di October CMS, vedrai il seguente output.

installation finished

Infine, esegui il comando qui sotto per migrare il database.

sudo -u www-data php artisan october:migrate

migrate database

Configurazione del blocco del server Nginx

Dopo aver scaricato October CMS e configurato la sua directory radice web, creerai una nuova configurazione del blocco del server Nginx che sarà utilizzata per eseguire October CMS. Assicurati di avere il tuo nome di dominio pronto.

Esegui il comando dell’editor nano qui sotto per creare un nuovo file /etc/nginx/sites-available/octobercms.conf.

sudo nano /etc/nginx/sites-available/octobercms.conf

Inserisci la seguente configurazione e assicurati di cambiare il nome di dominio howtoforge.local con il tuo dominio.

server {  
    listen 80;  
    server_name howtoforge.local;  
    index index.php index.html;  
    root /var/www/octobercms;  
    location / {  
        # Lascia che October CMS gestisca tutto per impostazione predefinita.  
        # Il percorso non risolto dal router di October CMS restituirà la pagina 404 di October CMS.  
        # Tutto ciò che non corrisponde all'elenco di autorizzazione qui sotto cadrà in questo.  
        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;  
    }  
    # Elenco di autorizzazione  
    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; }  
    # Blocca tutti i file .dot tranne quelli ben noti  
    location ~ /\.(?!well-known).* { deny all; }  
    ## Lascia che nginx restituisca 404 se il file statico non esiste  
    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; }  
}

Salva e chiudi il file quando hai finito.

Successivamente, esegui il comando qui sotto per attivare il file di blocco del server octobercms.conf e verificare la sintassi di Nginx.

sudo ln -s /etc/nginx/sites-available/octobercms.conf /etc/nginx/sites-enabled/  
sudo nginx -t

Se hai una sintassi corretta, dovresti vedere un output come ‘la sintassi è ok - il test è riuscito’.

setup nginx

Infine, applica le tue modifiche a Nginx riavviando il servizio Nginx utilizzando il comando qui sotto.

sudo systemctl restart nginx

Proteggere OctoberCMS con certificati SSL/TLS

A questo punto, il tuo October CMS è in esecuzione e accessibile. Ma per garantire che la tua installazione sia sicura, implementerai HTTPS generando certificati SSL/TLS da letsencrypt.

Esegui il comando qui sotto per generare certificati SSL/TLS per la tua installazione di October CMS. Assicurati di cambiare l’indirizzo email e il nome di dominio con le tue informazioni.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

Una volta terminato il processo, il tuo nome di dominio sarà automaticamente configurato con HTTPS. E i tuoi certificati SSL/TLS saranno disponibili nella directory /etc/letsencrypt/live/yourdomain.com.

Accesso a OctoberCMS

Visita il nome di dominio della tua installazione di October CMS, ad esempio, https://howtoforge.local/ utilizzando il tuo browser web preferito.

Se la tua installazione ha avuto successo, dovresti ottenere la homepage predefinita di OctoberCMS come segue.

Clicca sul pulsante ‘Area Backend‘ per accedere alla pagina di amministrazione di October CMS.

october cms homepage

Inserisci i dettagli del nuovo utente amministratore, nome, indirizzo email e password. Clicca su Crea Account per confermare.

setup admin

Quando hai finito, dovresti ottenere il dashboard dell’amministratore di October CMS come segue.

octobercms dashboard

Conclusione

Congratulazioni! Hai ora completato l’installazione di October CMS sul server Debian 12. Hai installato October CMS con il LEMP Stack (Nginx, MariaDB e PHP-FPM). Hai anche protetto la tua installazione con UFW (Uncomplicated Firewall) e SSL/TLS tramite Letsencrypt.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.