Ciao ragazzi, ho un problema con la configurazione di un web server + ftp server. Ho configurato apache con 1 virtual host settando come DocumentRoot "/home/pippo.it/html/" che è la home directory dell'utente "pippo.it", come è possibile vedere dal file "etc/passwd" che allego:
...
pippo.it:x:500:100::/home/pippo.it:/sbin/nologin
...
e dalla parte finale del file di configurazione di apache "etc/httpd/conf/httpd.conf":
...
NameVirtualHost x.x.x.x:80
<VirtualHost x.x.x.x:80>
ServerAdmin admin@pippo.it
ServerName www.pippo.it
Alias /phpmyadmin "/var/www/phpmyadmin"
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
DocumentRoot /home/pippo.it/html
<Directory "/home/pippo.it/html">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "/home/pippo.it/cgi-bin/"
<Directory "/home/pippo.it/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch -Indexes
Order allow,deny
Allow from all
</Directory>
AddHandler cgi-script .cgi
AccessFileName .htaccess
ErrorLog /home/pippo.it/logs/error_log
CustomLog /home/pippo.it/logs/access_log common
ServerSignature On
</VirtualHost>
Quindi, ho installato il server ftp vsftpd, e l'ho configurato nel seguente modo:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=NO
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
nopriv_user=ftp
ftpd_banner=Benvenuto sul server FTP di pippo.it
chroot_local_user=YES
chroot_list_enable=NO
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
Il problema è che se setto come proprietario della cartella "/home/pippo.it" l'utente "pippo.it" con il comando "chown -R pippo.it /home/pippo.it/" il server ftp funziona alla grande mentre il server web, quando carico la home page con un browser, risponde che non ha i permessi per visualizzare i file; viceversa se setto come proprietario l'utente apache con il comando "chown -R apache /home/pippo.it/" il server web funziona alla grande mentre quello ftp non mi lascia accedere ai file. Pensavo di risolvere con "chown -R pippo.it:apache /home/pippo.it/" e invece al server web questa soluzione non piace.
Due soluzione le ho trovate:
1) Impostare i permessi su "home/pippo.it/" a 777
2) Aggiungere l'utente "pippo.it" al gruppo "apache"
Però su diversi forum ho letto che, per questioni di sicurezza, è meglio evitare entrambe le cose.
Spero che qualcuno sappia indicarmi come risolvere il problema, grazie.