Pure-ftpd: Servidor de FTP com MySQL, quota e usuários virtuais

Este artigo demonstra de forma didática, como ter um servidor de FTP no Linux robusto e confiável, integrado com MySQL.

[ Hits: 40.585 ]

Por: Emerson Araujo em 12/11/2008


Preparando o ambiente



Bom, primeiramente quero agradecer a oportunidade de estar escrevendo meu primeiro artigo no VOL, espero que possa ajudar várias pessoas. A intenção de escrever este artigo surgiu depois de "lutar" bastante para configurar um servidor de FTP que fosse fácil de gerenciar (afinal nem sempre estou com saco pra ouvir o pessoal do comercial pedir pra criar conta de FTP) e robusto ao mesmo tempo.

Um amigo meu havia instalado, mas eu precisava entender seu funcionamento, então resolvi desinstalar e instalar tudo novamente. Apanhei muito mas consegui, pois os tutoriais disponíveis sempre deixam de fora pequenos detalhes, e por incrível que pareça são justamente esses pequenos detalhes que impedem o serviço de funcionar do jeito que queremos.

Pure-Ftpd - Servidor com foco em segurança

Como diz o próprio site do pure-ftpd, ele foi desenvolvido pensando em segurança, daí ele tem inúmeras vantagens, como suporte a SSL/TLS, usuários virtuais e outros que veremos a seguir.

Os sistemas utilizados foram Ubuntu Linux 8.04 e 8.10, ambos funcionaram perfeitamente.

Instalando o software necessário

Neste artigo utilizaremos o MySQL como base de dados para autenticação dos usuários, logo se você não o tem instalado, seguem os comandos:

(só pra lembrar # = root)

# apt-get install mysql-server mysql-client

Durante a instalação deve ser questionado a senha do usuário root do MySQL, se por acaso acontecer execute:

# mysqladmin -u root password senha (substituir "senha" pela senha de sua preferência)

Pronto, temos o servidor MySQL rodando (se não deu nenhum erro rsrsrs).

Vamos partir então para a instalação do Pure-ftpd, no caso do Ubuntu o mesmo está nos repositórios, portanto não há dificuldade na instalação, bastando somente escolher o pacote com suporte ao MySQL.

Para instalar o pure-ftpd com suporte ao MySQL execute o seguinte comando:

# apt-get install pure-ftpd-mysql

Se durante a instalação for questionado sobre o modo de execução (inetd ou standalone), escolha standalone, a segunda pergunta é só responder "no" (yes = root e não queremos rodar ele como root).

Pronto, se deu tudo certo já temos instalados todos os softwares necessários para a configuração do nosso servidor FTP.

    Próxima página

Páginas do artigo
   1. Preparando o ambiente
   2. Configuração do pure-ftpd
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando o giFT com plugins para as principais redes

N2N: Layer Two Peer-to-Peer VPN

Wireless no Slackware com ndiswrapper para Internet via rádio

Flash 9 com som OSS

Linux, uma experiência de uso

  
Comentários
[1] Comentário enviado por alexandre.nas em 14/11/2008 - 00:51h

Gostaria de saber se esse FTP permite a geração de logs de FTP para cada usuário. Por exemplo: O usuário teste publica seus arquivos e será gerado um arquivo em /var/log/pure-ftpd/teste.log.

Obrigado!

[2] Comentário enviado por araujoprog em 17/11/2008 - 22:10h

Amigo ele gera os logs em arquivo unico, mas detalhado por usuários.

[3] Comentário enviado por dramos em 10/04/2009 - 22:24h

Olá, primeiramente obrigado pelo tutorial, está muito bem explicado, o que é ótimo para mim que sou inciante em linux. vamos lá..... Fiz tudo exatamente como a explicação, não deu erro nenhum, mas nao ta funfando.... nem encontra o host, estou tentando conectar de outro micro pela rede local mesmo (192.168.1.XXX), será que tem que liberar algo a mais?

[4] Comentário enviado por killer_val em 30/01/2010 - 13:54h

ola belo tuto deu tudo certinho
agora como que faz para add mais usuarios tem algum script ou software

[5] Comentário enviado por calangoloco em 24/01/2013 - 09:14h

Testado e aprovado no Debian 6

[6] Comentário enviado por Carlos_Cunha em 15/07/2013 - 18:04h

Quem tiver com problemas na hora da criação da DATABASE na ultima linha no tipo de BASE ") TYPE=MyISAM;", isso pode ser(pelo menos comigo) pq nas versões mais novas do Msyql(usando 5.5) para determinar um tipo da DB de usa dessa forma ") ENGINE=MyISAM;" , ajustando isso funcionou.

Obrigado pelo HOW TO :-D

Usado em Debian 7 64Bits

[7] Comentário enviado por allanbarcelos em 20/03/2014 - 02:07h

existe uma forma de fazer um update ou um insert existe algum comando no pure-ftpd ?

[8] Comentário enviado por removido em 06/03/2022 - 19:18h


estamos no ano de 2022 e mysql apresenta o seguinte erro de version:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'senha';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'senha' at line 1

alguem sabe porque?

[9] Comentário enviado por allanbarcelos em 06/03/2022 - 19:49h

Tenta assim:

GRANT ALL PRIVILEGES ON 'pureftpd'.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'senha';

So vim responder porque você ressuscitou um tópico com 14 anos :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts