Using SolarWinds Serv-U on Linux with a SQL Server Authentication Database

SolarWinds Serv-U is a file server that allows users to transfer files via FTP, FTPS, SFTP, web browsers, and mobile devices. Serv-U runs on either Windows or Linux and supports both IPv4 and IPv6 networks.

To authenticate end users Serv-U can use its own user database or an external collection of user and group information. Serv-U supports two types of external authentication backends: Windows Active Directory and relational databases accessible via ODBC.

Storing users in an ODBC database can provide much faster response times when user counts grow above several thousand.

You can configure the ODBC connections in two locations:

Each server and each domain must have a unique ODBC connection to ensure that they are stored separately.

Serv-U File Server can populate an empty database with all the tables necessary to store its user and group information. Alternatively, Serv-U can also use an existing database shared with other applications and services.

Whichever option you choose, you need create an ODBC connection that connects to the target DBMS. This example shows how to connect to a SQL Server database from a Serv-U machine running on Linux.

  1. Download the SQL Server ODBC driver for your client platform.

    Check with your vendor / reseller to find out whether you version of Serv-U is 32-bit or 64-bit. If it's 32-bit, download the 32-bit SQL Server ODBC driver for Linux. If it's 64-bit, download the 64-bit SQL Server ODBC driver for Linux.

  2. Install and license the SQL Server ODBC driver on your client machine.

    For installation instructions, see the ODBC driver documentation.

    Note You need the unixODBC Driver Manager installed on your machine. The Easysoft distribution includes a version of the unixODBC Driver Manager that the Easysoft SQL Server ODBC driver has been tested with. The Easysoft driver setup program gives you the option to install unixODBC.

  3. Create an ODBC data source in /etc/odbc.ini that connects to the SQL Server database. For example:
    [SQLSERVER_SAMPLE]
    Driver=Easysoft ODBC-SQL Server
    Description=Easysoft SQL Server ODBC driver
    Server=myhost\myinstance
    Port=1433
    Database=mydatabase
    User=myuser
    Password=mypassword
  4. Use isql to test the new data source. For example:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER
    

    At the prompt, type "help" to display a list of tables. To exit, press return in an empty prompt line.

    If you are unable to connect, refer to this article and the SQL Server ODBC Driver Knowledge Base for assistance.

These instructions show how to use this connection in Serv-U to populate an empty SQL Server database:

  1. In Serv-U, choose Domain Details > Database.
  2. Ensure that the Automatically create required tables and the Automatically create required columns options are both enabled.
  3. Enter the Data Source Name (DSN) you created earlier (following the example, you would enter "SQLSERVER_SAMPLE"), and the user name and password required to access the database.
  4. Choose Save.
  5. Test the ODBC connection by creating a new user account in:
    • Users > Database Users.

      –Or–

    • Global Users > Database Users

    and see if the user is correctly displayed in the list.

    If the user is not correctly displayed, check the Domain Activity > Log menu

If the ODBC connection has been successfully created, Serv-U creates all the necessary tables and columns to work with the external database.