Configurazione Server · 5 min read · Feb 12, 2026
La Configurazione Perfetta - SUSE 9.2 - Pagina 6
Proftpd
Voglio usare Proftpd invece di vsftpd, che è il server FTP predefinito di SUSE, perché il software del pannello di controllo che installerò su questo server (ISPConfig) richiede Proftpd su SUSE 9.2 (su altre distribuzioni è diverso). Poiché non ci sono pacchetti SUSE per Proftpd, devo compilarlo manualmente:
cd /tmp/
wget –passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.gz
tar xvfz proftpd-1.2.10.tar.gz
cd proftpd-1.2.10/
./configure –sysconfdir=/etc
make
make install
cd ../
rm -fr proftpd-1.2.10*
Ora crea il file /etc/init.d/proftpd:
| #! /bin/sh # Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Germany. # Tutti i diritti riservati. # # Autore originale: Marius Tomaschewski <[email protected]> # # Leggermente modificato nel 2003 per l'uso con SuSE Linux 8.1, # da http://www.learnlinux.co.uk/ # # Leggermente modificato nel 2005 per l'uso con SuSE Linux 9.2, # da Falko Timme # # /etc/init.d/proftpd # ### BEGIN INIT INFO # Provides: proftpd # Required-Start: $network $remote_fs $syslog $named # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Avvia il server ProFTPD ### END INIT INFO # Determina la base e segui un nome di collegamento runlevel. base=${0##*/} link=${base#*[SK][0-9][0-9]} # Forza l'esecuzione se non chiamato da una directory runlevel. test $link = $base && START_PROFTPD=yes # Modificato da learnlinux.co.uk test "$START_PROFTPD" = yes || exit 0 # Modificato da learnlinux.co.uk # Valori di ritorno secondo LSB per tutti i comandi ma # stato (vedi sotto): # # 0 - successo # 1 - errore generico o non specificato # 2 - argomento(i) non valido o eccessivo # 3 - funzionalità non implementata (es. "reload") # 4 - privilegio insufficiente # 5 - programma non installato # 6 - programma non configurato # 7 - programma non in esecuzione proftpd_cfg="/etc/proftpd.conf" proftpd_bin="/usr/local/sbin/proftpd" proftpd_pid="/usr/local/var/proftpd.pid" [ -r $proftpd_cfg ] || exit 6 [ -x $proftpd_bin ] || exit 5 # Funzioni di stato sorgente . /etc/rc.status # Prima resetta lo stato di questo servizio rc_reset case "$1" in start) echo -n "Avviando il server ProFTPD: " test -f /etc/shutmsg && rm -f /etc/shutmsg /sbin/startproc $proftpd_bin rc_status -v ;; stop) echo -n "Arrestando il server ProFTPD: " test -x /usr/local/sbin/ftpshut && /usr/local/sbin/ftpshut now && sleep 1 /sbin/killproc -TERM $proftpd_bin test -f /etc/shutmsg && rm -f /etc/shutmsg rc_status -v ;; restart) ## Se il primo restituisce OK chiama il secondo, se il primo o ## secondo comando fallisce, imposta il valore di ritorno echo. $0 stop $0 start rc_status ;; try-restart) ## Arresta il servizio e se questo riesce (cioè il ## servizio era in esecuzione prima), avvialo di nuovo. ## Nota: non (ancora) parte di LSB (a partire da 0.7.5) $0 status >/dev/null && $0 restart rc_status ;; reload|force-reload) ## Possibilità esclusiva: Alcuni servizi devono essere arrestati ## e avviati per forzare un nuovo caricamento della configurazione. echo -n "Ricarica il server ProFTPD: " /sbin/killproc -HUP $proftpd_bin rc_status -v ;; status) # Lo stato ha una leggera differenza per il comando di stato: # 0 - servizio in esecuzione # 1 - servizio morto, ma il file pid di /var/run/ esiste # 2 - servizio morto, ma il file di blocco di /var/lock/ esiste # 3 - servizio non in esecuzione echo -n "Controllo del server ProFTPD: " checkproc $proftpd_bin rc_status -v ;; probe) ## Opzionale: Indaga sulla necessità di un ricaricamento, ## fornisci l'argomento necessario per un ricaricamento. [ $proftpd_cfg -nt $proftpd_pid ] && echo reload ;; *) echo "Uso: $0 {start|stop|status|restart|reload|try-restart|probe}" exit 1 ;; esac # Imposta uno stato di uscita. rc_exit |
chmod 755 /etc/init.d/proftpd
chkconfig –add proftpd
/etc/init.d/proftpd start
Per motivi di sicurezza puoi anche aggiungere le seguenti righe a /etc/proftpd.conf:
| DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." |
Assicurati di commentare le seguenti righe per consentire agli utenti ftp di CHMOD:
| # Bar uso di SITE CHMOD per impostazione predefinita # |
e riavvia Proftpd:
/etc/init.d/proftpd restart
Webalizer
Per installare webalizer, esegui semplicemente
apt-get install webalizer
Sincronizza l’Orologio di Sistema
Se desideri avere l’orologio di sistema sincronizzato con un server NTP, fai quanto segue:
apt-get install netdate
netdate tcp time.nist.gov
Crea /var/spool/cron/tabs/root:
| # aggiorna l'ora con il server ntp 0 3,9,15,21 * * * /usr/sbin/netdate time.nist.gov |
Poi esegui
chmod 600 /var/spool/cron/tabs/root
/etc/init.d/cron restart
Installa alcuni Moduli Perl necessari per SpamAssassin (incluso con ISPConfig)
Installazione utilizzando la Shell Perl
Accedi alla tua riga di comando come root ed esegui il seguente comando per avviare la shell Perl:
perl -MCPAN -e shell
Se esegui la shell Perl per la prima volta, ti verranno poste alcune domande. Nella maggior parte dei casi, le risposte predefinite vanno bene.
Si prega di notare: Se esegui un firewall sul tuo sistema, potresti doverlo disattivare mentre lavori sulla shell Perl affinché la shell Perl possa recuperare i moduli necessari senza un grande ritardo. Puoi riattivarlo in seguito.
Il grande vantaggio della shell Perl rispetto agli altri due metodi descritti qui è che si occupa delle dipendenze durante l’installazione di nuovi moduli. Cioè, se si scopre che un modulo Perl prerequisito è mancante quando si installa un altro modulo, la shell Perl ti chiede se deve installare il modulo prerequisito per te. Dovresti rispondere a quella domanda con “Sì”.
Esegui i seguenti comandi per installare i moduli necessari per SpamAssassin:
install HTML::Parser
install Net::DNS (quando viene chiesto di abilitare i test, scegli no)
install Digest::SHA1
install DB_File
q (per uscire dalla shell Perl)
Se un modulo è già installato sul tuo sistema, riceverai un messaggio simile a questo:
HTML::Parser è aggiornato.
L’installazione riuscita di un modulo appare così:
/usr/bin/make install – OK
La Fine
La configurazione del server è ora completata, e se lo desideri, puoi ora installare ISPConfig su di esso.
Una Nota su SuExec
Se desideri eseguire script CGI sotto suExec, dovresti specificare /srv/www/htdocs come la directory home per i siti web creati da ISPConfig poiché suExec di SUSE è compilato con /srv/www/htdocs come Doc_Root. Esegui /usr/sbin/suexec2 -V, e l’output dovrebbe apparire così:
Per selezionare /srv/www/htdocs come la directory home per i siti web durante l’installazione di ISPConfig, fai quanto segue: Quando ti viene chiesto il modo di installazione, seleziona la modalità esperto.
Più tardi durante l’installazione ti verrà chiesto se la directory predefinita /home/www dovrebbe essere la directory in cui ISPConfig creerà i siti web. Rispondi n e inserisci /srv/www/htdocs come la directory home per i siti web.
Link
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.