Server configuration

This section will cover common customization options for Rebel Licenses On-Premise.

Rebel Licenses On-Premise properties file

The Rebel Licenses On-Premise properties file license-server.properties can be found in the conf folder. This file is initially named license-server.properties.sample. To use it for storing Rebel Licenses On-Premise configuration parameters, rename this file to license-server.properties and save.

The file contains examples of supported configuration parameters. Uncomment these parameters and specify the desired values. Save the file

Port

Specify a custom port for Rebel Licenses On-Premise to bind to via system property -Dhttp.port=<custom port>. This parameter can be configured in the configuration file license-server.properties by using http.port=<custom port>.

This value defaults to 9000.

Context path

Specify a custom context path for Rebel Licenses On-Premise to use via system property -Dapplication.context=/<custom context>. This path will also be used when generating new team URLs.

For example, change the Rebel Licenses On-Premise root URL from http://localhost:9000 to http://localhost:9000/my.context by specifying -Dapplication.context=/my context. Doing this will also change the team URL from http://localhost:9000/111-222-333 to http://localhost:9000/my.context/111-222-333.

This parameter can be configured in the configuration file license-server.properties by using application.context=/<custom context>.

This value defaults to /.

Listen address

This is useful when you have multiple network cards with different listening addresses on your server, and you want Rebel Licenses On-Premise to be reachable only on one of them. This can be achieved by setting the system property -Dhttp.address=<custom listen address>. For example, if one of your network cards has the address 44.44.44.44 and you want just that one to serve the requests, you could start Rebel Licenses On-Premise by:

$ bin/license-server -Dhttp.address=44.44.44.44

If you have configured an alias for that IP within your /etc/hosts, you can also use that hostname as the value of -Dhttp.address.

This parameter can be configured in the configuration file license-server.properties by using http.address=<custom listen address>.

Simple HTTPS

Use the configuration option -Dhttps.port=<custom port> to run the server with out-of-box HTTPS. A self-signed keystore will be generated into the conf directory, HTTPS connections will be accepted from the port you specified.

This parameter can be configured in the configuration file license-server.properties by using https.port=<custom port>.

Note

The self-signed certificate does not unleash the full power of HTTPS. The traffic will be encrypted, but no end-point validation can be done, leaving you open to man-in-the-middle attacks. To be totally safe on public networks, you should still use an external HTTPS provider with a trusted certificate.

Override Rebel Licenses On-Premise host name or IP address

Use the configuration option -Drebel.ls.host=<hostname|IP:port> to override the default Rebel Licenses On-Premise host name or IP address for team URL generation. The specified host name or IP will be used for all team URLs that are generated for this Rebel Licenses On-Premise. Specifying the port is optional. The override command is valid until the Rebel Licenses On-Premise is restarted.

This parameter can be configured in the configuration file license-server.properties by using rebel.ls.host=<hostname|IP:port>.

Note

The Rebel Licenses On-Premise host name or IP override command can also be specified using the configuration file conf/license-server.properties. Edit this configuration file and specify the desired host name or IP using the parameter rebel.ls.host=<hostname|IP:port>.

Front-end HTTP(S) proxy

You can configure a reverse proxy in front of Rebel Licenses On-Premise. For configuring an appropriate HTTPS, this is in fact highly recommended. Rebel Licenses On-Premise supports de facto standard proxy headers X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Proto.

Example configuration for Apache 2:

LoadModule proxy_module modules/mod_proxy.so

...

<VirtualHost *:80>
  # HTTPS
  # RequestHeader set X-Forwarded-Proto "https"

  ProxyPreserveHost On
  ServerName license-server.mycompany.com
  ProxyPass / http://127.0.0.1:9000/
  ProxyPassReverse / http://127.0.0.1:9000/
</VirtualHost>

When the reverse proxy is used for providing HTTPS, be sure to configure the proxy to add the X-Forwarded-Proto "https" request header. Otherwise, the system would work, but the team URLs shown in the GUI would have HTTP as the protocol instead of HTTPS.

If you are using SSL offloading on your proxy you can configure Rebel Licenses On-Premise to force secure cookies with the following startup property.

-Drebel.ls.forceSecureCookie=true

Warning

Enabling this property will disable possibility to use Rebel Licenses On-Premise administration console over HTTP.

Location of Rebel Licenses On-Premise data

It is possible to customize the location for the Rebel Licenses On-Premise data (H2 database, activation file and database backups, if created). Many administrators wish to do this in order to separate the application itself (easily re-downloadable) from its data (unique to your installation and impossible to recover unless backed up).

The default location for Rebel Licenses On-Premise data is the folder data in the LS root directory. To override this, use the JVM argument -Drebel.ls.dataDir. For example:

$ ./bin/license-server.sh run -Drebel.ls.dataDir=/var/license-server

This folder has to be writable for the user under which LS is executed.

Automatic scheduled backups

The Rebel Licenses On-Premise prepares automatic backups of its current database every Sunday at 3 AM (Rebel Licenses On-Premise time). Two backups will be kept at all times.

rebel.ls.backup=<true|false>

This value defaults to true.

Rebel Licenses On-Premise backup location

Rebel Licenses On-Premise backups are kept in the data/backup/ folder within the Rebel Licenses On-Premise root folder. This location can be overridden by using configuration parameter rebel.ls.backup.dir. This location is used for both manual and automated backups.

rebel.ls.backup.dir=./data/backup

This value defaults to ./data/backup.

Logging

Rebel Licenses On-Premise uses Logback as the logging framework. Please refer to Logback documentation for details.

Customizing the log level

You can customize the logging level of Rebel Licenses On-Premise using a JVM argument and within the license-server.properties file. The JVM argument for logging is -Drebel.ls.loglevel=<level>. Logback’s valid levels are TRACE, DEBUG, INFO, WARN, ERROR, ALL or OFF. The default logging level is set at INFO. Here is an example of the logging parameter setting logging to trace level:

$ ./bin/license-server.sh run -Drebel.ls.loglevel=TRACE

This parameter can be configured in the configuration file license-server.properties by using rebel.ls.loglevel=<level>.

Customizing the logfile path

You can customize the location of the logfile. Set the -Drebel.ls.logfile=<your-custom-path> JVM argument for this.

Configuring log file rotation

You can configure the Rebel Licenses On-Premise log file rotation using the -Drebel.ls.logRotate=true|false argument. The default value of this argument is set to true.

To further configure the log file rotation setting, adjust the <minIndex> (default is 1) and <maxIndex> (default is 5) values. To adjust the maximum log file size, configure the <maxFileSize> value.

Report usage statistics

The Rebel Licenses On-Premise sends anonymous generic usage metrics to Perforce. Nothing related to your source code is sent to Perforce. This reporting can be disabled in the configuration file license-server.properties by using rebel.ls.disableReporting=<true|false>.

This value defaults to false.

Mail service

In order to allow Rebel Licenses On-Premise to send out various email notifications, you need to select using either the Perforce provided email service or using your own SMTP mail server.

../_images/mail-settings.png

When using your own SMTP mail server, you need to configure the SMTP server settings through which the outgoing e-mails can be sent.

For example, the working settings for a Gmail account include:

  • host: smtp.gmail.com

  • username: [your gmail username]

  • TLS: [true]

  • SSL: [true]

  • port: 465

E-mails sent out by Rebel Licenses On-Premise include:

  • Verification emails for when a developer is trying to re-use his seat on another computer.

  • Notifications about licenses about to expire soon.

  • Team URLs, sent out to developers by the administrator via the Rebel Licenses On-Premise GUI.

Miscellaneous settings

The miscellaneous settings sections contains the following options.

  • Forbid offline tokens for this server - completely disables using offline tokens for this Rebel Licenses On-Premise instance. This option is disabled by default.

  • Report usage statistics - allow the Rebel Licenses On-Premise to send anonymous data for analysis and development to Perforce. This option is enabled by default.

  • Notify administrator when running low on seats – allow the Rebel Licenses On-Premise to email the administrator when the license pool is running low.

  • Specify the average redeploy time for your developers (in seconds) – override the default redeploy time value that is used to generate Rebel Licenses On-Premise statistics. This value is used to override the default redeploy time from the JRebel agent (unless specified by the JRebel user).

Password recovery

You can reset your password by opening your Rebel Licenses On-Premise sign-in page and clicking the Forgot your password? link. You will then need to enter your email address which you used to create your administrator account. You will then receive an email with a password reset link.

As a last resort, you can override any Rebel Licenses On-Premise user password by executing the bin/reset-password.sh|cmd script. User email and a new password will be asked for interactively. If you do not recall the user email, type list instead of the email for a list of all registered users.

Note

Make sure the Rebel Licenses On-Premise is stopped before executing this script.

Warning

This also means that anyone able to execute this script has complete control over the Rebel Licenses On-Premise!

Upgrading the Rebel Licenses On-Premise

To upgrade Rebel Licenses On-Premise to the latest version, do the following:

  1. Stop your Rebel Licenses On-Premise application.

Note

Backup the database before the upgrade. Just in case.

  1. Download the latest version of Rebel Licenses On-Premise.

  2. Extract the new version into your Rebel Licenses On-Premise directory.

Note

The files you extract from the ZIP only overwrite application binaries. Your database and other data files are not overwritten.

  1. Restart Rebel Licenses On-Premise application.

  2. Done!

Note

Rebel Licenses On-Premise will require re-activation when the upgrade takes place in a new network environment (for example when the server’s IP address has changed).

You can always see the version number for the currently installed Rebel Licenses On-Premise in the footer of every page of the application.

Do you need to upgrade your Rebel Licenses On-Premise from version 1.x? Learn more here.