VSFTP e permessi

Quando si sviluppano applicativi composti da un certo numero di file, sorge l’esigenza di utilizzare sistemi RAD. Nel momento in cui tali applicativi sono we-based sorge, di conseguenza, un’altra esigenza quella di avere una server Http (ad esempio Apace o Lighttp) ed un server Ftp (ad esempio vsftpd)  per l’upload dei file.

Molta gente risolve i vari problemi di configurazione utilizzando (su piattaforma MS) l’ottimo Xampp (veramente interessante ed utile).

Dinanzi a questa esigenza, invece, ho risolto realizzando un piccolo server virtuale e con un paio di apt-get mi sono configurato un semplice server LAMP compreso di accesso Ftp. L’accesso via Ftp, ovviamente è pilotato verso la directory destinata a contenere i file che comporranno l’applicazione web per capirsi : http://www.miosito.loc/sito.

Ovviamente non riporto tutti i passaggi della configurazione della parte Apache/Mysql/Php che si possono realizzare anche in automatico grazie alla configurazione guidata di Ubuntu Server. In realtà vi riporto qualche comando per sistemare il lato VsFTP.

apt-get install vsftpd

vi /etc/vsftpd.conf

che dovrà essere configurato come segue :

listen=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to My service.
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

creiamo l’utente (sito) che in realtà avrà la home nella directory dove inseriremo i file sotto l’albero /var/www che è dove Apache ha la root.

useradd -G www-data -d /var/www/sito sito

cambiamo ai giusti diritti di proprietà

chmod -R g+w /var/www/*

passiamo i diritti alla directory

chown sito /var/www/sito

riavviamo il server

/etc/init.d/vsftpd restart

In questo modo avremo un server Ftp che punta direttamente alla nostra cartella di prova.

In alternativa se non volessimo creare un utente “sito” e dargli la home all’interno di /var/www possiamo creare una directory :

 sudo mkdir /var/www/miosito

e poi aggiustare i permessi :

sudo gpasswd -a www-data utente

sudo chown utente:www-data /var/www/miosito

Buon Ftp.