logo linuxfactory
Soluzioni Open Source per le imprese
Linux, Unix, Open Source, Applicazioni, Internet, Consulenza, Formazione
Italian Case History
8853 Servizi di posta su Linux... more

IT-Enhancement
Se la vostra Azienda ha bisogno di contare su personale qualificato anche per la sola durata di un progetto... more

Preventive Services
Le tue applicazioni sotto controllo 24 ore su 24... more

Articoli
Configurazione di server FTP... more

CentOS per le applicazioni web... more

Soluzioni e servizi su Ubuntu... more

Un fax server con Hylafax... more

Virtualizzazione con Xen... more

Installazione e configurazione di un server FTP con ProFTPD

La seguente procedura fa riferimento all'installazione e configurazione di un server FTP con il pacchetto ProFTPD.

Per l'installazione partiamo dai sorgenti dell'applicativo e non dai pacchetti delle varie distribuzioni, lasciando gli utenti "liberi" di scegliere una distribuzione a piacere.

Prerequisiti

Per poter eseguire l'installazione è necessario che sia presente l'ambiente di sviluppo. Quindi verificarne l'esistenza con i seguenti comandi:
whereis gcc
whereis g++
whereis ld

Download del pacchetto ProFTPD

Dal sito http://www.proftpd.org/, è possibile eseguire il download dei sorgenti utilizzando il link Download Servers. Un mirror italiano dovebbe garantirvi una discreta velocità per scaricare proftpd-xxxx.tar.gz
Scaricate il file direttamente all'interno della directory /usr/local/src.

Compilazione ed installazione del software

Decomprimere e poi compilare. Aprire una shell e portarsi nella directory /usr/local/src. Eseguire:
tar -xzf ./proftpd-xxxx.tar.gz
Entrare nella directory protftpd-xxxx, ed eseguire in successione i seguenti comandi per la compilazione:
./configure --enable-dso
make
make install
Queste attività vanno eseguite come utente root; altrimenti è necessario usare il comando:
sudo make install
oppure:
su -
# inserite la password di root
make install
exit
Il server FTP sarà installato nelle seguenti cartelle:
/usr/local/bin, (file di supporto del server FTP)
/usr/local/sbin, (eseguibili del server FTP)
/usr/local/etc, (file di configurazione)

Configurazione del server FTP

Dopo aver eseguito l'installazione è necessario configurare il server FTP per poterlo avviare. Editare il file di configurazione /usr/local/etc/proftpd. inserendo il seguente testo in sostituzione delle corrispettive righe che troverete presenti nel file:

ServerName "HTML.IT FTP Test Server" # Nome del server FTP
ServerType standalone # Modalità di funzionamento (deve essere usato standalone)
DefaultServer on # Evita la creazione di appositi virtual hosts dato che va gestito un solo "dominio" FTP
Port 21 # Porta da utilizzare per le connessioni
Umask 022 # Maschera per la creazione dei file e delle directory
MaxInstances 30 # Numero massimo di connessioni effettuabili
User FTP # Utente da usare
Group FTP # Gruppo da usare
DefaultRoot ~ # Abilitando questa riga in automatico gli utenti vengono chiusi all'interno della propria home directory e non gli è permesso di uscire fuori
AllowOverwrite on # Abilita la sovrascrittura dei files
DenyAll # Blocca il comando SITE_CHMOD

Questa e' una configurazione standard o di default. Potrete trovare altri esempi di configurazioni al link: http://www.proftpd.org/docs/example-conf.html.

Se il server "attraversa" un router o un firewall, è necessario configurare correttamente la modalità passiva. Per far questo è necessario aggiungere le seguenti righe:

MasqueradeAddress xxx.yyy.zzz.ttt # Indirizzo IP esterno da utilizzare
PassivePorts aaaaa bbbbb # Range di porte da utilizzare

Una volta inserite queste impostazioni è necessario configurare il firewall hardware o il router affinché riconosca le porte indicate nel range e riavviare il server FTP. Nel caso l'IP esterno dinamico, è possibile utilizzare un hostname che punti all'indirizzo utilizzando uno dei tanti servizi gratuiti che consentono queste operazioni. Es:
http://www.no-ip.com;
http://www.changeip.com;
http://www.dns2go.com;
http://www.dyndns.com.

Avvio e gestione

ProFTPD è un server FTP semplice da gestire; infatti utilizza i controlli eseguiti dal sistema operativo sugli utenti per la gestione del login(PAM), consentendo quindi di sfruttare eventuali sistemi di autenticazione complessi e avanzati che si appoggiano a database esterni o domini di Windows.

Il server FTP può funzionare sia in modalità standalone, sia tramite inetd/xinetd; trattiamo solo il caso standalone.

Queste operazioni vanno sempre eseguite con l'utente root. Per startare il programma eseguire il comando:
/usr/local/sbin/in.proftpd
Per terminarlo invece:
pkill in.proftpd
Per verificare se il server è avviato
ps -A | grep proftpd
Per far partire il server all'avvio della macchina è necessario modificare il file /etc/rc.d/rc.local ed inserire alla fine di questo, la riga d'avvio del server, ovvero /usr/local/sbin/in.proftpd. Per i piu' esperti e' possibile configurare uno script di start e stop del servizio.

Creazione di utenti e gruppo

Una volta avviato il server è necessario creare i gruppi e gli utenti per chi si deve connettere, dando anche la possibilità di creare delle apposite cartelle condivise tra gli utenti. Per evitare che attraverso l'utente ftp si possa effettuare login, assegnate una shell /bin/false e abilitate questa shell aggiungendo la seguente riga nel file di configurazione /usr/local/etc/proftpd:
RequireValidShell no
Ultima operazione: creare gruppo e utente(o utenti)
Creare un gruppo con nome FTP-users
groupadd FTP-users
Creare un utente FTP-user che apparterrà al gruppo FTP-users
useradd -c "Utente FTP" -g FTP-users -m -s /bin/false FTP-user
Assegnare la password all'utente:
passwd FTP-user
# inserire la password dell'utente
# reinserire la password per la verifica
Eseguite queste operazioni sarà possibile connettersi al server FTP con l'utente creato.

 


LinuxFactory è un sito Informex società di socio unico - P.IVA 12516810152
Sede:Via Pisacane, 24 Milano Reg. Imp.: MI-1998-176833 Capitale sociale: 60.000,00 Euro
professional services | applications | education | it enhancement
home | profilo | partner | contatti | note d'uso | mappa