Crossbill stack on-premises installation
Crossbill stack is dependent on third-party components. So, make sure to prepare the server environment and install the dependencies before continuing to the following installation instructions:
Prepare the installer's parameters
All Crossbill installers use the Crossbill Install utility to install the product components. In some scenarios, the utility is run directly from a command line. In some scenarios, it is run indirectly from a user interface (on Windows). Anyway, the utility uses preconfigured parameters to install the components. In this section we provide a brief description of the parameters and instructions on each parameter's value.
The Crossbill Install utility uses a deployment configuration file config.jsconf
. The file uses JSON format. The file's parameters under the replacements
section should be filled before the Crossbill Install utility run according to the following information.
Windows interface parameter | Parameter from config.jsconf | Pattern | Expected value and instructions |
---|---|---|---|
DNS Name (Host Header) | @{DNS} | my-domain.com | The DNS name for Crossbill Cone Web application. This is the public domain name prepared during the DNS configuration step. |
Environment | @{Environment} | PROD | The name of an environment. For example DEV, UAT, etc. Can be used to deploy multiple product instances to the same server. Use PROD for any common configuration. |
Public Website port | @{BaseSitePort} | 80 | The port for a website. This is the port used to serve user requests. Use 80 for any common configuration. |
Database Host | @{DatabaseHost} | 127.0.0.1 | The host name of a database server. Use 127.0.0.1 for the local database. |
Database Name | @{DatabaseName} | crossbill | The name of a database to be created for the product operation. |
Database Admin User | @{DatabaseAdminUser} | postgres | The name of the database administrator's account. |
Database Admin Password | @{DatabaseAdminPassword} | Secret string | The password set for the database administrator's account on database installation step. |
Database User | @{DatabaseUser} | crossbill | The name of the database account for the product connection. This account will be created by the installer. |
Database Password | @{DatabasePassword} | Secret string | The password of the database account for the product connection. This password will be assigned to the account by the installer. Provide at least 20 chars including digits, mixed case letters and symbols. |
Database Connection String | @{DatabaseConnection} | The connection string for the database. Use default value for any common configuration. | |
Random Secret (insert any 40 chars or use existing for updates) | @{RandomSecret} | Secret string | The secret password for sensitive data encryption. Insert 40 chars including digits and mixed case letters. |
Random Secret IV (insert any 20 chars or use existing for updates) | @{RandomSecretIV} | Secret string | The secret password for sensitive data encryption. Insert 20 chars including digits and mixed case letters. |
Logs Directory | @{LogsDirectory} | Location | The directory where to place log files. Use default value for any common configuration. |
Services Installation Directory for Environment | @{ServiceInstallationDirectory} | Location | The directory where to place the service (daemon) files. Use default value for any common configuration. |
Websites Installation Directory for Environment | @{WebInstallationDirectory} | Location | The directory where to place the web application files. Use default value for any common configuration. |
Port for Central Agent service | @{CentralAgentPort} | 5002 | The port number to use for Central Agent service. Use default value for any common configuration. |
URL for Central service | @{CentralAgentURL} | The URL allocated for Central Agent service. Use default value for any common configuration. | |
Theme | @{Theme} | Theme | The theme name for application styling. Use default value for any common configuration. |
Install Crossbill stack
The deployment scenarios can vary depending on requirements. On Windows, it is recommended to use .exe installer package, while on Linux, .deb or .rpm package. Crossbill also provides a .zip archive which contains a universal installer and can be used for any operating system (including x86 Windows).
The installer package can be a standalone package or a web package. The standalone package already contains all the required components packed and bundled. The web package contains the Crossbill Install utility and a configuration file only, so it requires a network connection to download the selected components during installation.
For installation, follow one of the scenarios below.
Scenario 1: Install using the installer file
To install the Crossbill stack components follow the instructions for a target operating system:
- Open a terminal or connect via SSH to execute the commands.
-
Start a root session:
sudo su
- Open a Crossbill stack downloads page in a web browser and copy the .deb file URL for the latest application version. Put the .deb file URL in the following command and execure it:
mkdir /var/work cd /var/work curl -o installer.deb -L https://storage.googleapis.com/crossbillsoft/24.11.0/Crossbill.Stack.x64.24.11.0.deb
- Install .deb package:
apt-get -y install ./installer.deb
-
The package installs the Crossbill Install utility to
/usr/share/Crossbill.Install
. The directory contains a deployment configuration fileconfig.jsconf
.Edit the deployment configuration
config.jsconf
file and fill in the parameters according to the recommendations given before:vim /usr/share/Crossbill.Install/config.jsconf
-
Once the parameters are filled and saved to the file, run the Crossbill Install utility:
cd /usr/share/Crossbill.Install/ dotnet Crossbill.Install.dll
- Restart the applications for the target environment (PROD by default):
service Crossbill.Central.Agent-CROSS restart service Crossbill.Central.Web-CROSS restart service Crossbill.Cone.Web-PROD restart service Crossbill.Bone.Web-PROD restart service Crossbill.Signalman-PROD restart
- Make sure to save the
config.jsconf
file in a safe place and remove it from/usr/share/Crossbill.Install/
directory. -
Exit the root session:
exit
- The installation is completed. Now continue to initial configuration of the system.
- Open a terminal or connect via SSH to execute the commands.
-
Start a root session:
sudo su
- Open a Crossbill stack downloads page in a web browser and copy the .rpm file URL for the latest application version. Put the .rpm file URL in the following command and execure it:
mkdir /var/work cd /var/work curl -o installer.rpm -L https://storage.googleapis.com/crossbillsoft/24.11.0/Crossbill.Stack.x64.24.11.0.rpm
- Install .rpm package:
yum localinstall ./installer.rpm
-
The package installs the Crossbill Install utility to
/usr/share/Crossbill.Install
. The directory contains a deployment configuration fileconfig.jsconf
.Edit the deployment configuration
config.jsconf
file and fill in the parameters according to the recommendations given before:vim /usr/share/Crossbill.Install/config.jsconf
- Once the parameters are filled and saved to the file, run the Crossbill Install utility:
cd /usr/share/Crossbill.Install/ dotnet Crossbill.Install.dll
- Restart the applications for the target environment (PROD by default):
service Crossbill.Central.Agent-CROSS restart service Crossbill.Central.Web-CROSS restart service Crossbill.Cone.Web-PROD restart service Crossbill.Bone.Web-PROD restart service Crossbill.Signalman-PROD restart
- Make sure to save the
config.jsconf
file in a safe place and remove it from/usr/share/Crossbill.Install/
directory. -
Exit the root session:
exit
- The installation is completed. Now continue to initial configuration of the system.
- Open a Crossbill stack downloads page in a web browser. Download the latest application version to a target server.
- Run the installer as administrator and follow the prompts.
- On features screen, fill in the parameters according to the recommendations given before and click Install.
- Open services snap-in (Start type Services). Restart the Crossbill Signalman service for the target environment (PROD by default).
- The installer saves the settings in a
config.jsconf
file for future use. Make sure to save the config.jsconf file in a safe place and remove it from the installer's directory. - The installation is completed. Now continue to initial configuration of the system.
Scenario 2: Install using the .zip archive for any OS
Crossbill provides a .zip archive which contains a Crossbill Install utility and can be used for any operating system (including x86 Windows). To install the Crossbill stack components, follow the instructions for a target operating system:
- Open a terminal or connect via SSH to execute the commands.
-
Start a root session:
sudo su
- Open a Crossbill stack downloads page in a web browser and copy the .zip file URL for the latest application version. Put the .zip file URL in the following command and execure it:
mkdir /var/work cd /var/work curl -o installer.zip -L https://storage.googleapis.com/crossbillsoft/24.11.0/Crossbill.Stack.x64.24.11.0.zip
- Unpack the .zip archive:
unzip installer.zip rm installer.zip
-
The extracted files are the files of Crossbill Install utility and a deployment configuration file
config.jsconf
.Edit the deployment configuration
config.jsconf
file and fill in the parameters according to the recommendations given before:vim config.jsconf
-
Once the parameters are filled and saved to the file, run the Crossbill Install utility:
dotnet Crossbill.Install.dll
- Restart the applications for the target environment (PROD by default):
service Crossbill.Central.Agent-CROSS restart service Crossbill.Central.Web-CROSS restart service Crossbill.Cone.Web-PROD restart service Crossbill.Bone.Web-PROD restart service Crossbill.Signalman-PROD restart
- Make sure to save the
config.jsconf
file in a safe place and remove it from/var/work/
directory. -
Exit the root session:
exit
- The installation is completed. Now continue to initial configuration of the system.
- Open a terminal or connect via SSH to execute the commands.
-
Start a root session:
sudo su
- Open a Crossbill stack downloads page in a web browser and copy the .zip file URL for the latest application version. Put the .zip file URL in the following command and execure it:
mkdir /var/work cd /var/work curl -o installer.zip -L https://storage.googleapis.com/crossbillsoft/24.11.0/Crossbill.Stack.x64.24.11.0.zip
- Unpack the .zip archive:
unzip installer.zip rm installer.zip
-
The extracted files are the files of Crossbill Install utility and a deployment configuration file
config.jsconf
.Edit the deployment configuration
config.jsconf
file and fill in the parameters according to the recommendations given before:vim config.jsconf
-
Once the parameters are filled and saved to the file, run the Crossbill Install utility:
dotnet Crossbill.Install.dll
- Restart the applications for the target environment (PROD by default):
service Crossbill.Central.Agent-CROSS restart service Crossbill.Central.Web-CROSS restart service Crossbill.Cone.Web-PROD restart service Crossbill.Bone.Web-PROD restart service Crossbill.Signalman-PROD restart
- Make sure to save the
config.jsconf
file in a safe place and remove it from/var/work/
directory. -
Exit the root session:
exit
- The installation is completed. Now continue to initial configuration of the system.
- Open a Crossbill stack downloads page in a web browser. Download .zip file for the latest application version to a target server.
- Unzip the .zip archive to a local directory.
-
The extracted files are the files of Crossbill Install utility and a deployment configuration file
config.jsconf
.Edit the deployment configuration
config.jsconf
file with a text editor and fill in the parameters according to the recommendations given before. - Run Crossbill.Install.exe as administrator (either from a directory or from a command line).
- Open services snap-in (Start type Services). Restart the Crossbill Signalman service for the target environment (PROD by default).
- Make sure to save the
config.jsconf
file in a safe place and remove it from a local directory. - The installation is completed. Now continue to initial configuration of the system.
Scenario 3: Install using Crossbill Central
If you have Crossbill Central already installed, you can install Crossbill stack from Crossbill Central web interface. Follow the steps:
- Open a web browser and navigate to Crossbill Central.
- Log into the system with administrative login and password.
- Under the Applications tab, select the required component on a right side and click Install.
- Fill the installer parameters in a popup window. Click Deploy.
- The installed application will appear in the left panel.
- To install a plugin or theme, click the application's title and repeat steps 3-5.
- The installation is completed. Now continue to initial configuration of the system.
The applications and plugins included in Crossbill stack:
Component | Component ID | Component type | Mandatory / Optional |
---|---|---|---|
Crossbill Cone Web | Crossbill.Cone.Web | Application | Mandatory |
Crossbill Cone Default Theme | Crossbill.Theme | Plugin for Crossbill.Cone.Web | Mandatory |
Crossbill Cone API | Crossbill.Cone.API | Application | Optional |
Versioning Plugin for Crossbill Cone | Crossbill.Plugins.DataVersioning.Git | Plugin for Crossbill.Cone.Web | Optional |
PDF Plugin for Crossbill Cone | Crossbill.Plugins.PDF.JsReport | Plugin for Crossbill.Cone.Web | Optional |
Crossbill Bone Web | Crossbill.Bone.Web | Application | Mandatory |
Crossbill Bone Default Theme | Crossbill.Theme | Plugin for Crossbill.Bone.Web | Mandatory |
Crossbill Bone API | Crossbill.Bone.API | Application | Optional |
Versioning Plugin for Crossbill Bone | Crossbill.Plugins.DataVersioning.Git | Plugin for Crossbill.Bone.Web | Optional |
PDF Plugin for Crossbill Bone | Crossbill.Plugins.PDF.JsReport | Plugin for Crossbill.Bone.Web | Optional |
Crossbill Signalman | Crossbill.Signalman | Application | Mandatory |
Operations Plugin for Signalman | Crossbill.Signalman.Plugins.Operations | Plugin for Crossbill Signalman | Mandatory |
Users Plugin for Signalman | Crossbill.Signalman.Plugins.Users | Plugin for Crossbill Signalman | Mandatory |
Cone Plugin for Signalman | Crossbill.Signalman.Plugins.Cone | Plugin for Crossbill Signalman | Mandatory |
Bone Plugin for Signalman | Crossbill.Signalman.Plugins.Bone | Plugin for Crossbill Signalman | Mandatory |
Troubleshooting
The Crossbill Install utility logs all operations for troubleshooting. The log is located in a common logs location or in the installer's current directory (on Windows). Here are the common logs locations:
Open a terminal or connect via SSH to execute the commands.
Start a root session:
sudo su
#su -
Show log for the Crossbill Install utility:
cat /var/Crossbill/CROSS/logs/Crossbill.Install/Crossbill.Install.log
Show log for the Crossbill Central Agent utility:
cat /var/Crossbill/CROSS/logs/Crossbill.Central.Agent/Crossbill.Central.Agent.log
Exit the root session:
exit
Open a terminal or connect via SSH to execute the commands.
Start a root session:
sudo su
#su -
Show log for the Crossbill Install utility:
cat /var/Crossbill/CROSS/logs/Crossbill.Install/Crossbill.Install.log
Show log for the Crossbill Central Agent utility:
cat /var/Crossbill/CROSS/logs/Crossbill.Central.Agent/Crossbill.Central.Agent.log
Exit the root session:
exit
Open the following files in a text editor to see the log:
C:\Crossbill\CROSS\logs\Crossbill.Install\Crossbill.Install.log
C:\Crossbill\CROSS\logs\Crossbill.Central.Agent\Crossbill.Central.Agent.log