ProFTPD + MySQL - Servidor FTP com usuários em banco de dados
Aqui vamos instalar o servidor de FTP ProFTPd com suporte a MySQL para criar usuários virtuais e filtrar o IPs que podem se conectar ao serviço, assim aumentando a segurança do servidor e melhorando seu desempenho.
Parte 2: Instalações
MySQL
# tar zxf mysql-xx.tar.gz
# cd mysql-xx
# ./configure --prefix=/usr/local/mysql
# make
# make install
Pronto, instalado, agora vamos configurar. Para facilitar, vamos alterar o /etc/profile e inserir a seguinte linha:
export MYSQLPATH=/usr/local/mysql/bin
e alterar o linha do PATH para ficar assim:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:$MYSQLPATH"
Agora sim, efetue o logout e depois logue novamente parar entrar em vigor a alteração no profile e agora vamos configurar o MySQL:
# mysql_install_db
# chown -R mysql:mysql /usr/local/mysql/var
# mysqld_safe &
# mysqladmin -u root password 'password'
Pronto, lembre-se de anotar essa senha, senão vai dar trabalho pra conseguir recuperá-la.
ProFTPD
# tar jxf proftpd-xxx.tar.bz2
# cd proftpd-xxx
# ./configure --with-modules=mod_sql:mod_sql_mysql --with-includes=/usr/local/mysql/include/mysql/ --with-libraries=/usr/local/mysql/lib/mysql/
# make
# make install
Pronto, instalação concluída.
ProFTPD-Admin
Agora vamos instalar o proftpd-admin para podermos configurar o proftpd e terminar o tutorial.
# tar xfvz proftpd_admin_v1.0.tar.gz
# cd proftpd_admin_v1.0
# mysql -psenha < misc/database_structure_mysql/db_structure.sql
Vamos ver como está o banco de dados do proftpd:
mysql> use proftpd_admin Database changed mysql> show tables;
+--------------------------+ | Tables_in_proftpd_admin | +--------------------------+ | ftpquotalimits | | ftpquotatallies | | grouptable | | usertable | | xfer_stat | +--------------------------+5 rows in set (0.01 sec)
Se apareceu isso é porque o banco foi criado corretamente.
Vamos para o próximo passo, dar permissão ao diretório logs e criar o diretório onde os usuários vão poder colocar os arquivos que forem "uploadeados".
# chmod -R o+w logs
# mkdir /ftp Agora vamos editar os arquivos de configuração do proftpdadmin:
# mcedit include_config_oldstyle.php
Altere os seguintes campos:
$config_database_type = 'MySQL'; $config_database_host = 'localhost'; $config_database_user = 'root'; $config_database_passord = 'senha'; $config_database_database = 'proftpd_admin';
Agora vamos à configuração proftpd.conf, próxima página.
Parabéns pelo artigo.