mod_sql_sqliteSQLite is a lightweight embeddable database system that is gaining in popularity. More details can be found here:
http://www.sqlite.org
The mod_sql_sqlite module is designed to let ProFTPD's
mod_sql module connect to and use a SQLite database. This module
is contained in the mod_sql_sqlite.c file for ProFTPD 1.3.x,
and is not compiled by default. Installation instructions are discussed
here.
The most current version of mod_sql_sqlite is distributed with
ProFTPD.
Please contact TJ Saunders <tj at castaglia.org> with any questions, concerns, or suggestions regarding this module.
mod_sql_sqlite modules requires that SQLite be installed.
After installing SQLite, follow the usual steps for using contrib modules in
ProFTPD, making sure to list mod_sql:
$ ./configure --with-modules=mod_sql:mod_sql_sqlite $ make $ make installYou may need to specify the location of the SQLite header and library files in your
configure command, e.g.:
$ ./configure --with-modules=mod_sql:mod_sql_sqlite \
--with-includes=/usr/local/sqlite/include \
--with-libraries=/usr/local/sqlite/lib
Alternatively, if your proftpd was compiled with DSO support, you
can use the prxs tool to build mod_sql_sqlite as
a shared module:
$ prxs -c -i -d mod_sql_sqlite.c
mod_sql_sqlite requires little configuration.
In the SQLConnectInfo directive, simply use the full path
to the SQLite database file; no username or password are required. The
SQLBackend provided by mod_sql_sqlite is "sqlite3".
For example:
<IfModule mod_sql_sqlite.c>
SQLBackend sqlite3
SQLConnectInfo /path/to/ftpd.db
</IfModule>
Note that due to the way that mod_sql_sqlite implements database
transactions (e.g. INSERT and UPDATE SQL statements
for SQLLog directives), SQLite-3.6.5 or later is required
in order for mod_sql_sqlite to support SQLLog
directives if DefaultRoot or <Anonymous> are
used. (SQLite-3.6.5 and later support the MEMORY journal mode, which is
needed for supporting the SQLLog directives in a chrooted
process.)
Once you have your SQLite database file created, you can follow the rest of the instructions in the SQL howto for creating the schema for user/group authentication.