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.
Agora vamos fazer o acesso ficar restrito apenas para você, ou seja, o administrador. Como eu tenho o Apache2 + PHP + MySQL já instalados, vou fazer usando a minha instalação como base, caso não tenha e precise fazer isso, siga o tutorial que escrevi aqui:
Pronto, agora reinicie o Apache, quando acessar http://proftpdadmin.dominio.com.br ele vai pedir autenticação, entre como admin e coloque a senha. E assim está pronto.
Só para finalizar uma dica, Toda vez que tiver que criar um usuário você deverá criar o diretório dele manualmente no /ftp e depois adicionar as seguintes linhas ao final do proftpd.conf:
<Directory /ftp/usuario/*>
AllowOverwrite on
HideNoAccess on
<Limit STOR MKD WRITE DEL READ>
AllowAll
</Limit>
</Directory>
[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