Installazione ISPConfig · 9 min read · Oct 02, 2025

Installazione automatizzata ISPConfig 3 su Debian 11 e 12, Ubuntu 22.04 e Ubuntu 24.04

Questo tutorial ti aiuterà a installare la tua configurazione di server singolo ISPConfig 3 utilizzando l’auto-installer di ISPConfig. Questo installer segue le vecchie guide del Perfect Server ma è più modulare e facile da seguire. Se desideri configurare una configurazione multiserver con server dedicati per ciascun servizio, consulta la guida Perfect Multiserver.

Questa guida funziona per Debian 11 e 12, Ubuntu 22.04 e Ubuntu 24.04. Attualmente supporta le architetture CPU x86_64 (noto anche come AMD64) e ARM (ARM64). Utilizzeremo il nome host server1.example.com. Sostituiscilo dove necessario. La guida richiede un sistema operativo di base appena installato e vuoto; non provare a usarlo su un sistema in cui hai già configurato altri servizi.

Prerequisiti

  • Sistema Operativo: Debian 11 e 12, Ubuntu 22.04 o Ubuntu 24.04.
  • Architettura CPU Intel o AMD a 64 bit (x86_64, noto anche come AMD64) o architettura CPU ARM (ARM64).
  • Il sistema deve avere accesso a Internet per scaricare e installare software con apt.
  • Inizia da un’installazione di base pulita e vuota. Il sistema deve essere completamente accessibile da Internet; non bloccare l’accesso con un firewall, specialmente non la porta 80 per l’emissione di certificati LE e la porta 8080 per l’accesso a ISPConfig, oltre alle porte per tutti i servizi che utilizzi su quel sistema. Il server deve anche avere accesso a Internet per scaricare e installare software durante l’installazione e risolvere i nomi di dominio tramite DNS.

1. Accedi al server

Accedi come root o esegui

su --login

su Debian per diventare l’utente root sul tuo server prima di procedere. IMPORTANTE: Devi usare ‘su –login’ o ‘su -‘ e non solo ‘su’. Altrimenti, Debian imposterà erroneamente la tua variabile PATH.

Su Ubuntu, usa il comando:

sudo -s

per diventare utente root.

2. Configura il nome host e gli host

Il nome host del tuo server dovrebbe essere un sottodominio come “server1.example.com”. Non utilizzare un nome di dominio senza una parte di sottodominio come “example.com” come nome host, poiché ciò causerà problemi in seguito con la tua configurazione. Prima di tutto, dovresti controllare il nome host in /etc/hosts e cambiarlo quando necessario. La riga dovrebbe essere: “Indirizzo IP - spazio - nome host completo incl. dominio - spazio - parte del sottodominio”. Per il nostro nome host server1.example.com, il file dovrebbe apparire così (alcune righe potrebbero essere diverse; può variare a seconda del fornitore di hosting):

nano /etc/hosts
127.0.0.1 localhost.localdomain   localhost  
# Questa riga dovrebbe essere cambiata nel nome del server corretto:  
127.0.1.1 server1.example.com server1  

# Le seguenti righe sono desiderabili per host compatibili con IPv6
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Poi modifica il file /etc/hostname:

nano /etc/hostname

Dovrebbe contenere solo la parte del sottodominio, nel nostro caso:

server1

Infine, riavvia il server per applicare la modifica:

systemctl reboot

Accedi di nuovo e controlla se il nome host è corretto ora con questi comandi:

hostname  
hostname -f

L’output dovrebbe essere simile a questo:

root@server1:~$ hostname  
server1  
root@server1:~$ hostname -f  
server1.example.com

Dovrai anche impostare un record DNS con il tuo fornitore DNS che punti al tuo server. Dovrebbe esserci un record A (e/o AAAA) per il sottodominio che punta al tuo IP pubblico.

3. Aggiorna il sistema

Per aggiornare i pacchetti di sistema, esegui il comando:

apt update && apt upgrade

4. Esegui l’autoinstaller

Possiamo ora eseguire l’auto-installer. La configurazione di base contiene i seguenti pacchetti software (più le loro dipendenze, ovviamente): Apache2, PHP (versioni 5.6 - 8.3), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats e GoAccess. Puoi facilmente scegliere di non utilizzare determinate funzioni o installare servizi extra passando argomenti all’installer. Vedi Capitolo 6 per le opzioni della riga di comando disponibili.

Installa ISPConfig con il server web Apache

Puoi ora eseguire lo script con argomenti. Ad esempio, se desideri un’installazione normale con il server web Apache e un intervallo di porte per FTP passivo + aggiornamenti non presidiati, esegui:

wget -O - https://get.ispconfig.org | sh -s -- `--use-ftp-ports=40110-40210` --unattended-upgrades

I seguenti passaggi sono descritti nel capitolo “Esecuzione dell’auto installer”.

Installa ISPConfig con il server web Nginx

Puoi ora eseguire lo script con argomenti. Ad esempio, se desideri un’installazione normale con il server web Nginx e un intervallo di porte per FTP passivo + aggiornamenti non presidiati, esegui:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx `--use-ftp-ports=40110-40210` --unattended-upgrades

Esecuzione dell’auto-installer

Dopo un po’, vedrai:

WARNING! Questo script riconfigurerà il tuo server completo!  
Dovrebbe essere eseguito su un server appena installato e tutta la configurazione attuale che hai fatto andrà probabilmente persa!  
Digita 'sì' se vuoi davvero continuare:

Rispondi “sì” e premi invio. L’installer ora inizierà.

Quando l’installer è terminato, ti mostrerà la password dell’amministratore ISPConfig e la password root di MySQL in questo modo:

[INFO] La tua password admin ISPConfig è: 5GvfSSSYsdfdYC  
[INFO] La tua password root MySQL è: kkAkft82d!kafMwqxdtYs

Assicurati di annotare queste informazioni, poiché ne avrai bisogno in seguito.

5. Configurazione del firewall

L’ultima cosa da fare è configurare il nostro firewall.

Accedi all’interfaccia ISPConfig e vai su Sistema -> Firewall. Quindi fai clic su “Aggiungi nuovo record firewall”.

Per una configurazione normale, dovrebbe apparire così:

TCP:

20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081

UDP:

53

Le porte necessarie per ogni servizio sono:

Web: 20, 21, 22, 80, 443 e 40110:40210 (Tutte TCP, nessun UDP)

Mail: 25, 110, 143, 465, 587, 993 e 995 (Tutte TCP, nessun UDP)

DNS: 53 (TCP e UDP)

Pannello: 8080 e 8081 (Tutte TCP, nessun UDP)

Il tuo server è ora configurato e pronto per l’uso. Puoi accedere a https://server1.example.com:8080

6. Opzioni avanzate

L’auto-installer ha varie opzioni della riga di comando per ottimizzare la configurazione.

Puoi visualizzare tutti gli argomenti con:

wget -O - https://get.ispconfig.org | sh -s -- --help

Puoi ad esempio scegliere tra server web Apache e Nginx e quali servizi devono essere installati sul sistema. Gli argomenti della riga di comando sono:

Usage: ispc3-ai.sh [] [...]  

Questo script installa automaticamente tutti i pacchetti necessari per una configurazione ISPConfig 3 utilizzando le linee guida delle "Perfect Server Setup" howtos su www.howtoforge.com.

Gli argomenti possibili sono:  
    --help          Mostra questa pagina di aiuto.  
    --debug         Abilita il logging dettagliato (registra ogni comando con il codice di uscita).  
    --channel       Scegli il canale da utilizzare per ISPConfig: --channel=  
                    "stable" è l'ultima versione di ISPConfig disponibile su www.ispconfig.org  
                    "dev" è l'ultima branch di sviluppo dal repository git di ISPConfig: https://git.ispconfig.org/ispconfig/ispconfig3/tree/develop  
                    Il canale di sviluppo potrebbe contenere bug e funzionalità meno testate e dovrebbe essere utilizzato in produzione solo da utenti molto esperti.  
    --lang          Usa la lingua per l'installazione di ISPConfig. Specifica con --lang=en|de (attualmente solo en (inglese) e de (tedesco) supportati).  
    --interactive   Non installare ISPConfig in modalità non interattiva.  
                    Questo è necessario se desideri utilizzare la modalità esperto, ad esempio per installare un server secondario che deve essere integrato in una configurazione multiserver esistente.  
    --use-nginx     Usa il server web nginx invece di apache2.  
    --use-amavis    Usa amavis invece di rspamd per il filtraggio della posta.  
    --use-unbound   Usa unbound invece di bind9 per la risoluzione locale. Consentito solo se --no-dns è impostato.  
    --use-php       Usa versioni PHP specifiche, separate da virgola, invece di installare più PHP, ad esempio --use-php=7.4,8.0 (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2 e 8.3 disponibili).  
                    --use-php=system disabilita il repository sury e installa solo la versione PHP predefinita del sistema.  
                    --use-php omettendo l'argomento, utilizza tutte le versioni.  
    --use-ftp-ports Questa opzione imposta l'intervallo di porte passive per pure-ftpd. Devi specificare l'intervallo di porte separato da un trattino, ad esempio --use-ftp-ports=40110-40210.  
                    Se non fornito, l'intervallo di porte passive non sarà configurato.  
    --use-certbot   Usa Certbot invece di acme.sh per l'emissione di certificati Let's Encrypt. Non consigliato a meno che tu non stia migrando da un vecchio server che utilizza Certbot.  
    --no-web        Non utilizzare ISPConfig su questo server per gestire le impostazioni del server web e non installare nginx/apache o pureftpd.  
                    Questo impedirà anche l'installazione di un'interfaccia ISPConfig e implica --no-roundcube così come --no-pma.  
    --no-mail       Non utilizzare ISPConfig su questo server per gestire le impostazioni del server di posta.  
                    Questo installerà postfix per l'invio di email di sistema, ma non dovecot e non configurerà alcuna impostazione per la posta di ISPConfig. Implica --no-mailman.  
    --no-dns        Non utilizzare ISPConfig su questo server per gestire le voci DNS. Bind sarà installato solo per la cache / risoluzione DNS locale.  
    --no-local-dns  Non installare la cache / risoluzione DNS locale tramite bind.  
    --no-firewall   Non installare ufw e dire a ISPConfig di non gestire le impostazioni del firewall su questo server.  
    --no-roundcube  Non installare roundcube webmail.  
    --roundcube     Installa Roundcube anche quando viene utilizzato --no-mail. È necessaria la configurazione manuale del config di Roundcube.  
    --no-pma        Non installare PHPMyAdmin su questo server.  
    --no-mailman    Non installare il gestore di mailing list Mailman.  
    --no-quota      Disabilita la quota del file system.  
    --no-ntp        Disabilita la configurazione NTP.  
    --no-jailkit    Non installare jailkit.  
    --no-ftp        Non installare il server pure-ftpd.  
    --monit         Installa Monit e configurarlo per monitorare i servizi installati. Servizi supportati: Apache2, NGINX, MariaDB, pure-ftpd-mysql, php-fpm, ssh, named, Postfix, Dovecot, rspamd.  
    --monit-alert-email  
                    Configura avvisi per Monit da inviare all'indirizzo email fornito. ad esempio [email protected].  
    --ssh-port      Configura il server SSH per ascoltare su una porta non predefinita. Il numero di porta deve essere compreso tra 1 e 65535 e non può essere utilizzato da altri servizi. ad esempio --ssh-port=64.  
    --ssh-permit-root  
                    Configura il server SSH se consentire o meno il login come root: --ssh-permit-root=, ad esempio --ssh-permit-root=without-password.  
    --ssh-password-authentication  
                    Configura il server SSH se consentire o meno l'autenticazione tramite password: --ssh-password-authentication=, ad esempio -ssh-password-authentication=no.  
    --ssh-harden    Configura il server SSH per avere una configurazione di sicurezza più forte.  
    --unattended-upgrades  
                    Installa UnattendedUpgrades. Puoi aggiungere argomenti extra per la pulizia automatica e riavvii automatici quando necessario: --unattended-upgrades=autoclean,reboot (o solo uno di essi).  
    --i-know-what-i-am-doing  
                    Impedisce all'autoinstaller di chiedere conferma prima di continuare a riconfigurare il server.

Ad esempio, per installare una configurazione simile a un ‘Perfect Server’ con Nginx invece di Apache, usa questo comando:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx `--use-ftp-ports=40110-40210` --unattended-upgrades

Oppure per installare un server web Nginx senza servizi Email e DNS:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail `--use-ftp-ports=40110-40210` --unattended-upgrades

7. Finalizzazione

La tua configurazione è ora completata!

Puoi supportare ISPConfig acquistando il nostro manuale: https://www.ispconfig.org/documentation/

I seguenti link sono alcuni tutorial/punti preziosi per ulteriori configurazioni:

Se hai domande, chiedile nel forum.

8. Debugging in caso di errore

Se qualcosa va storto durante l’installazione, puoi eseguire il debug del processo aggiungendo il flag della riga di comando –debug al comando di installazione. Questo scriverà un file di log

/tmp/ispconfig-ai/var/log/ispconfig.log

Inoltre, l’opzione della riga di comando –interactive può aiutare a rivelare il motivo di un errore di installazione.

9. Scarica come macchina virtuale

Questa configurazione è disponibile come download di macchina virtuale in formato ova/ovf (compatibile con VMWare e Virtualbox) per gli abbonati di howtoforge. La macchina virtuale è basata su Debian 12 e utilizza Apache come server web.

Dettagli di accesso per la VM

  • La password di root è: howtoforge
  • La password dell’utente “admin” di ISPConfig è: howtoforge
  • C’è un altro utente shell con il nome “administrator” e password: howtoforge
  • La password root di MySQL è: 7s8EtDL1QhorSaeHhnRh

Si prega di cambiare tutte le password al primo accesso.

  • L’indirizzo IP della VM è 192.168.0.100
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.