This section explains a fully featured setup on a Linux server with automatic startup of TraqBio when the server is rebooted. There are two setup scenarios for TraqBio:
A similar setup is possible on windows servers as well, though the means to achieve it are different.
TraqBio can be installed as a daemon on Linux via using the init script traqbio (root privileges on the server are required).
Modify the settings in the init script appropriately and copy it to /etc/init.d/.
The settings section of the init script looks as follows:
## TraqBio settings
VERSION="1.3.8"
INSTALL_DIR="/home/youruser/traqbio"
CONFIG="traqbio.conf"
OPTS=""
## Linux user and group for TraqBio process
RUN_AS_USER="traqbio"
RUN_AS_GROUP="traqbio"
## memory settings for the JVM
MIN_MEMORY="256M"
MAX_MEMORY="512M"
Set the install directory INSTALL_DIR to the one where you copied the TraqBio jar file and initialised the database.
If you choose a different configuration name, you will have to adjust the variable CONFIG appropriately.
It is recommended to create a user account dedicated to run TraqBio.
In the example above a user account traqbio with group traqbio is used.
The minimal and maximal memory that is used by the JVM can be adjusted to your usage scenario.
After copying the init script traqbio to /etc/init.d/traqbio you can configure the automatic startup on server boot
via the operating system tools, e.g. rcconf.
Manual start, stop and restart is possible via the following:
/etc/init.d/traqbio start
/etc/init.d/traqbio stop
/etc/init.d/traqbio restart
For the standalone scenario only the init script needs to be setup as described in the Section Automatic Startup.
The :server-config in the configuration file should set the port to 80, the ssl port to 443 and the domain name of your server as host.
{:server-config
{:host "your.domain.tld",
:port 80,
:ssl? true,
:ssl-port 443,
... },
... }
This section describes the TraqBio setup using Apache as proxy. In the proxy scenario the transport encryption is provided by Apache such that transport encryption is disabled in TraqBio. Therefore, the init script setup from Section Automatic Startup should be performed in advance.
We describe two possibilities to use Apache as a proxy for TraqBio:
To setup TraqBio to use a subdomain of your domain (virtual host),
you need to have a virtual host definition in /etc/apache2/sites-available/traqbio like the following:
ProxyRequests Off
ProxyPreserveHost On
<VirtualHost *:80>
ServerName traqbio.your.domain.tld
Redirect permanent / https://traqbio.your.domain.tld/
</VirtualHost>
<VirtualHost *:443>
ServerName traqbio.your.domain.tld
SSLEngine On
SSLProxyEngine On
SSLProxyVerify none
SSLCertificateFile /path/to/certificate.crt
SSLCertificateKeyFile /path/to/keyfile.key
ProxyPass / http://localhost:TRAQBIO-PORT/
ProxyPassReverse / http://localhost:TRAQBIO-PORT/
RequestHeader set X-Forwarded-Proto "https"
ErrorLog /var/log/apache2/traqbio.log
CustomLog /var/log/apache2/traqbio.log common
</VirtualHost>
This sets up a a virtual host traqbio.your.domain.tld on your domain your.domain.tld using transport encryption.
The virtual host is forwarded to the chosen port TRAQBIO-PORT on localhost which TraqBio listens to.
The paths to the certificate file /path/to/certificate.crt and the certificate key file /path/to/keyfile.key
must be filled in according to your server configuration.
The :server-config of the TraqBio configuration has to look like:
{:server-config
{:host "localhost",
:port TRAQBIO-PORT,
:server-root "",
:proxy-url "traqbio.your.domain.tld",
:forwarded? true,
:ssl? false},
... }
To setup TraqBio to use a subdirectory of your domain, you need to add the following to your existing virtual host:
<Location /traqbio>
ProxyPass http://localhost:TRAQBIO-PORT/traqbio
ProxyPassReverse http://localhost:TRAQBIO-PORT/traqbio
</Location>
You have to fill in TRAQBIO-PORT with the port you specified in your TraqBio configuration file.
You also need to specify ProxyRequests Off and ProxyPreserveHost On before the existing virtual host, e.g.
ProxyRequests Off
ProxyPreserveHost On
<VirtualHost *:443>
ServerName your.domain.tld
...
<Location /traqbio>
ProxyPass http://localhost:TRAQBIO-PORT/traqbio
ProxyPassReverse http://localhost:TRAQBIO-PORT/traqbio
</Location>
</VirtualHost>
This sets up a directory traqbio on your domain your.domain.tld such that TraqBio is accessible via your.domain.tld/traqbio.
The directory traqbio of the virtual host is forwarded to the chosen port TRAQBIO-PORT on localhost which TraqBio listens to.
The :server-config of the TraqBio configuration has to look like:
{:server-config
{:host "localhost",
:port TRAQBIO-PORT,
:server-root "traqbio",
:proxy-url "your.domain.tld",
:forwarded? true,
:ssl? false},
... }