Alojamiento Virtual · 3 min read · Dec 14, 2025
Alojamiento Virtual Con vsftpd Y MySQL En Debian Etch
Alojamiento Virtual Con vsftpd Y MySQL En Debian Etch
Versión 1.0
Autor: Falko Timme
Vsftpd es uno de los servidores FTP más seguros y rápidos para Linux. Normalmente, vsftpd se configura para trabajar con usuarios del sistema. Este documento describe cómo instalar un servidor vsftpd que utiliza usuarios virtuales de una base de datos MySQL en lugar de usuarios del sistema reales. Esto es mucho más eficiente y permite tener miles de usuarios FTP en una sola máquina.
Para la administración de la base de datos MySQL, puedes usar herramientas basadas en la web como phpMyAdmin, que también se instalará en este tutorial. phpMyAdmin es una interfaz gráfica cómoda, lo que significa que no tienes que lidiar con la línea de comandos.
Este tutorial se basa en Debian Etch (Debian 4.0). Ya deberías haber configurado un sistema básico de Debian Etch, como se describe en los primeros seis capítulos de este tutorial: https://www.howtoforge.com/perfect_setup_debian_etch
Este tutorial está destinado a ser una guía práctica; no cubre los antecedentes teóricos. Estos se tratan en muchos otros documentos en la web.
¡Este documento se proporciona sin garantía de ningún tipo! Quiero decir que esta no es la única forma de configurar un sistema así. Hay muchas maneras de lograr este objetivo, pero este es el camino que elijo. No ofrezco ninguna garantía de que esto funcione para ti.
1 Nota Preliminar
En este tutorial utilizo el nombre de host server1.example.com con la dirección IP 192.168.0.100. Estas configuraciones pueden diferir para ti, así que debes reemplazarlas donde sea apropiado.
2 Instalar vsftpd, MySQL Y phpMyAdmin
Vsftpd no tiene soporte MySQL incorporado, por lo tanto, debemos usar PAM para autenticar contra la base de datos MySQL. Así que instalamos libpam-mysql además de vsftpd, MySQL y phpMyAdmin:
apt-get install vsftpd libpam-mysql mysql-server mysql-client phpmyadminCrea una contraseña para el usuario root de MySQL (reemplaza yourrootsqlpassword con la contraseña que deseas usar):
mysqladmin -u root password yourrootsqlpasswordLuego verifica con
netstat -tap | grep mysqlen qué direcciones está escuchando MySQL. Si la salida se ve así:
tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqldlo que significa que MySQL está escuchando solo en localhost.localdomain, entonces estás seguro con la contraseña que configuraste antes. Pero si la salida se ve así:
tcp 0 0 *:mysql *:* LISTEN 2713/mysqlddeberías establecer una contraseña de MySQL para tu nombre de host también, porque de lo contrario cualquiera puede acceder a tu base de datos y modificar datos:
mysqladmin -h server1.example.com -u root password yourrootsqlpassword3 Crear La Base De Datos MySQL Para vsftpd
Ahora creamos una base de datos llamada vsftpd y un usuario de MySQL llamado vsftpd que el demonio vsftpd usará más adelante para conectarse a la base de datos vsftpd:
mysql -u root -pCREATE 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;Reemplaza la cadena ftpdpass con la contraseña que desees usar para el usuario MySQL vsftpd. Aún en la consola de MySQL, creamos la tabla de base de datos que necesitamos (sí, ¡solo hay una tabla!):
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 habrás notado, con el comando quit; hemos salido de la consola de MySQL y estamos de vuelta en la consola de Linux.
Por cierto, (asumo que el nombre de host de tu sistema de servidor FTP es server1.example.com) puedes acceder a phpMyAdmin en http://server1.example.com/phpmyadmin/ (también puedes usar la dirección IP en lugar de server1.example.com) en un navegador e iniciar sesión como el usuario vsftpd. Luego puedes echar un vistazo a la base de datos. Más adelante puedes usar phpMyAdmin para administrar tu servidor vsftpd.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.