PROFTPD Y MYSQL EN DEBIAN LENNY Este documento describe cómo instalar un servidor de Proftpd que utiliza usuarios virtuales de una base de datos MySQL en vez de los usuarios del sistema real. Esto es mucho más rendimiento y permite tener miles de usuarios de FTP en una sola máquina. Para la administración de la base de datos MySQL puede usar las herramientas basadas en web como phpMyAdmin, que también se instalará en esta guía. PhpMyAdmin es una interfaz gráfica agradable que significa que usted no tiene que perder el tiempo con la línea de comandos. INSTALAR MYSQL Y PHPMYADMIN Todo esto se puede instalar con un solo comando: Aca damos una contraseña para MySQL
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
PROFTPD Y MYSQL EN DEBIAN LENNY
Este documento describe cómo instalar un servidor de Proftpd que utiliza usuarios
virtuales de una base de datos MySQL en vez de los usuarios del sistema real. Esto es
mucho más rendimiento y permite tener miles de usuarios de FTP en una sola máquina.
Para la administración de la base de datos MySQL puede usar las herramientas basadas
en web como phpMyAdmin, que también se instalará en esta guía. PhpMyAdmin es una
interfaz gráfica agradable que significa que usted no tiene que perder el tiempo con la
línea de comandos.
INSTALAR MYSQL Y PHPMYADMIN
Todo esto se puede instalar con un solo comando:
Aca damos una contraseña para MySQL
Confirmamos la contraseña anteriormente ingresada:
Aca configuramos phpmyadmin que nos instale el apache2 solamente:
Instalar Proftpd con Soporte en MySQL
Para Debian existe un paquete pre-configurado de proftpd-mysql. Lo Instalamos como
independiente con:
Aceptamos la instalacion:
Lo configuramos como independiente o Standalone
Ahora creamos un usuario y un grupo el cual sera asignado a cada uno de nuestros
usuarios virtuales que podran tener acceso al servidor de archivos.
Crear Bases de Datos con MySQL para Proftpd
Ahora vamos a crear la base de datos “ftp” y un usuario llamado proftpd. Con el que
mysql se conectara a la base de datos.
Para ingresar a crear las bases de datos ingresamos:
Luego nos pedira un Password, esta es la contraseña que ingersamos en la instalacion de
MySQL.
Despues entraremos a la linea de comandos de MySQL nos deberia salir:
Podemos crear la base de datos por consola o disponemos de una herramienta grafica
llamada phpmyadmin que nos facilitara en gran medida la creacion de las Bases de
Datos en este tutorial voy a explicar las dos.
CREATE DATABASE ftp; “creamos nuestra base de datos”
GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO 'proftpd'@'localhost' IDENTIFIED BY 'password'; en “password “ le damos la contraseña de MySQL
GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO 'proftpd'@'localhost.localdomain' IDENTIFIED BY 'password'; en “password “ le damos la contraseña de MySQL
FLUSH PRIVILEGES;
En phpmyadmin:
En la pestaña privilegios le damos los privilegios que mostre anterioemente por consola.
Ahora vamos a crear la base de datos “ftp” y un usuario llamado proftpd. Con el que
mysql se conectara a la base de datos.
USE ftp;
Creamos dos tablas con los siguientes parametros:
CREATE TABLE ftpgroup (
groupname varchar(16) NOT NULL default '',
gid smallint(6) NOT NULL default '5500',
members varchar(16) NOT NULL default '',
KEY groupname (groupname)
) TYPE=MyISAM COMMENT='ProFTP group table';
En phpmyadmin:
Creamos los Campos anteriores:
CREATE TABLE ftpuser (
id int(10) unsigned NOT NULL auto_increment,
userid varchar(32) NOT NULL default '',
passwd varchar(32) NOT NULL default '',
uid smallint(6) NOT NULL default '5500',
gid smallint(6) NOT NULL default '5500',
homedir varchar(255) NOT NULL default '',
shell varchar(16) NOT NULL default '/sbin/nologin',
count int(11) NOT NULL default '0',
accessed datetime NOT NULL default '0000-00-00 00:00:00',
modified datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (id),
UNIQUE KEY userid (userid)
) TYPE=MyISAM COMMENT='ProFTP user table';
En phpmyadmin:
Con los parametros:
Salimos de la linea de comandos:
Configurar Proftpd
Primero modificamos el archivo modules.conf
Descomentsmos las siguientes lineas:
Despues modificamos el archivo proftpd.conf
Comentamos, descomentamos y modificamos las siguientes lineas:
Ahora configuramos el archivo sql.conf
Y agregamos la siguientes lineas:
DefaultRoot ~
SQLBackend mysql
# The passwords in MySQL are encrypted using CRYPT
SQLAuthTypes Plaintext Crypt
SQLAuthenticate users groups
# used to connect to the database
# databasename@host database_user user_password
SQLConnectInfo ftp@localhost proftpd password
Nota: Aca en password ponemos la contraseña de MySQL
# Here we tell ProFTPd the names of the database columns in the "usertable"
# we want it to interact with. Match the names with those in the db