ISPConfig · 4 min read · Feb 06, 2026

Il Server Perfetto - Gentoo 2007.0 - Pagina 7

18 ISPConfig

18.1 Installare le dipendenze software di ISPConfig

ISPConfig installerà una propria copia di spamassassin al suo interno, ma non otterrà automaticamente le sue dipendenze. Puoi installarle facendo così:

emerge --ask --verbose HTML-Parser perl-DB_File Net-DNS

In alternativa, puoi semplicemente fare,

emerge --ask --verbose --onlydeps spamassassin

Questo installerà i pacchetti di cui spamassassin di Gentoo ha bisogno, ma non spamassassin stesso. Curiosamente installerà molto di più rispetto alle tre cose che stiamo installando per spamassassin di ISPConfig.

Inoltre, ISPConfig richiede iptables e smrsh:

emerge --ask --verbose iptables smrsh

Come notato in precedenza, ISPConfig richiede che il set di caratteri predefinito in MySQL sia latin1, non utf-8, quindi se non lo hai fatto quando hai installato MySQL in precedenza,

echo "dev-db/mysql latin1" >> /etc/portage/package.use   
emerge --ask --verbose mysql

18.2 Inizializzare il crontab di root

Poi vogliamo solo assicurarci che ci sia già un file crontab per root, così l’installer di ISPConfig non si lamenta.

echo "# m h  dom mon dow   command" | crontab -

18.3 Configurare Postfix

In precedenza abbiamo configurato Postfix per il normale funzionamento di Maildir. Ora vogliamo impostarlo nello stato che ISPConfig desidera per prendere in carico quella funzione con le sue ricette procmail.

postconf -e 'home_mailbox ='   
postconf -e 'mailbox_command = procmail -a "$EXTENSION"'   
/etc/init.d/postfix restart

18.4 Patchare ISPConfig per renderlo consapevole di Gentoo

ISPConfig non si installa automaticamente su Gentoo. Quando estrai il tarball di ISPConfig devi prima patcharlo. Questo è stato implementato come uno script piuttosto che un diff nella speranza che, essendo solo un paio di sezioni aggiunte ai file di ISPConfig, e non modificando o rimuovendo nulla di già presente, possiamo renderlo un po’ indipendente dalla versione. Detto ciò, è stato testato solo su ISPConfig-2.2.16.tar.gz.

I numeri di versione della distribuzione non significano molto in Gentoo, quindi il numero di “versione” che usiamo in ISPConfig per riconoscere il sistema è in realtà basato sul numero di versione major.minor del baselayout come scritto in /etc/gentoo-release. Ignoriamo il numero di revisione. Pertanto, se quel file contiene,

Gentoo Base System release 1.12.9

Allora usiamo un numero di “versione” di “112” nella nostra patch per ISPConfig.

Questo script scaricherà (se necessario), estrarrà e patcherà ISPConfig con un po’ di codice per riconoscere Gentoo. Se ISPConfig è già stato estratto in /root, tenterà di patcharlo. È incorporato qui nella sua interezza in omaggio alla tradizione che gli script indispensabili linkati da HowTo alla fine vanno sempre fuori rotta:

#!/bin/bash
# GentooISPConfig.sh 1.0
echo "Impostazione di ISPConfig..."
cd ~
if [ -d install_ispconfig ] ; then
    ISPCV=$(grep "version" install_ispconfig/config.inc.php.tmp | cut -f2 -d= | cut -f2 -d'"')
    echo "Installer di ISPConfig ${ISPCV} estratto trovato. Cercherò di patcharlo ora."
else
    ISPCV="2.2.17"
    echo "Scaricando ISPConfig ${ISPCV}"
    wget -Nc http://prdownloads.sourceforge.net/ispconfig/ISPConfig-${ISPCV}.tar.gz?download
echo "Estraendo ISPConfig ${ISPV}"
tar xvfz ISPConfig-${ISPCV}.tar.gz
fi
cd install_ispconfig
if grep gentoo112 dist.txt > /dev/null ; then
    echo "Questo installer di ISPConfig è già stato patchato"
    exit 1
fi
echo "Patchando dist.txt"
cat >> dist.txt <<-"END"

dist_init_scripts=/etc/init.d ##                                 # gentoo112
dist_runlevel= ##                                                # gentoo112
dist_smrsh=/usr/sbin/smrsh ##                                    # gentoo112
dist_shells=/etc/shells ##                                       # gentoo112
dist_http_user=apache ##                                         # gentoo112
dist_http_group=apache ##                                        # gentoo112
dist_bind_init_script=named ##                                   # gentoo112
dist_bind_user=named ##                                          # gentoo112
dist_bind_group=named ##                                         # gentoo112
dist_bind_conf=/etc/bind/named.conf ##                           # gentoo112
dist_bind_dir=/etc/bind ##                                       # gentoo112
dist_bind_pidfile=/var/run/named/named.pid ##                    # gentoo112
dist_bind_hintfile=named.ca ##                                   # gentoo112
dist_bind_localfile=localhost.zone ##                            # gentoo112
dist_passwd=/etc/passwd ##                                       # gentoo112
dist_shadow=/etc/shadow ##                                       # gentoo112
dist_group=/etc/group ##                                         # gentoo112
dist_cron_daemon=cron ##                                         # gentoo112
dist_cron_tab=/var/spool/cron/crontabs/root ##                   # gentoo112
dist_mysql_group=mysql ##                                        # gentoo112
dist_httpd_daemon=apache2 ##                                     # gentoo112
END
echo "Patchando mod/mail/postfix"
cat >> mod/mail/postfix <<-"END"

dist_mail_log:/var/log/messages:Log-File:read::gentoo112
dist_mail_virtusertable:/etc/postfix/virtusertable:Virtusertable-File:read::gentoo112
dist_mail_local_host_names:/etc/postfix/local-host-names:Local-Host-Names-File:read::gentoo112
END
echo "Patchando mod/ftp/proftpd"
cat >> mod/ftp/proftpd <<-"END"

dist_ftp_conf:/etc/proftpd/proftpd.conf:Config-File:read::gentoo112
dist_ftp_version:standalone:Server-Version:exit::gentoo112
dist_ftp_log:/var/log/messages:Log-File:read::gentoo112
END
echo "Patchando mod/httpd/httpd"
cat >> mod/httpd/httpd <<-"END"

dist_path_httpd_root:/var/www:Web-Root:read::gentoo112
END
echo "Patchando setup1"
ed - -s setup1 > /dev/null <<-"END"
    /"$distvers" "]; 
    i
    if [ -f /etc/gentoo-release ] && [ ! -h /etc/gentoo-release ]; then
       version=`cat /etc/gentoo-release | cut -f5 -d' ' | cut -f1,2 -d'.'`
       distversion="Gentoo Baselayout $version"
       echo $distversion
       distvers=gentoo${version//./}
       echo dist=$distvers '##' > dist.info.tmp
       grep -i $distvers dist.txt >> dist.info.tmp
       cp -f dist.info.tmp dist.info
       VAR1=`cat dist.info.tmp | cut -f1 -d=`
       for var1 in $VAR1
       do
         echo export $var1 >> dist.info.ende
       done
       cat dist.info.ende >> dist.info.tmp
       rm -f dist.info.ende
    fi   
    .
wq
END
echo "Patch di ISPConfig completata. Esegui setup ora."

18.5 Installare ISPConfig

cd install_ispconfig   
./setup

La configurazione del server è ora completata ed è pronta per installare ISPConfig su di esso. Si prega di consultare il manuale di installazione di ISPConfig: http://www.ispconfig.org/manual_installation.htm

19 Post-installazione di ISPConfig

19.1 Avvio

Per far partire l’interfaccia web di ISPConfig all’avvio, basta inserire,

rc-update add ispconfig_server default

19.2 Spamassassin

Potresti preferire eseguire Spamassassin in modalità daemon piuttosto che il predefinito di ISPConfig, che è eseguire la propria copia di Spamassassin direttamente per ogni email (che può essere lento). Per fare ciò, basta:

emerge --ask --verbose spamassassin   
/etc/init.d/spamd start   
rc-update add spamd default

Ora modifica /root/ispconfig/isp/conf/spamassassin.rc.master e sostituisci questa riga:

| /home/admispconfig/ispconfig/tools/spamassassin/usr/bin/spamassassin --prefs-file={PREFS_FILE}

con semplicemente,

| /usr/bin/spamc

(Questa versione, e presumibilmente versioni successive, di ISPConfig mettono symlink nelle directory home dei nuovi utenti per consentire a spamc di raccogliere le preferenze dell’utente.)

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.