mercoledì 19 agosto 2015

Accesso FTP a editor di siti web su server

Mi capita spessissimo di configurare un nuovo server Ubuntu come server web e dover creare utenti con accesso FTP per la gestione del server. Ogni volta ci perdo uno o due giorni! Detesto perdere tempo per stupide cose. Una volta per tutte mi scrivo cosa si deve fare...

  1. Installare FTP server, se non già presente. Questa volta ho installato vsftp.
  2. creare account utenti con useradd (o adduser) configurando password, home e tutto quanto
  3. definire un gruppo che sarà usato per dare accesso in scrittura ai file del sito. È possibile usare www-data (usato da Apache) oppure un gruppo diverso per ciascun sito per differenziare i privilegi. Se si crea un nuovo gruppo, crearlo con groupadd
  4. Se necessario impostare tutti i file sul server con quel gruppo con "chgrp -R nomegruppo root/sito/web"
  5. impostare bit scrittura per il gruppo, io imposto anche il sgid, con "chmod -R g+rwxs root/sito/web" e per sicurezza anche l'accesso in scrittura e esecuzione per tutti con "chmod -R o+rx root/sito/web"
  6. iscrivere l'utente al gruppo con "usermod -a -G nomegruppo userlogin"
  7. creare nella home dell'utente un link alla root del sito con "ln -s root/sito/web www"
  8. modificare settaggi ftp server 

In particolare vsftp per default non consente di scrivere (questo mi ha fatto perdere 1/2 giornata) e quando è configurato e per scrivere i file questi non sono leggibili né scrivibili dal gruppo (altre 3 ore).

Impostare il parametro "write_enable=YES" e "local_umask=0002". Se volete caricare eseguibili anche impostare "file_open_mode=0777".

Se volete attiavre le connessioni passive, aggiungere "pasv_enable=YES" e per limitare le porte "pasv_max_port=10100" e "pasv_min_port=10090" così da limitare la finestra di porte aperte del firewall.

Riavviare vsftp con "service vsftpd restart" e tutto dovrebbe funzionare come atteso.

Già che ci siamo, altre 2 ore buttate perché apache2 non aveva configurato mod_rewrite, quindi se vi serve usare path alternativi e non funziona, guardate subito lì....