Comments on Virtual Hosting With Proftpd And MySQL (Incl. Quota) On Debian Lenny

Virtual Hosting With Proftpd And MySQL (Incl. Quota) On Debian Lenny This document describes how to install a Proftpd server that uses virtual users from a MySQL database instead of real system users. This is much more performant and allows to have thousands of ftp users on a single machine. In addition to that I will show the use of quota with this setup.

12 Comment(s)

Add comment

Please register in our forum first to comment.

Comments

By: Matt

sql.conf - needed a blank line at end for copy and paste to work.

By: LightVision

Hi

The default values for SQL queries when you define the tables should be modified accordingly with the uid and gid used when we added the ftpgroup and ftpuser.

So, if

groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser

 then the query

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';

should be

CREATE TABLE ftpgroup (
groupname varchar(16) NOT NULL default '',
gid smallint(6) NOT NULL default '2001',
members varchar(16) NOT NULL default '',
KEY groupname (groupname)
) TYPE=MyISAM COMMENT='ProFTP group table';

and so on for the other queries.

Corect me if I'm wrong.

On the other side Debian Lenny  adds automaticaly the account for ftp after installing the proftpd-mod-mysql as system user with

root@...#id ftp

uid=105(ftp) gid=65534(nogroup) groups=65534(nogroup)

 

Greetings

By: treki

Work fine with Debian 8 Jessie. Just replace TYPE=MyISAM with ENGINE=MyISAM.

How i configure a unlimited ftpquota?

By: Stephen

Cool tutorial, worked right out of the box, thank you

By: Grzyboll

Based on this guide, I created ansible role https://github.com/Grzyboll/ansible-role-proftpd

By: daniel

Top tutorial.

Do you have a manual for Debian Stretch, php7.2 and mariaDB?

By: daniel

This tutorial works with Debian 9 Stretch, php7 and mariaDB.

Only under Chapter 4 all words MyISAM replace with ENGINE

By: daniel

 Problem:

FXP from (this) proftpd server with virtual users to a another server transfers only the directories. No files.

From a external server to this server the FXP works.

What's the problem?

By: daniel

I have remove the quotas. Now FXP works. With one exception:

FXP between two identical virtual Proftpd servers transfers just the folders.

By: treki

Hi This is still a great guide. I even use these for Debian 10 and MariaDB now. Unfortunately I get the error message at the end of the manual:   MariaDB [ftp]> INSERT INTO `ftpuser` (`id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`, `count`, `accessed`, `modified`) VALUES (1, 'exampleuser', 'secret', 2001, 2001, '/home/www.example.com', '/sbin/nologin', 0, '', '');ERROR 1292 (22007): Incorrect datetime value: '' for column `ftp`.`ftpuser`.`accessed` at row 1 Do you know where the problem is?

By: treki

I have solved the problem. I have install Debian 9 ^^

In Debian 10 the database won't work.

By: daniel

Bitte mach eine Anleitung für Debian 10 und Ubuntu 20.04 LTS.

Deine Anleitungen sind die Besten!

Gerade heute habe ich dieses Tutorial wieder gebraucht (für ein Debian 9, weil Debian 10 nicht funktioniert).