Installazione di ProFTPD

Installazione di ProFTPD tramite RPM e compilazione dei sorgenti.

INSTALLAZIONE TRAMITE RPM
Il primo passo da compiere è scaricare il pacchetto RPM dal server FTP del produttore ftp://ftp.proftpd.org/. Sono disponibili per ogni versione tre pacchetti rpm:
proftpd-1.2.8-1.i386.rpm Pacchetto principale contenente il server le utility e la documentazione
proftpd-inetd-1.2.8-1.i386.rpm Pacchetto con la configurazione per l'utilizzo con inetd
proftpd-standalone-1.2.8-1.i386.rpm Pacchetto con la configurazione per l'utilizzo standalone

[root@Enigma software]#
wget ftp://ftp.proftpd.org/distrib/packages/RPMS/proftpd-1.2.8-1.i386.rpm
           => `proftpd-1.2.8-1.i386.rpm'
Resolving ftp.proftpd.org... fatto.
Connecting to ftp.proftpd.org[81.223.20.36]:21... connected.
Accesso come utente anonymous ... Login eseguito!
==> SYST ... fatto.   ==> PWD ... fatto.
==> TYPE I ... fatto.  ==> CWD /distrib/packages/RPMS ... fatto.
==> PORT ... fatto.   ==> RETR proftpd-1.2.8-1.i386.rpm ... fatto.
Lunghezza: 579,791 (non autorevole)
100%[================================================================================>] 579,791        4.64K/s   ETA 00:00
14:29:13 (4.64 KB/s) - `proftpd-1.2.8-1.i386.rpm' salvato [579791]

Successivamente a seconda di quale configurazione si desidera adottare:
[root@Enigma software]# wget
ftp://ftp.proftpd.org/distrib/packages/RPMS/proftpd-standalone-1.2.8-1.i386.rpm

[...]
[root@Enigma software]# wget
ftp://ftp.proftpd.org/distrib/packages/RPMS/proftpd-inetd-1.2.8-1.i386.rpm

[...]


Si procede quindi con l'installazione del pacchetto principale:
[root@Enigma software]# rpm -ihv proftpd-1.2.8-1.i386.rpm
Preparing...                ###########################################
[100%]
   1:proftpd                ###########################################
[100%]


[root@Enigma homer]# rpm -qli proftpd
Tramite una query RPM è possibile visualizzare cosa è stato installato e
dove

[...]
There are two other packages you can use to setup for inetd or standalone
operation.
/etc/logrotate.d/proftpd
File per la gestione dei log con logrotate
/etc/pam.d/ftp
File per l'autenticazione tramite PAM
/home/ftp
Creazione directory per ftp anonimo
/usr/bin/ftpcount
/usr/bin/ftptop
/usr/bin/ftpwho
Utility
/usr/sbin/ftpshut
Utility amministrativa per fermare il server
/usr/sbin/in.proftpd
Link a proftpd
/usr/sbin/proftpd
Server ftp
/usr/share/doc/proftpd-1.2.8
/usr/share/doc/proftpd-1.2.8/COPYING
/usr/share/doc/proftpd-1.2.8/CREDITS
/usr/share/doc/proftpd-1.2.8/ChangeLog
/usr/share/doc/proftpd-1.2.8/Configuration.html
/usr/share/doc/proftpd-1.2.8/Configuration.sgml
/usr/share/doc/proftpd-1.2.8/GetConf
/usr/share/doc/proftpd-1.2.8/NEWS
/usr/share/doc/proftpd-1.2.8/README
[...]
usr/share/doc/proftpd-1.2.8/sample-configurations/mod_sql.conf
/usr/share/doc/proftpd-1.2.8/sample-configurations/virtual.conf
/usr/share/doc/proftpd-1.2.8/xferstats.holger-preiss
Documentazione: faq, RFC del protocollo ed esempi di configurazione ecc.
/usr/share/man/man1/ftpcount.1.gz  
/usr/share/man/man1/ftptop.1.gz    
/usr/share/man/man1/ftpwho.1.gz    
/usr/share/man/man5/xferlog.5.gz  
/usr/share/man/man8/ftpshut.8.gz  
/usr/share/man/man8/proftpd.8.gz  
Manuali del server e delle utility a corredo
/var/run/proftpd  
Creazione directory contenente i dati di run-time


AVVIO DEL SERVIZIO: Inetd o Standalone
Nel caso in cui si scelga di utilizzare il server con inetd si dovrà installare proftpd-inetd-1.2.8-1.i386.rpm. Questo pacchetto si occupa di installare /etc/proftpd.conf, di inserire la entry relativa al servizio ftp in /etc/inetd.conf e di inviare un segnale HUP ad inetd in modo che rilegga la configurazione.

Nel caso si intenda utilizzare proFTPD in modalità standalone è possibile utilizzare proftpd-standalone-1.2.8-1.i386.rpm, il quale installa il file di configurazione base /etc/proftpd.conf e lo script per la gestione del server /etc/rc.d/init.d/profptd.

INSTALLAZIONE TRAMITE COMPILAZIONE DEI SORGENTI
Anche per l'installazione partendo dai sorgenti il primo passo è il  download:
[root@Enigma software]# wget
ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.8.tar.gz

--14:32:24--  ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.8.tar.gz  
=>`proftpd-1.2.8.tar.gz'   Resolving ftp.proftpd.org... fatto.  
Connecting to ftp.proftpd.org[81.223.20.36]:21... connected.  
Accesso come utente anonymous ... Login eseguito!  
==> SYST ... fatto.   ==> PWD ... fatto.  
==> TYPE I ... fatto.  ==> CWD /distrib/source ... fatto.  
==> PORT ... fatto.   ==> RETR proftpd-1.2.8.tar.gz ... fatto.  
Lunghezza: 966,281 (non autorevole)  
100%[================================================================================>] 966,281        4.51K/s    ETA 00:00  
14:35:55 (4.51 KB/s) - `proftpd-1.2.8.tar.gz' salvato [966281]


SCOMPATTAZIONE
Terminato il download si procede:
[root@Enigma software]# tar -zxvf proftpd-1.2.8.tar.gz
proftpd-1.2.8/  
proftpd-1.2.8/contrib/  
proftpd-1.2.8/contrib/dist/  
proftpd-1.2.8/contrib/dist/rpm/  
proftpd-1.2.8/contrib/dist/rpm/ftp.pamd  
proftpd-1.2.8/contrib/dist/rpm/proftpd.init.d  
[...]  
proftpd-1.2.8/utils/scoreboard.c  
proftpd-1.2.8/utils/utils.h  
proftpd-1.2.8/utils/Makefile.bak  
proftpd-1.2.8/utils/Makefile.in.bak  
proftpd-1.2.8/stamp-h


Le directory presenti una volta scompattato il pacchetto sono:
drwxr-xr-x    4 root     root         4096 mar  4 06:33 contrib
Tools e moduli aggiuntivi, ed esempi di configurazione
drwxr-xr-x    3 root     root         4096 mar  4 06:33 doc
Directory contentene la documentazione
drwxr-xr-x    2 root     root         4096 mar  4 06:33 include
drwxr-xr-x    3 root     root         4096 mar  4 06:33 lib
drwxr-xr-x    2 root     root         4096 mar  4 06:33 modules
drwxr-xr-x    2 root     root         4096 mar  4 06:33 src
Directory contenente i sorgenti
drwxr-xr-x    2 root     root         4096 mar  4 06:33
sample-configurations
Directory contenente esempi di configurazione
drwxr-xr-x    2 root     root         4096 mar  4 06:33 utils
Directory contentente utility per il server

Nella directory principale è possibile trovare diversi file README a seconda della piattaforma utilizzata. Tutte le operazioni di configurazione e installazione avvengono dalla top level directory del programma.

CONFIGURAZIONE
Le opzioni di configurazione sono diverse, è possibile visualizzarle tramite:
[root@Enigma proftpd-1.2.8]# ./configure --help
Tra le opzioni più utilizzate abbiamo:
--prefix=/DIR Imposta la directory di installazione del server Es.: --prefix=/etc
--sysconfdir=/DIR Imposta la directory contenente i file di configurazione Es.: --sysconfdir/etc
--localstatedir=/DIR Imposta la directory per le variabili di stato Es.: --localstatedir=/var
--with-modules=LIST Include l'utilizzo di moduli aggiuntivi Es.: --with-modules=mod_sql:mod_sql_postgres

[root@Enigma proftpd-1.2.8]# ./configure --prefix=/usr
--sysconfdir=/etc --localstatedir=/var

In questo caso si specifica dove installare il software e quale siano le directory per i file di configurazione e per le variabili di stato
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
[...]
config.status: creating config.h
config.status: executing default commands


COMPILAZIONE
Una volta effettuata la configurazione è possibile lanciare la compilazione tramite il comando make:
[root@Enigma proftpd-1.2.8]# make
echo \#define BUILD_STAMP \"`date`\" > include/buildstamp.h
cd lib/ && make lib
make[1]: Entering directory `/home/homer/software/proftpd-1.2.8/lib'
[...]


INSTALLAZIONE
L'installazione avviene tramite il classico make install:
[root@Enigma proftpd-1.2.8]# make install
cd lib/ && make lib  
[...]  
/usr/bin/install -c -o root -g root -m 0644 ./utils/ftpwho.1   /usr/man/man1
/usr/bin/install -c -o root -g root -m 0644 ./src/xferlog.5    /usr/man/man5
[...]


AVVIO DEL DEL SERVIZIO: Inetd o Standalone
In caso di utilizzo con inetd e tcp wrappers è necessario aggiungere a
/etc/inetd.conf la seguente riga di configurazione:
ftp stream tcp nowait root      /usr/sbin/tcpd /usr/sbin/proftpd
nel caso di utilzzo di xinetd aggiungere il file ftp sotto la directory
/etc/xinetd.d/:
service ftp
 {
  flags           = REUSE
  socket_type     = stream
  instances       = 50
  wait            = no
  user            = root
  server          = /usr/sbin/proftpd
  bind            = 192.168.0.2
  log_on_success  = HOST PID
  log_on_failure  = HOST RECORD
    }


Nel caso si voglia utilizzare la modalità standalone è possible trovare in contrib/dist/rpm/proftpd.init.d un esempio di script da richiamare al boot, oppure da utilizzare per le operazioni di restart, rilettura della configurazione o stop del server.

Privacy Policy