Vamos configurar o nosso
MySQL para o
Apache ter acesso:
# aptitude install mysql-server-5.1 mysql-client-5.1 php5-mysql -y
Agora ajustar o MySQL:
# /etc/init.d/mysql stop
# mv /var/run/mysqld /var/chroot/var/run/mysqld
# ln -s /var/chroot/var/run/mysqld /var/run/mysqld
Já podemos inicializar o nosso MySQL:
# /etc/init.d/mysql start
Ajustar as permissões do nosso site:
# chown -R usuarioftp:www-data /var/chroot/var/www/website
Configurar o logrotate para ir fazendo rotação dos logs do nosso site, arquivo /etc/logrotate.d/websites:
# vim /etc/logrotate.d/websites
#/etc/logrotate.d/websites
/var/www/website/logs/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 640 www-data www-data
sharedscripts
postrotate
/etc/init.d/apache2 reload > /dev/null
endscript
}
Configurar o vsftdp para podermos subir os arquivos para o site, os usuários somente vão poder ver o seu home, eles vão ficar presos dentro da jaula. Abra o arquivo /etc/vsftpd.conf:
# vim /etc/vsftpd.conf
#/etc/vsftpd.conf
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=002
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
nopriv_user=ftp
ftpd_banner=Bem-Vindo ao FTP douglas.wiki.br.
deny_email_enable=NO
chroot_local_user=YES
chroot_list_enable=NO
banned_email_file=/etc/vsftpd.banned_emails
chroot_list_file=/etc/vsftpd.chroot_list
ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
Criando mais alguns arquivos necessários
Nesse arquivos podemos colocar os usuários que vão poder sair da jaula:
# touch /etc/vsftpd.chroot_list
Nesse arquivo podemos colocar os e-mails que vão ser negados pelo vsftpd.
# touch /etc/vsftpd.banned_emails
Vamos reiniciar o nosso serviço:
# /etc/init.d/vsftpd restart
Agora vamos testar o acesso via FTP:
# ftp localhost
Connected to localhost.
220 Bem-Vindo ao FTP douglas.wiki.br.
Name (localhost:root):
usuarioftp
331 Please specify the password.
Password:
senha
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 3 1001 33 4096 Jun 24 10:41 frontend
drwxr-xr-x 2 1001 33 4096 Jun 24 10:44 logs
226 Directory send OK.
ftp>
quit
221 Goodbye.
Como pode ser notado, conseguimos acessar o nosso servidor normalmente com o usuário que criamos.