Hospedagem Virtual · 3 min read · Dec 14, 2025

Hospedagem Virtual Com vsftpd E MySQL No Debian Etch

Hospedagem Virtual Com vsftpd E MySQL No Debian Etch

Versão 1.0
Autor: Falko Timme

Vsftpd é um dos servidores FTP mais seguros e rápidos para Linux. Normalmente, o vsftpd é configurado para trabalhar com usuários do sistema. Este documento descreve como instalar um servidor vsftpd que utiliza usuários virtuais de um banco de dados MySQL em vez de usuários reais do sistema. Isso é muito mais eficiente e permite ter milhares de usuários FTP em uma única máquina.

Para a administração do banco de dados MySQL, você pode usar ferramentas baseadas na web como o phpMyAdmin, que também será instalado neste guia. O phpMyAdmin é uma interface gráfica confortável, o que significa que você não precisa se preocupar com a linha de comando.

Este tutorial é baseado no Debian Etch (Debian 4.0). Você já deve ter configurado um sistema básico Debian Etch, conforme descrito nos primeiros seis capítulos deste tutorial: https://www.howtoforge.com/perfect_setup_debian_etch

Este guia é destinado a ser um manual prático; não cobre os fundamentos teóricos. Eles são tratados em muitos outros documentos na web.

Este documento vem sem garantia de qualquer tipo! Quero dizer que este não é o único modo de configurar tal sistema. Existem muitas maneiras de alcançar esse objetivo, mas este é o caminho que eu escolhi. Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Neste tutorial, uso o nome do host server1.example.com com o endereço IP 192.168.0.100. Essas configurações podem diferir para você, então você deve substituí-las onde apropriado.

2 Instalar vsftpd, MySQL E phpMyAdmin

Vsftpd não tem suporte embutido para MySQL, portanto, devemos usar o PAM para autenticar contra o banco de dados MySQL. Então, instalamos libpam-mysql além do vsftpd, MySQL e phpMyAdmin:

apt-get install vsftpd libpam-mysql mysql-server mysql-client phpmyadmin

Crie uma senha para o usuário MySQL root (substitua yourrootsqlpassword pela senha que você deseja usar):

mysqladmin -u root password yourrootsqlpassword

Então verifique com

netstat -tap | grep mysql

em quais endereços o MySQL está ouvindo. Se a saída parecer com isto:

tcp        0      0 localhost.localdo:mysql *:*                     LISTEN     2713/mysqld

o que significa que o MySQL está ouvindo apenas em localhost.localdomain, então você está seguro com a senha que definiu antes. Mas se a saída parecer com isto:

tcp        0      0 *:mysql *:*                     LISTEN     2713/mysqld

você deve definir uma senha MySQL para seu nome de host também, porque caso contrário, qualquer um pode acessar seu banco de dados e modificar dados:

mysqladmin -h server1.example.com -u root password yourrootsqlpassword

3 Criar O Banco De Dados MySQL Para vsftpd

Agora criamos um banco de dados chamado vsftpd e um usuário MySQL chamado vsftpd que o daemon vsftpd usará mais tarde para se conectar ao banco de dados vsftpd:

mysql -u root -p
CREATE DATABASE vsftpd;  
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'ftpdpass';  
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';  
FLUSH PRIVILEGES;

Substitua a string ftpdpass pela senha que você deseja usar para o usuário MySQL vsftpd. Ainda no shell MySQL, criamos a tabela do banco de dados que precisamos (sim, há apenas uma tabela!):

USE vsftpd;
CREATE TABLE `accounts` (  
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,  
`username` VARCHAR( 30 ) NOT NULL ,  
`pass` VARCHAR( 50 ) NOT NULL ,  
UNIQUE (  
`username`  
)  
) ENGINE = MYISAM ;
quit;

Como você pode ter notado, com o comando quit; saímos do shell MySQL e voltamos ao shell Linux.

A propósito, (estou assumindo que o nome do host do seu sistema de servidor FTP é server1.example.com) você pode acessar o phpMyAdmin em http://server1.example.com/phpmyadmin/ (você também pode usar o endereço IP em vez de server1.example.com) em um navegador e fazer login como o usuário vsftpd. Então você pode dar uma olhada no banco de dados. Mais tarde, você pode usar o phpMyAdmin para administrar seu servidor vsftpd.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.