Server Setup · 13 min read · Dec 30, 2025
Il Server Perfetto - Ubuntu 14.04 (Apache2, PHP, MySQL, PureFTPD, BIND, Dovecot, ISPConfig 3) - Pagina 6
21 Installa SquirrelMail
Per installare il client webmail SquirrelMail, esegui
apt-get install squirrelmailPoi configura SquirrelMail:
squirrelmail-configureDobbiamo dire a SquirrelMail che stiamo usando Dovecot-IMAP/-POP3:
Configurazione di SquirrelMail : Leggi: config.php (1.4.0)
Menu Principale –
- Preferenze Organizzative
- Impostazioni del Server
- Valori Predefiniti delle Cartelle
- Opzioni Generali
- Temi
- Rubriche
- Messaggio del Giorno (MOTD)
- Plugin
- Database
- Lingue
D. Imposta impostazioni predefinite per server IMAP specifici
C Attiva il colore
S Salva dati
Q Esci
Comando >> <– D
Configurazione di SquirrelMail : Leggi: config.php
Mentre stavamo costruendo SquirrelMail, abbiamo scoperto alcune
preferenze che funzionano meglio con alcuni server che non
funzionano così bene con altri. Se selezioni il tuo
server IMAP, questa opzione imposterà alcune
impostazioni predefinite per quel server.
Si prega di notare che dovrai comunque
controllare e assicurarti che tutto sia corretto. Questo
non cambia tutto. Ci sono solo alcune
impostazioni che questo cambierà.
Si prega di selezionare il proprio server IMAP:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington’s IMAP server
gmail = IMAP access to Google mail (Gmail) accounts
quit = Non cambiare nulla
Comando >> <– dovecot
Configurazione di SquirrelMail : Leggi: config.php
Mentre stavamo costruendo SquirrelMail, abbiamo scoperto alcune
preferenze che funzionano meglio con alcuni server che non
funzionano così bene con altri. Se selezioni il tuo
server IMAP, questa opzione imposterà alcune
impostazioni predefinite per quel server.
Si prega di notare che dovrai comunque
controllare e assicurarti che tutto sia corretto. Questo
non cambia tutto. Ci sono solo alcune
impostazioni che questo cambierà.
Si prega di selezionare il proprio server IMAP:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington’s IMAP server
gmail = IMAP access to Google mail (Gmail) accounts
quit = Non cambiare nulla
Comando >> dovecot
imap_server_type = dovecot
default_folder_prefix =
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = detect
delete_folder = false
Premi un tasto qualsiasi per continuare… <– premi un tasto
Configurazione di SquirrelMail : Leggi: config.php (1.4.0)
Menu Principale –
- Preferenze Organizzative
- Impostazioni del Server
- Valori Predefiniti delle Cartelle
- Opzioni Generali
- Temi
- Rubriche
- Messaggio del Giorno (MOTD)
- Plugin
- Database
- Lingue
D. Imposta impostazioni predefinite per server IMAP specifici
C Attiva il colore
S Salva dati
Q Esci
Comando >> <– S
Configurazione di SquirrelMail : Leggi: config.php (1.4.0)
Menu Principale –
- Preferenze Organizzative
- Impostazioni del Server
- Valori Predefiniti delle Cartelle
- Opzioni Generali
- Temi
- Rubriche
- Messaggio del Giorno (MOTD)
- Plugin
- Database
- Lingue
D. Imposta impostazioni predefinite per server IMAP specifici
C Attiva il colore
S Salva dati
Q Esci
Comando >> <– Q
Ora configureremo SquirrelMail in modo che tu possa usarlo all’interno dei tuoi siti web (creati tramite ISPConfig) utilizzando gli alias /squirrelmail o /webmail. Quindi, se il tuo sito web è www.example.com, potrai accedere a SquirrelMail utilizzando www.example.com/squirrelmail o www.example.com/webmail.
La configurazione di Apache di SquirrelMail si trova nel file /etc/squirrelmail/apache.conf, ma questo file non viene caricato da Apache perché non si trova nella directory /etc/apache2/conf-available/. Pertanto, creiamo un symlink chiamato squirrelmail.conf nella directory /etc/apache2/conf-available/ che punta a /etc/squirrelmail/apache.conf e ricarichiamo Apache successivamente:
cd /etc/apache2/conf-available/
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
service apache2 reloadOra apri /etc/apache2/conf.d/squirrelmail.conf…
vi /etc/apache2/conf-available/squirrelmail.conf… e aggiungi le seguenti righe al contenitore
| [...] |
Crea la directory /var/lib/squirrelmail/tmp…
mkdir /var/lib/squirrelmail/tmp… e rendila di proprietà dell’utente www-data:
chown www-data /var/lib/squirrelmail/tmpSuccessivamente dobbiamo abilitare squirrelmail con apache2.
a2enconf squirrelmailRicarica Apache di nuovo:
service apache2 reloadEcco fatto - /etc/apache2/conf-available/squirrelmail.conf definisce un alias chiamato /squirrelmail che punta alla directory di installazione di SquirrelMail /usr/share/squirrelmail.
Ora puoi accedere a SquirrelMail dal tuo sito web come segue:
http://192.168.2.251/squirrelmail
http://www.example.com/squirrelmailPuoi anche accedervi dal pannello di controllo ISPConfig vhost (dopo aver installato ISPConfig, vedere il capitolo successivo) come segue (questo non richiede alcuna configurazione in ISPConfig):
http://server1.example.com:8080/squirrelmailSe desideri utilizzare l’alias /webmail invece di /squirrelmail, apri semplicemente /etc/apache2/conf-available/squirrelmail.conf…
vi /etc/apache2/conf-available/squirrelmail.conf… e aggiungi la riga Alias /webmail /usr/share/squirrelmail:
| Alias /squirrelmail /usr/share/squirrelmail Alias /webmail /usr/share/squirrelmail [...] |
Poi ricarica Apache:
service apache2 reloadOra puoi accedere a Squirrelmail come segue:
http:// 192.168.2.251 /webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (dopo aver installato ISPConfig, vedere il capitolo successivo)

Se desideri definire un vhost come webmail.example.com dove i tuoi utenti possono accedere a SquirrelMail, dovresti aggiungere la seguente configurazione vhost a /etc/apache2/conf-available/squirrelmail.conf:
vi /etc/apache2/conf-available/squirrelmail.conf| [...] |
Assicurati di sostituire 1.2.3.4 con l’indirizzo IP corretto del tuo server. Ovviamente, deve esserci un record DNS per webmail.example.com che punta all’indirizzo IP che utilizzi nella configurazione vhost. Assicurati anche che il vhost webmail.example.com non esista in ISPConfig (altrimenti entrambi i vhost interferiranno l’uno con l’altro!).
Ora ricarica Apache…
service apache2 reload… e puoi accedere a SquirrelMail all’indirizzo http://webmail.example.com!
22. Facoltativo: Script per controllare le installazioni.
Ho introdotto qui uno script che verificherà se hai commesso errori di battitura. Questo verificherà che tutte le installazioni necessarie siano completate secondo il tutorial. Lo script è il seguente:
#!/bin/bash
###################################################################################################################################################
###################################################################################################################################################
#### #####
#### Questo script è stato creato da Srijan Kishore per controllare l'installazione completa del tutorial #####
#### #####
###################################################################################################################################################
###################################################################################################################################################
cd /tmp
###################################################################################################################################################
#### Installazioni effettuate nel Tutorial #####
###################################################################################################################################################
echo "amavisd-new
apache2
apache2-doc
apache2-suexec
apache2-utils
apt-listchanges
arj
autoconf
automake1.9
awstats
bind9
binutils
bison
build-essential
bzip2
cabextract
clamav
clamav-daemon
clamav-docs
daemon
debhelper
dnsutils
dovecot-imapd
dovecot-mysql
dovecot-pop3d
dovecot-sieve
fail2ban
flex
geoip-database
getmail4
imagemagick
jailkit
libapache2-mod-fastcgi
libapache2-mod-fcgid
libapache2-mod-php5
libapache2-mod-python
libapache2-mod-suphp
libauthen-sasl-perl
libclass-dbi-mysql-perl
libio-socket-ssl-perl
libio-string-perl
libnet-dns-perl
libnet-ident-perl
libnet-ldap-perl
libruby
libtool
lzop
mailman
mcrypt
memcached
mysql-client
mysql-server
nomarch
ntp
ntpdate
openssl
php5
php5-cgi
php5-cli
php5-common
php5-curl
php5-fpm
php5-gd
php5-imagick
php5-imap
php5-intl
php5-mcrypt
php5-memcache
php5-memcached
php5-ming
php5-mysql
php5-ps
php5-pspell
php5-recode
php5-snmp
php5-sqlite
php5-tidy
php5-xcache
php5-xmlrpc
php5-xsl
php-auth
phpmyadmin
php-pear
postfix
postfix-doc
postfix-mysql
rkhunter
spamassassin
squirrelmail
sudo
unzip
vlogger
webalizer
zip
zoo" > tutorial_install
##################################################################################################################################################
#### Elenco di tutti i pacchetti installati da te sul tuo server #####
##################################################################################################################################################
dpkg -l |grep ii| cut -d ' ' -f3 > server_installed
##################################################################################################################################################
#### Differenza tra il tutorial e l'installazione del tuo server #####
##################################################################################################################################################
diff server_installed tutorial_install | grep ">" | cut -d ' ' -f2 > missing_packages
if [ $? -eq 0 ]
echo "Hai dimenticato di installare questi pacchetti
` cat missing_packages` "
then
echo "Devi installare questi pacchetti. Per installare questi pacchetti devi eseguire il comando apt-get install package_name"
echo " Puoi controllare l'installazione particolare come segue:
dpkg -l | grep package_name | cut -d ' ' -f3
Se mostra il package_name allora puoi ignorare il pacchetto."
else
echo "Congratulazioni hai installato tutti i pacchetti con successo"
fi
rm -rf missing_packages server_installed tutorial_installchmod +x ubuntu_package_check.sh./ubuntu_package_check.sh23. Installa ISPConfig 3
Per installare ISPConfig 3 dall’ultima versione rilasciata, fai così:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/Il passo successivo è eseguire
php -q install.phpQuesto avvierà l’installer di ISPConfig 3. L’installer configurerà tutti i servizi come Postfix, Dovecot, ecc. per te. Non è necessaria una configurazione manuale come richiesta per ISPConfig 2 (guide di configurazione perfette).
root@server1:/tmp/ispconfig3_install/install# php -q install.php
——————————————————————————–
_ _ _ _
| / | \/ \ / () / \
| | | \ --.| |_/ / | / \/ ___ _ __| |_ _ __ _ / / | | |–. \ / | | / \| ‘ \ | |/ ` | | |
| | |_/\/ / | | _/\ () | | | | | | | (| | __\ \
_/__/| __/\/|| |||||_, | __/ / |
|_/
——————————————————————————–
>> Configurazione iniziale
Sistema Operativo: 14.04 UNKNOWN
Di seguito ci saranno alcune domande per la configurazione primaria, quindi fai attenzione.
I valori predefiniti sono tra [parentesi] e possono essere accettati con
Digita “quit” (senza virgolette) per fermare l’installer.
Seleziona lingua (en,de) [en]: <– ENTER
Modalità di installazione (standard, esperto) [standard]: <– ENTER
Nome host completamente qualificato (FQDN) del server, ad es. server1.domain.tld [server1.example.com]: <– ENTER
Nome host del server MySQL [localhost]: <– ENTER
Nome utente root di MySQL [root]: <– ENTER
Password root di MySQL []: <– yourrootsqlpassword
Database MySQL da creare [dbispconfig]: <– ENTER
Charset MySQL [utf8]: <– ENTER
Generazione di una chiave privata RSA a 4096 bit
………………………………………………………………….++
…………………++
scrittura della nuova chiave privata in ‘smtpd.key’
—–
Stai per essere chiesto di inserire informazioni che saranno incorporate
nel tuo certificato di richiesta.
Ciò che stai per inserire è ciò che viene chiamato un Nome Distinto o un DN.
Ci sono diversi campi, ma puoi lasciare alcuni vuoti
Per alcuni campi ci sarà un valore predefinito,
Se inserisci ‘.’, il campo sarà lasciato vuoto.
—–
Nome del Paese (codice a 2 lettere) [AU]: <– ENTER
Nome dello Stato o della Provincia (nome completo) [Some-State]: <– ENTER
Nome della Località (ad es., città) []: <– ENTER
Nome dell’Organizzazione (ad es., azienda) [Internet Widgits Pty Ltd]: <– ENTER
Nome dell’Unità Organizzativa (ad es., sezione) []: <– ENTER
Nome Comune (ad es. FQDN del server o IL TUO nome) []: <– ENTER
Indirizzo Email []: <– ENTER
Configurazione di Jailkit
Configurazione di Dovecot
Configurazione di Spamassassin
Configurazione di Amavisd
Configurazione di Getmail
Configurazione di Pureftpd
Configurazione di BIND
Configurazione di Apache
Configurazione di Vlogger
Configurazione di Apps vhost
Configurazione di Bastille Firewall
Configurazione di Fail2ban
Installazione di ISPConfig
Porta ISPConfig [8080]: <– ENTER
Vuoi una connessione sicura (SSL) all’interfaccia web di ISPConfig (y,n) [y]: <– ENTER
Generazione della chiave privata RSA, modulo lungo 4096 bit
……….++
……++
e è 65537 (0x10001)
Stai per essere chiesto di inserire informazioni che saranno incorporate
nel tuo certificato di richiesta.
Ciò che stai per inserire è ciò che viene chiamato un Nome Distinto o un DN.
Ci sono diversi campi, ma puoi lasciare alcuni vuoti
Per alcuni campi ci sarà un valore predefinito,
Se inserisci ‘.’, il campo sarà lasciato vuoto.
—–
Nome del Paese (codice a 2 lettere) [AU]: <– ENTER
Nome dello Stato o della Provincia (nome completo) [Some-State]: <– ENTER
Nome della Località (ad es., città) []: <– ENTER
Nome dell’Organizzazione (ad es., azienda) [Internet Widgits Pty Ltd]: <– ENTER
Nome dell’Unità Organizzativa (ad es., sezione) []: <– ENTER
Nome Comune (ad es. FQDN del server o IL TUO nome) []: <– ENTER
Indirizzo Email []: <– ENTER
Si prega di inserire i seguenti attributi ‘extra’
che saranno inviati con la tua richiesta di certificato
Una password di sfida []: <– ENTER
Un nome di azienda facoltativo []: <– ENTER
scrittura della chiave RSA
Configurazione di DBServer
Installazione del crontab di ISPConfig
nessun crontab per root
nessun crontab per getmail
Riavvio dei servizi …
Piuttosto che invocare gli script init
attraverso /etc/init.d, usa il utility service(8)
, ad es. service mysql restart
Poiché lo script che stai tentando di invocare
è stato convertito in un lavoro Upstart,
potresti anche usare i utility stop(8)
e poi start(8),
ad es. stop mysql ; start mysql.
Il utility restart(8) è anche disponibile.
mysql stop/waiting
mysql start/running, processo 2817
Fermare Postfix Mail Transport Agent postfix
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
… fatto. Avvio di Postfix Mail Transport Agent postfix
postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
… fatto.
Fermare amavisd: amavisd-new.
Avvio di amavisd: amavisd-new.
Fermare il demone ClamAV clamd
… fatto. Avvio del demone ClamAV clamd
… fatto.
Piuttosto che invocare gli script init
attraverso /etc/init.d, usa il utility service(8)
, ad es. service dovecot restart
Poiché lo script che stai tentando di invocare
e stato convertito in un lavoro Upstart,
potresti anche usare i utility stop(8)
e poi start(8),
ad es. stop dovecot ; start dovecot.
Il utility restart(8) è anche disponibile.
dovecot stop/waiting
dovecot start/running, processo 3962
Riavvio del server web apache2
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost :443 non ha VirtualHosts
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost :80 non ha VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost :443 non ha VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost :80 non ha VirtualHosts
… in attesa … fatto.
Riavvio del server ftp: Esecuzione: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -b -u 1000 -D -H -Y 1 -E -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B
Installazione completata.
root@server1:/tmp/ispconfig3_install/install# L’installer configura automaticamente tutti i servizi sottostanti, quindi non è necessaria alcuna configurazione manuale. Hai ora anche la possibilità di far creare all’installer un vhost SSL per il pannello di controllo ISPConfig, in modo che ISPConfig possa essere accessibile utilizzando https:// invece di http://. Per ottenere questo, basta premere ENTER quando vedi questa domanda: Vuoi una connessione sicura (SSL) all’interfaccia web di ISPConfig (y,n) [y]:. Successivamente puoi accedere a ISPConfig 3 all’indirizzo http(s)://server1.example.com:8080/ o http(s)://192.168.2.251:8080/ (http o https dipende da ciò che hai scelto durante l’installazione). Accedi con il nome utente admin e la password admin (dovresti cambiare la password predefinita dopo il tuo primo accesso): 

Il sistema è ora pronto per essere utilizzato. #### Manuale di ISPConfig 3 Per imparare a usare ISPConfig 3, ti consiglio vivamente di scaricare il Manuale di ISPConfig 3. In più di 300 pagine, copre il concetto dietro ISPConfig (amministratore, rivenditori, clienti), spiega come installare e aggiornare ISPConfig 3, include un riferimento per tutti i moduli e i campi modulo in ISPConfig insieme a esempi di input validi, e fornisce tutorial per i compiti più comuni in ISPConfig 3. Illustra anche come rendere il tuo server più sicuro e include una sezione di risoluzione dei problemi alla fine. #### App Monitor ISPConfig per Android Con l’App Monitor ISPConfig, puoi controllare lo stato del tuo server e scoprire se tutti i servizi stanno funzionando come previsto. Puoi controllare le porte TCP e UDP e pingare i tuoi server. Inoltre, puoi utilizzare questa app per richiedere dettagli dai server che hanno ISPConfig installato ( *si prega di notare che la versione minima installata di ISPConfig 3 con supporto per l’App Monitor ISPConfig è 3.0.3.3!); questi dettagli includono tutto ciò che conosci dal modulo Monitor nel Pannello di Controllo ISPConfig (ad es. servizi, log di sistema e mail, coda mail, informazioni su CPU e memoria, utilizzo del disco, quota, dettagli OS, log RKHunter, ecc.), e naturalmente, poiché ISPConfig è in grado di gestire più server, puoi controllare tutti i server che sono controllati dal tuo server master ISPConfig. Per istruzioni sul download e sull’uso, visita http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/. ### Note Aggiuntive #### OpenVZ Se il server Ubuntu che hai appena configurato in questo tutorial è un contenitore OpenVZ (macchina virtuale), dovresti fare questo sul sistema host (sto assumendo che l’ID del contenitore OpenVZ sia 101 - sostituiscilo con il corretto VPSID sul tuo sistema): VPSID=101 for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE do vzctl set $VPSID --capability ${CAP}:on --save done ### Link - Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.