You must have access to a Linux server with a standard user account that has sudo privileges.
Install Nginx by running the following commands:
sudo apt-get update
sudo apt-get install nginx
Install zip by running the following command:
sudo apt-get install zip
Install the GDIPlus
package using the following command:
sudo apt-get install libgdiplus
Install the pv
tool by running the following command:
sudo apt-get install pv
If you want to install the ETL application with Bold BI, follow these steps. Otherwise, skip this step and proceed with step 7.
Install the python 3.9
or later
by executing the following command:
Ubuntu Version:22.04 :
sudo apt-get install -y python3
Ubuntu Version:20.04 :
sudo apt update && sudo apt install wget software-properties-common && sudo add-apt-repository ppa:deadsnakes/ppa && sudo apt update && sudo apt install python3.9
Install pip dependency packages for ETL service by running the following command:
sudo apt-get install python3-pip && sudo pip install duckdb===1.1.2 dlt===0.5.4 pymysql pyodbc pg8000 poetry pandas===2.2.2 "dlt[parquet]" "dlt[filesystem]"
If it does not exist, add an openssl conf
path to the environment by running the following command:
export OPENSSL_CONF=/etc/ssl/
Please register and download the Bold BI Linux package.
Download the Bold BI Linux package by running the following command:
sudo wget {Bold BI Linux package link}
Extract the zip file by running the following command:
sudo unzip {Bold BI Linux package zip file}
Change the directory to BoldBIEnterpriseEdition-Linux
by running the following command:
cd BoldBIEnterpriseEdition-Linux
Execute the following command to deploy Bold BI on your Linux machine:
sudo bash install-boldbi.sh -i {new} -u {user} -h {host URL} -n {true or false}
i : Installation type - Specify whether it is a new or upgrade installation.
u : Specify the user or group that manages the service. Make sure this user exists on your Linux server.
h : Domain or IP address of the machine with HTTP protocol.
n : Setting this to “true” will automatically configure Bold BI with Nginx front-end server.
IMPORTANT: If there are any existing applications running on the Linux machine using Nginx, set the “-n” value to false and configure Nginx manually.
Example for new installation:
sudo bash install-boldbi.sh -i new -u www-data -h http://linux.example.com -n true
NOTE: You can also configure Bold BI with Apache server on Ubuntu.
Once the installation is completed, open the host URL in your browser and proceed with the application startup.
To configure Nginx as a reverse proxy to forward requests to the Bold BI app, modify the file /etc/nginx/sites-available/default
. Open it in a text editor and add the following code.
#server {
#listen 80;
#server_name example.com;
#return 301 https://example.com$request_uri;
#}
server {
listen 80 default_server;
#server_name example.com;
#listen 443 ssl;
#ssl on;
#ssl_certificate /path/to/certificate/file/domain.crt;
#ssl_certificate_key /path/to/key/file/domain.key;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
send_timeout 300;
client_max_body_size 200M;
location / {
root /var/www/bold-services/application/idp/web/wwwroot;
proxy_pass http://localhost:6500/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
}
location /api {
proxy_pass http://localhost:6501/api;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /ums {
root /var/www/bold-services/application/idp/ums/wwwroot;
proxy_pass http://localhost:6502/ums;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /ums/signalr/progresshub {
proxy_pass http://localhost:6502/ums/signalr/progresshub;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /bi {
root /var/www/bold-services/application/bi/web/wwwroot;
proxy_pass http://localhost:6504/bi;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /bi/messageHub {
proxy_pass http://localhost:6504/bi/messageHub;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /bi/api {
proxy_pass http://localhost:6505/bi/api;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /bi/jobs {
proxy_pass http://localhost:6506/bi/jobs;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /bi/designer {
root /var/www/bold-services/application/bi/designer/wwwroot;
proxy_pass http://localhost:6507;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /bi/designer/helper {
proxy_pass http://localhost:6507/bi/designer/helper;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Once the Nginx configuration is set up, run the command sudo nginx -t
to verify the syntax of the configuration files. If the configuration file test is successful, force Nginx to pick up the changes by running sudo nginx -s reload
.
If you have an SSL certificate for your domain and need to configure the site with it, follow these steps. Otherwise, you can skip this section.
Navigate to the directory /etc/nginx/sites-available/
and open the file boldbi-nginx-config
in a text editor.
Uncomment the marked lines in the Nginx config file.
Comment the marked line in the Nginx config file.
Replace example.com
with your domain name.
Define the path of the SSL certificate: ssl_certificate /etc/ssl/domain.crt
.
Specify the directory where the SSL certificate key is located: ssl_certificate_key /etc/ssl/domain.key
.
Save the changes and run sudo nginx -t
to verify the syntax of the configuration file. If the configuration file test is successful, force Nginx to pick up the changes by running sudo nginx -s reload
.
NOTE: If you are configuring the application with SSL, you need to update the URLs in the product.json file with
HTTPS
, located in the directory/var/www/bold-services/application/app_data/configuration
.