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.937 ]

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

Usando o Lynx para atualizar informações no seu site

Qualidade de Serviços para Gateways Linux (QoS)

Criando um roteador Linux com sua máquina antiga

Controle de banda de domínios virtuais no Debian Etch

Gravando conversas no Skype do Linux

  
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