Create self-signed SSL certificate - create a self-signed X.509 certificate.
Enable ODBC data source - Use ODBC data source
Data source name - The ODBC data source name in the "System DSN"
Database user - The name of the database user
Database password - The password of the database userLocal host id - The id value here is related to the "host_id" column in the "acct_table". Different host IDs can be used to represent different machines, so FTP servers of different machines can share the same database.
Test, create or upgrade database tables - Create, test and upgrade Xlight FTP Server's database tables. To create or upgrade database tables, the database user must have the related database permission.
When a user logs in to the FTP server, Xlight FTP Server will send two SQL queries to the database through ODBC connection to verify his password and get his settings.
The username and password are used by the first SQL query to find a match record in the database and get the basic parameters of this user, such as "home_path", "home_perm" etc. The "param_index" value returned by the first SQL query will also be used by the second SQL query.
The second SQL query will use the "param_index" value returned from the first SQL query to query the database table "acct_param_table" to get more settings for this user.
Xlight FTP Server allows the system administrator to replace these two SQL query statements to support advanced database applications, such as "stored procedure" in the database.
Statement to replace the first SQL query - The following parameters can be sent to the "stored procedure" in the first SQL query replacement:
$USER - This variable will be replaced with the username of the FTP user
$PASS - This variable will be replaced with password(MD5 or Text) of the FTP user
$ID - This variable will be replaced with the "Local Host ID" value of the machine
$PORT - This variable will be replaced with the virtual server port
$USERIP - This variable will be replaced with the IP address of the FTP user
$SERVERIP - This variable will be replaced with the IP address of the virtual server that the FTP user is connected to
For example, if you use "EXEC proc_getuser '$USER', '$PASS', $ID, $PORT" for the first SQL query replacement, when the user "test" logins with the password "hello" to FTP server port 21 and host_id 1, after replacement, it sends "EXEC proc_getuser 'test', 'hello', 21, 0" to database.
Statement to replace the second SQL query - The following parameters can be sent to the "stored procedure" in the second SQL query replacement:
$INDEX - This variable will be replaced with the "param_index" value returned from the first SQL query replacement
$PORT - This variable will be replaced with the virtual server port
$SERVERIP - This variable will be replaced with the IP address of the virtual server that the FTP user is connected to
If the "stored procedures" are used, the "acct_table" and "acct_param_table" used by the Xlight FTP Server may not exist in the database. Xlight FTP server doesn't know if "acct_table" or "acct_param_table" really exists in the database. It only looks at the returned result sets of both SQL queries. If the first SQL query replacement statement returns a row from the database, Xlight FTP will think the authentication is successful. It will use values from the returned row as basic parameters of this user. If you want to deny this user from accessing the FTP server, you should let the database not return any row to the FTP server, which indicates that this user failed authentication. The "param_index" value returned from the first SQL query can be used by the second SQL query replacement statement.
Enable remote server administration - Enable remote administration function. If remote administration is disabled, no remote administrator can connect to the FTP server.
Administrator with full control right - Remote administrator has full administration right
Administrator with read-only right - Remote administrator has read-only right
Remote Administrator IP ranges - Restrict IP ranges that the remote administrator can connect from.
Use dedicated remote admin port - A dedicated remote administration port is not necessary, but if the system administrator wants a dedicated remote administration port, he can configure it here.
Use implicit SSL on dedicated port - The remote administrator must connect to the dedicated port by the implicit SSL. Before using this option, the server must have a valid X.509 server certificate selected in the "Global Options->Server SSL Certification".