Skip to main content
Skip table of contents

Install SignServer

The following describes the server side installation of SignServer:

Before you install SignServer, see the following sections:

Download and Unpack SignServer

Download and unzip the latest SignServer Enterprise Edition from your Keyfactor download area or use the latest SignServer Community Edition release.

SignServer is available in the following different distributions:

  • signserver-7.x.y-bin.zip: The binary distribution. Recommended.

  • signserver-7.x.y.zip: The mixed distribution. Contains the sources and all required libraries. This distribution requires you to build SignServer before deploying, see Optional: Build SignServer.

Make sure to compare the checksums as provided on https://www.signserver.org/download/, or from a by Keyfactor provided download site.

CODE
sha256sum signserver-6.x.y-bin.zip
unzip signserver-6.x.y-bin.zip

Alternatively, you can checkout the latest unstable version from the Subversion (SVN) repository. Note that as with the mixed distribution, the latest unstable version needs to be built before deploying.

Optional: Build SignServer

Skip this step if you downloaded the binary distribution (recommended) and proceed to the step Set Environment Variables.

Building SignServer is only required if you chose to download the mixed distribution, or checked out the latest SVN version, and want to build SignServer yourself before copying it to the target server.

To build SignServer, perform the following steps on your build machine.

Install Maven

For example, to install Maven in CentOS 7, run something like the following:

CODE
sudo yum install maven

Ensure Secure Maven Installation

Before running Maven (mvn) commands, ensure that you have a secure Maven installation that does not contact the Central repository over insecure HTTP. Ensure that the URL for the Central repository is specified with HTTPS (and/or use an internal repository).

For an example on how to override the default Maven settings in ~/.m2/settings.xml, refer to the sample-maven-settings-community.xml file provided in your SignServer release. To view the current settings, run:

CODE
mvn help:effective-settings

Set Edition

To set the edition (generating res/edition.properties), run:

CODE
bin/ant init

Install Dependencies Not Yet Available in Maven Central Repository

Occasionally, we rely on versions of dependencies not yet published to the Maven repositories. To call a script to manually install the dependencies in the local repository, run:

CODE
lib/maven-install-files.sh

Build from Sources

To build from the sources, run:

CODE
mvn install -DskipTests

Set Environment Variables

APPSRV_HOME

Set APPSRV_HOME to point to your application server installation.

To set the APPSRV_HOME environment variable for WildFly 32, for example use:

CODE
export APPSRV_HOME=/opt/wildfly-32.0.0.Final

The APPSRV_HOME variable is used when deploying to the application server and could for example be set in your .bashrc or similar file, or be provided every time the deploy command is executed.

SIGNSERVER_NODEID

To set SIGNSERVER_NODEID to a unique ID for the server, use:

CODE
export SIGNSERVER_NODEID=node1

The SIGNSERVER_NODEID variable should be available to the application server and might need to be set in /etc/environment or similar. The variable is generally not mandatory but if not set, warnings will be printed in the log.

Configure Deployment

Deployment Properties

The file signserver_deploy.properties includes configuration settings for the application, database, and web services.

Copy conf/signserver_deploy.properties.sample to conf/signserver_deploy.properties and open it for editing in a text editor.

CODE
cp conf/signserver_deploy.properties.sample conf/signserver_deploy.properties

If using a database other than MySQL and MariaDB, update the property database.name. The following shows the default value, used for both MySQL and MariaDB:

CODE
database.name=mysql

SignServer Without Database

You can choose to install SignServer without a database management system and instead rely on SignServer to manage persistence using local files, see SignServer without Database.

To run SignServer without a database, set database.name to nodb in the signserver_deploy.properties file :

CODE
database.name=nodb

Set the location for the local file-based database:

CODE
database.nodb.location=/opt/signserver/nodb

Ensure to specify a path to a location where SignServer can write files. The default value is empty. If a relative path is used, it is most likely relative to the application server's working directory. The directory should either point to an existing SignServer file database, or be completely empty. If the directory is empty, SignServer will create the initial database structure at startup.

CODE
mkdir /opt/signserver/nodb

Audit Log Signing Properties

The file databaseprotection.properties includes configuration for audit log signing and verification that can be used in Enterprise Edition when running with database.

Copy conf/databaseprotection.properties.sample to conf/databaseprotection.properties and open it for editing in a text editor.

CODE
cp conf/databaseprotection.properties.sample conf/databaseprotection.properties

For information on how to configure for signed audit logs in the database, see Signed log.

Custom Configuration Outside of Installation Directory

To ease upgrades and allow keeping your configurations from a version to another, you can now store your SignServer configurations in a signserver-custom folder outside of the SignServer home directory. Your configuration files placed in the signserver-custom folder will override the corresponding files found in the SIGNSERVER_HOME directory before executing an ant command.

To maintain changes in for example the signserver_deploy.properties file, that includes settings for the application, database, and web services, create a signserver-custom folder and copy the signserver_deploy.properties file to this folder:

CODE
mkdir -p ../signserver-custom/conf 
cp conf/signserver_deploy.properties.sample ../signserver-custom/conf/signserver_deploy.properties

Later when upgrading SignServer, the signserver_deploy.properties file does not need to be copied to the new directory.

Deploy SignServer

Run bin/ant deploy to build the configuration and deploy it to the selected application server:

CODE
bin/ant deploy

Make sure the application server is running and verify that SignServer was deployed correctly.

For example, look at the server log or for WildFly, run:

CODE
ls /opt/wildfly/standalone/deployments | grep signserver.ear*

Verify Installation and Access SignServer

To verify your SignServer installation, access one of the available user interfaces.

Public Web

To verify that SignServer is deployed and to access links to documentation and so on, point your web browser to http://localhost:8080/signserver.

Administration CLI

To test the access to the server and print the deployed version, run the following Admin CLI command:

CODE
bin/signserver getstatus brief all
Current version of server is: SignServer EE 7.0.0

For more information, see Administration CLI.

Administration Web

To access the SignServer Admin Web, point your web browser to http://localhost:8080/signserver/adminweb.

To temporarily allow all valid client certificates to administer the Administration Web, run the following:

CODE
bin/signserver wsadmins -allowany

For more information, see Administration Web.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.