You must have access to a Linux server with a standard user account that has sudo privileges.
Install Apache.
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 based on the type of host URL you are using for deployment:
If you are using http host URL:
sudo bash install-boldbi.sh -i {new} -u {user} -h {host URL} -s apache
If you are using https host URL:
sudo bash install-boldbi.sh -i {new} -u {user} -h {host URL} -s apache --ssl-cert {ssl certificate path} --ssl-key {ssl key path}
IMPORTANT: If you are using https host URL, then it is mandatory to give paths for SSL certificate and key in —ssl-cert and —ssl-key. If paths are not given or if the given path does not exist, then the installation will be stopped.
i: Installation type: Specifies whether it is a new or upgrade installation.
u: Specify the user or group that manages the service.
h: Domain or IP address of the machine with HTTP protocol.
s: Setting this to “apache” will automatically configure Bold BI with the Apache server.
IMPORTANT: If there are any existing applications running on the Linux machine using Apache, do not set the “-s” value and configure Apache manually.
ssl-cert : Specify the path in which the SSL certificate is present.
ssl-key : Specify the path in which the SSL key is present.
Example for new installation with http host URL:
sudo bash install-boldbi.sh -i new -u www-data -h http://linux.example.com -s apache
Example for new installation with https host URL:
sudo bash install-boldbi.sh -i new -u www-data -h https://linux.example.com -s apache --ssl-cert /etc/ssl/domain.crt --ssl-key /etc/ssl/domain.key
Once the installation is completed, open the host URL in the browser and continue with the application startup.
IMPORTANT: If you have deployed Bold BI application using HTTP domain and now want to change the domain as HTTPS, then follow the steps to Manually configure SSL.
To configure Apache as a reverse proxy to forward requests to the Bold BI app, modify the /etc/apache2/sites-available/000-default.conf
file.
<VirtualHost *:80>
#ServerName localhost
#Redirect / https://localhost/
#</VirtualHost>
#<VirtualHost *:443>
#ServerName localhost
ProxyRequests Off
ProxyPreserveHost On
Protocols h2 http/1.1
LimitRequestBody 209715200
Timeout 300
ProxyTimeout 300
#SSLEngine On
#SSLCertificateFile /path/to/certificate/file/domain.crt
#SSLCertificateKeyFile /path/to/key/file/domain.key
<Location />
ProxyPass http://localhost:6500/ Keepalive=On
ProxyPassReverse http://localhost:6500/
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://localhost:6500/$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
<Location /api>
ProxyPass http://localhost:6501/api Keepalive=On
ProxyPassReverse http://localhost:6501/api
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /api/(.*) ws://localhost:6501/api/$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
<Location /ums>
ProxyPass http://localhost:6502/ums Keepalive=On
ProxyPassReverse http://localhost:6502/ums
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteRule /ums/(.*) ws://localhost:6502/ums/$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
# Start of bi locations
<Location /bi>
ProxyPass http://localhost:6504/bi Keepalive=On
ProxyPassReverse http://localhost:6504/bi
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteRule /bi/(.*) ws://localhost:6504/bi/$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
<Location /bi/api>
ProxyPass http://localhost:6505/bi/api Keepalive=On
ProxyPassReverse http://localhost:6505/bi/api
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /bi/api/(.*) ws://localhost:6505/bi/api/$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
<Location /bi/jobs>
ProxyPass http://localhost:6506/bi/jobs Keepalive=On
ProxyPassReverse http://localhost:6506/bi/jobs
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /bi/jobs/(.*) ws://localhost:6506/bi/jobs/$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
<Location /bi/designer>
ProxyPass http://localhost:6507/bi/designer Keepalive=On
ProxyPassReverse http://localhost:6507
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteRule /bi/designer/(.*) ws://localhost:6507/bi/designer/$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
<Location /bi/designer/helper>
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /bi/designer/helper(.*) ws://localhost:6507/bi/designer/helper$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
<Location /aiservice>
ProxyPass http://localhost:6510/aiservice Keepalive=On
ProxyPassReverse http://localhost:6510/aiservice
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /bi/designer/helper(.*) ws://localhost:6510/aiservice$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
# End of bi locations
</VirtualHost>
Bold Data Hub
along with the Bold BI, you need to add the below syntax to the 000-default.conf
file after aiservice block. <Location /etlservice/>
ProxyPass http://localhost:6509/ Keepalive=On
ProxyPassReverse http://localhost:6509/
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteRule /etlservice/(.*) ws://localhost:6509/etlservice/\$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
<Location /etlservice/_framework/blazor.server.js>
ProxyPass http://localhost:6509/_framework/blazor.server.js Keepalive=On
ProxyPassReverse http://localhost:6509/_framework/blazor.server.js
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteRule /etlservice/_framework/blazor.server.js(.*) ws://localhost:6509/etlservice/_framework/blazor.server.js\$1 [P]
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</Location>
Once the Apache configuration is established, run sudo apache2ctl configtest
to verify the syntax of the configuration files. If the configuration file test is successful, force Apache to pick up the changes by running sudo systemctl restart apache2
.
Follow the below steps only in either of the two cases:
Otherwise, you can skip this section.
Navigate to the directory /etc/apache2/sites-available/
and open the file boldbi-apache-config.conf
in a text editor.
Uncomment the marked lines in the Apache config file.
Replace “localhost” with your domain.
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 apache2ctl configtest
to verify the syntax of the configuration file. If the configuration file test is successful, force Apache to pick up the changes by running sudo apache2ctl restart
.
Navigate to the proxy settings page of the UMS application ({domain_name}/ums/administration/proxy-settings) and update the Site URL as shown in the following image with new domain.
You can ignore SSL certificate errors by checking the checkbox for ignoring the SSL certificate errors.
Check the checkbox for update the URL as shown in the below image and save the proxy settings by clicking on Save button.
You can now use the new HTTPS domain to access the site in the browsers.