Aqui vamos instalar o servidor de FTP ProFTPd com suporte a MySQL para criar usuários virtuais e filtrar o IPs que podem se conectar ao serviço, assim aumentando a segurança do servidor e melhorando seu desempenho.
Pronto, lembre-se de anotar essa senha, senão vai dar trabalho pra conseguir recuperá-la.
ProFTPD
# tar jxf proftpd-xxx.tar.bz2
# cd proftpd-xxx
# ./configure --with-modules=mod_sql:mod_sql_mysql --with-includes=/usr/local/mysql/include/mysql/ --with-libraries=/usr/local/mysql/lib/mysql/
# make
# make install
Pronto, instalação concluída.
ProFTPD-Admin
Agora vamos instalar o proftpd-admin para podermos configurar o proftpd e terminar o tutorial.
# tar xfvz proftpd_admin_v1.0.tar.gz
# cd proftpd_admin_v1.0
# mysql -psenha < misc/database_structure_mysql/db_structure.sql
Vamos ver como está o banco de dados do proftpd:
mysql> use proftpd_admin
Database changed
mysql> show tables;
Se apareceu isso é porque o banco foi criado corretamente.
Vamos para o próximo passo, dar permissão ao diretório logs e criar o diretório onde os usuários vão poder colocar os arquivos que forem "uploadeados".
# chmod -R o+w logs
# mkdir /ftp
Agora vamos editar os arquivos de configuração do proftpdadmin:
[6] Comentário enviado por baladao em 25/04/2007 - 12:25h
Usamos essa solução em servidores de hospedagem compartilhados, no entanto identificamos um problema que é um grande delay para estabelecer a conexão FTP.
Será pelo volume de acessos que é alto, ou por alguma config?
[8] Comentário enviado por rbg000 em 27/06/2007 - 10:24h
Opa, Legal o artigo, tive um problema na parte do proftpd admin!
Estou com o proftpd e o phpmyadmin instalado e funcionando.
Qdo fui configurar o proftpd admin 1.0.4 tive um problema ao utilizar o comando mysql -psenha < misc/database_structure_mysql/db_structure.sql pois nao achou esse arquivo e tb nao entendi o q ele faz!
Qdo rodo no brownser o proftpd admin ele apresenta o seguinte erro:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/proftpdadmin/includes/db.php on line 72
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/proftpdadmin/index.php on line 25
Acredito que ele n esta enxergando minha database.
A distribuicao q estou usando eh o debian 3.1
Grato aguardo um retorno!
[10] Comentário enviado por metall em 14/11/2008 - 17:33h
Boa Tarde Estou implantando esta solucao num servidor Debian 4.0 estou com o seguinte problema apos cadastrar o usuario ele cadastra normal mais aparece este erro quando da um submit
Warning: Missing argument 4 for MySQL::do_add_vhuser(), called in /var/www/ftpadmin/user_list.php on line 11 and defined in /var/www/ftpadmin/class_database_mysql.php on line 343
Warning: Missing argument 5 for MySQL::do_add_vhuser(), called in /var/www/ftpadmin/user_list.php on line 11 and defined in /var/www/ftpadmin/class_database_mysql.php on line 343
Warning: Missing argument 6 for MySQL::do_add_vhuser(), called in /var/www/ftpadmin/user_list.php on line 11 and defined in /var/www/ftpadmin/class_database_mysql.php on line 343
Warning: Missing argument 7 for MySQL::do_add_vhuser(), called in /var/www/ftpadmin/user_list.php on line 11 and defined in /var/www/ftpadmin/class_database_mysql.php on line 343
Warning: Missing argument 8 for MySQL::do_add_vhuser(), called in /var/www/ftpadmin/user_list.php on line 11 and defined in /var/www/ftpadmin/class_database_mysql.php on line 343
[11] Comentário enviado por letwu em 17/03/2009 - 16:00h
Essa parte de limitação de IP's não funcionou aqui comigo não!
Limitei, conforme dito no passo a passo, mas não limitou a ninguém! Acessando tanto internamente quanto externamente, qualquer IP consegue acessar, independente se tem a opção Allow from xxx.xxx.xxx.xx Deny from all
Outro problema que estou tendo é que no Internet Explorer ele lista todos os diretórios, desde a raiz, e preciso que ele fique somente no diretório permitido. Este problema só acontece quando é acessado pelo Internet Explorer. Nos demais navegadores, clientes de email ou mesmo no Explorer não acontece.
PS: já coloquei a opção " DefaultRoot ~ " (sem aspas) no meu arquivo proftpd.conf
[12] Comentário enviado por gabrielsimas em 07/04/2010 - 16:43h
Falta uma informação:
Dentro do diretório misc do proftpd_admin, existe uma subdiretório chamado config_sample, dentro dele existe este arquivo proftpd.conf no qual deve ser copiado ou apontado com link dinâmico para o diretório /usr/local/etc/ e lá se encontra justamente este arquivo copiado acima. Segue a linha encontrada no manual do Proftpd_admin:
cp misc/sample_config/proftpd.conf /usr/local/etc/proftpd.conf