Child pages
  • Installing the Variations Server Software - 6.*

This space has moved to IU's Confluence.
It is located at

Skip to end of metadata
Go to start of metadata

Installing the Variations Server Software

How to install and configure the Variations server software. Some elements of the server software configuration may be dependent on settings created during the Server Setup process. Review the previous step if you have question relating to how your environment is setup.


Dmlserv Account

Login to the dmlserv account on your server machine.

Downloading files, executing commands, and editing configuration files as dmlserv is necessary (unless otherwise specified) for the proper installation and configuration of the Variations server.

Variations Software Download

Download the gzipped Variations tar file to /home/dmlserv.
To download the file,

  • first go to
  • next select the Download Variations server link,
  • then select the latest version Server.tar.gz download link.
  • The download sequence for the browser should commence.

Extract the server software files.

  • In /home/dmlserv execute:
    (substitute the actual file name for server.tar.gz)
    tar xvfz server.tar.gz

Variations Initialization

The Variations initialization script will:

  • Copy files in to appropriate locations
  • Set necessary permissions
  • Alter configuration files to include host name values and library name values

The Variations initialization script requires four values:

  • Library name library_name** This value should be an abbreviation of your school or library (ex:IU)
    • Use only uppercase letters with no spaces
    • E.g., IU
  • Variations server hostname hostname** This is the fully qualified hostname of the server where Variations is being installed
    (device eth0)
    • E.g.,
  • Web hostname web-hostname** This is the fully qualified hostname or IP address where the cgi-bin scripts and web pages will be located.
    (device eth0:0, Variations webserver)
    • E.g.,
  • Streaming server hostname streaming-hostname** This is the fully qualified hostname of the Darwin streaming server

    Do NOT use an IP address here as it may cause client crashes on Macs.

    (device eth0:1, Darwin streaming server)
  • E.g.,

These values will be used throughout the configuration process, and will be required for Client-Server communication. Check that you have the correct IP values and/or resolved hostnames before running the initialization scripts.

Since the script modifies and configures multiple directories and files:

Avoid running the script multiple times!

If you must run this script more than once:

Use the same values that you entered previously

Run the Variations Initialization Script

  • In directory /home/dmlserv/Variations-6.1/, run:

    bin/ library_name hostname web-hostname streaming-hostname

Successful execution will provide no output.

Variations Derivative Upload Service

As part of the digitizing ingest process, derivative files need to be transported from the digitizer's client computer to the Variations Streaming Server host computer. Currently two options are supported for the mechanism to provide this transport service, Samba or SFTP.

Samba provides a network connection on the streaming server host that the digitizer client can link to by defining a mapped network drive. SFTP is a file transport process that is implemented under SSH. The use of the selected service is determined by configuration of the digitizer client and performed by the client software. Either approach appears the same to the digitizer except for the Samba requirement of a mapped network drive on the client computer.

Variations Configuration

File paths are relative to /home/dmlserv/Variations-6.1 except where noted.

Server Configuration Files

Modify the main server configuration files.
The files dmlserver.xml and dmlscript.conf must be modified where specified in the configuration instructions on the server configuration page. Modifying the configuration files changes the Variations server settings which provide for integration with your university's systems.

  • Configuration Files
    • conf/server/dmlserver.xml
    • conf/server/dmlscript.conf

Server Access Policy

Customize the server access policy configuration file
The access policy configuration file is used by Variations to control user access rights. The accessPolicy.xml file is referenced by Variations to determine access rights for user groups (e.g., catalogers). Later in the documentation you will be asked to create groups using the access management script. The groups created by the script will be dependent on the information in the accessPolicy.xml file. For more information on this process review Administrator's Guide - Authorization page.

  • Access Policy File
    • conf/server/accessPolicy.xml
  • Configuration Instructions
    • The access policy's default setting should be configured correctly for your institution.
    • For more information visit Editing the Access Policy File and review the file to determine if any further edits are required (this will be different at each institution).

Server-Client Configuration Files

Customize the server-client configuration file.
The client configuration files on the server allows many of the server scripts to access Variations as a client. Scripts like (described more below) utilize this configuration files in order to execute.

  • Server-Client Configuration File
    • conf/client/dml.conf
    • conf/client/client_console.lcf
    • conf/client/client_file.lcf
  • Configuration Instructions
    • The initialization script will configure this file with the correct information
    • For more information visit Configuring the Client and review the files to determine if any further edits are required

Statistics Files

Customize files containing IP lists for statistics.
The statistics files are used by Variations to generate user usage and streaming statistics. A Perl script compiles and displays the usage statistics through a web based CGI output page. The configuration files MusicLibraryComputers.txt and OnCampusComputers.txt allow for limiting of the statistics by IP address. The script utilizes the configuration files for the interpretation of the server logs, which are then processed appropriately to the CGI output page. Adding the applicable IP addresses to both the music library computers file and on campus computers file will support tracking of usage by location.

  • Configuration Files
    • data/statistics/MusicLibraryComputers.txt
    • data/statistics/OnCampusComputers.txt
  • Configuration Instructions
    These files need to be edited to contain a list of IP addresses (regular expression syntax allowed) for usage by the statistics scripts.
  • Viewing Statistics
    • The CGI files that display the usage statistics are located at:
      • public_html/stats/_
    • Once you start the Variations server you should be able to view your statistic at the web address:
    • The statistics page is uses an htaccess file to password protect its content
      • Default username:dmlstats and password:stats
      • For more information on updating the password and user name visit the Statistics page

Vocabulary Files

Customize vocabulary files containing values to be used in the metadata when cataloging.

A number of files located in data/vocab/ provide string values used in the metadata. The only vocab files that should be changed are AudioDigitizationEquipment.vcb, ImageDigitizationEquipment.vcb, and Location.vcb. The files should be edited to include relevant information that can be used by digitizers and catalogers during the ingest process. The terms will be added to drop down boxes and can then be applied to media objects as metadata. The equipment lists should include the different types of equipment used in the digitization process like scanners, amplifiers, and other devices. The location file should be updated to include the storage location of the physical copies.

  • Format
    • One Item Per line
    • Ex:
      Music Library
      Personal Collection
  • Configuration Files
    • data/vocab/AudioDigitizationEquipment.vcb
    • data/vocab/ImageDigitizationEquipment.vcb
    • data/vocab/Location.vcb
  • Configuration Instructions
    • Edit these files to contain a list of values to be used during digitization and cataloging.

Access Manager and Metadata Schema Setup


Next you will need to create two separate databases. The first database will be used for access management and the other database will be used for the metadata schema.

The Variations library application server retrieves information for a user from the Access Manager Database, library_name_DMLLIB, when the user first connects to the server and starts a session. The library_name_DMLLIB database and the access policy will serve as the primary components for letting end users, catalogers, and digitizers access content in Variations. For more information read the Authorization section of the System Architecture Overview.

The metadata database is used to hold the related metadata schema that will be used for cataloging and accessing records in Variations. The library_name_METADATA database will hold the production metadata used by end users as well as the records being created by catalogers and digitizers. For more information on this database see the Databases section of the System Architecture Overview.

Set up Instructions

Throughout the following setup replace library_name with your library name, which was previously specified when running the initialization script.

  • Log into the administrator (root) account
  • Access MySQL by executing the command:
  • In MySQL,

    Using the MySQL database _administrator_ (root) account:

    * Create the databases:

    Names must be capitalized

    create database library_name_DMLLIB;
    create database library_name_METADATA;
  • Create a user account dmlserv and grant permissions to dmlserv:
    grant all on library_name_DMLLIB.* to 'dmlserv'@'localhost';
    grant all on library_name_METADATA.* to 'dmlserv'@'localhost';
  • Set the password for dmlserv to correspond to the value used in any configuration files:
    set password for 'dmlserv'@'localhost' = password('your-password');
  • Exit from MySQL. (back to shell)
  • As dmlserv user, run the database initialization script for the cataloging schema and production schema:
    bin/ library_name
    The user profile schema, library_name_DMLLIB, will be created when the cataloging schema is created.

Next, create a file in the dmlserv home directory named .my.cnf that contains the following:


The password for the MySQL user _dmlserv_

Set permissions on the file to make sure that no one else can read the file:
chmod 600 /home/dmlserv/.my.cnf

Start, stop, and check the Variations Servers

Variations servers as a group

These commands operate on all the servers used by Variations

  • bin/
    Starts all the configured servers, such as RMI registry, logging server, and library application servers.
    Invokes before starting the servers.
  • bin/
    Stops all the configured servers.
  • bin/
    Provides status output on all the servers.

For just lease manager(s)

  • bin/ option lease-manager-name
    Provides service options for a single named lease manager (lease-manager-name). By default, the name of the lease manager is "LeaseManager".
    Service options:
    • start lease-manager-name
      Starts the lease manager, if it is not already running.
    • stop lease-manager-name
      Stops the lease manager, it it is running.
    • restart lease-manager-name
      Stops the lease manager if it is running, and then starts the lease manager.
    • status lease-manager-name
      Provides status on whether the lease manager is running.
    • list
      Provides a list of all running lease managers.

For just Variation service(s)

  • bin/ option library-name
    Provides service options for the library-name library application server process.
    Service options:
    • start library-name
      Starts the service, if it is not already running.
    • stop library-name
      Stops the service, it it is running.
    • restart library-name
      Stops the service if it is running, and then starts the service.
    • status library-name
      Provides status on whether the service is running.
    • list
      Provides a list of all running services.

For more descritpions about these scripts and running Variations visit the Running Variations page.

The servers need to be running for the and commands to work.

Access Groups Setup

Access to your content is controlled through the access manager database. In order to create and change user access rights use the access management script(

Initially two groups should be created in order to input content into the system:

  • Catalogers (libraryName/Group/Catalogers)
  • Digitizers (libraryName/Group/Digitizers)

Use the bin/ script to set up the access groups.

  • See for more information about how this script works and different options.
    • Examples of group data files can be found in:
  • The Variations servers must be started for the command to work
  • For more information on how the access system works go to the Authorization page

Loading records into Metadata Schema

  • Add indexes to the MySql database. Run the following in the directory of the Variations installation:
    mysql -u dmlserv library_name_METADATA < bin/createMySqlIndex.sql
  • Load the example content and Contributor and Work records from IU
    • Download the gzipped Variations tar file to /home/dmlserv.
      To download the file,
      • first go to
      • next select the Download Variations software link,
      • then select the latest version of Variations Metadata _ Content to download.
      • The download sequence for the browser should commence.
    • Extract it as follows, while in the dmlserv home directory (/home/dmlserv):
      tar xvfz Variations_6.0_Metadata.tar.gz
    • Edit the contributors and work records to replace the library name.
      perl -pi -e 's/IU\//library_name\//g' ContributorsWorks/*
      perl -pi -e 's/IU\//library_name\//g' content/access/*/*
    • Load the contributors and work records into the database.
      bin/ library_name /home/dmlserv/ContributorsWorks/data
      Note: On older/slower machines, the load could take over half an hour to complete.
  • Recalibrate the MySql database. Run the following in the directory of the Variations installation:
    mysql -u dmlserv library_name_METADATA < bin/runstats-mysql.sql

Cron Job Setup

Several cron jobs need to be set up to get Variations to work.

  • One cron job is used to update the KEYWORDINDEX table that is used for keyword searches.
  • Three cron jobs are necessary for generating usage statistics.

To set up the cron jobs:

  • as dmlserv, in the /home/dmlserv/Variations-6.1/ directory, set the crontab by executing:
    crontab bin/crontab

Next Steps

You have completed the Variations server install process. Next start the section on Client Installation Overview.

Back to the Administrators Guide Home Page

  • No labels