This section cover installing and configuring your database. For information on supported software, see Prerequisites.

If you are installing SignServer without a database, instead see Configure Deployment in Install SignServer for information on configuring the deployment properties.

Install Database

Depending on your setup, refer to information from your OS/Linux distribution or database vendor for instructions on how to install your database.

For example, to install MariaDB in CentOS, run the following:

sudo yum install mariadb mariadb-server

Configure Database

This covers the following information on configuring your database:

  • Database Setup#Database Account
  • Database Setup#Table Creation and Indexes
  • Database Setup#MariaDB binlog Format Configuration

For more information on application server-specific database configuration such as configuring a database driver, see Application Server Setup.

Database Account

Create a database and database user for SignServer. For more information, refer to documentation from the respective database vendor.

For example for MariaDB something like the following could typically be used:

mysql -u root
CREATE DATABASE signserver;
GRANT ALL PRIVILEGES ON signserver.* TO signserver@localhost IDENTIFIED BY 'signserver';

As Microsoft SQL Server syntax differs from, for example, MySQL, the following provides an example:

CREATE DATABASE signserver;
USE signserver;
CREATE LOGIN signserver WITH PASSWORD = 'Signserver01234!';
CREATE USER signserver FOR LOGIN signserver;
EXEC sp_addrolemember 'db_owner', 'signserver';

Table Creation and Indexes

The application server will attempt to create tables during startup of SignServer and if the database user does not have table create permissions, the tables must be created manually. For information on database schemas for different databases, refer to doc/sql-scripts/create-tables-signserver-*.sql.

In order to improve performance, the appropriate database indixes should also be applied. This is extra important for the AuditRecordData table, which otherwise will make SignServer slower to start. Refer to doc/sql-scripts/create-index-signserver.sql.

MariaDB binlog Format Configuration

For MariaDB, set binlog_format to "row", for instance in /etc/mysql/my.cnf, /etc/my.cnf, /etc/my.cnf.d/mariadb-server.cnf or similar:

binlog_format=row