Register and download the Linux package. Refer here for more details.
Update the URLs in the config.xml file located in {extracted location}/boldbi/app_data/configuration/
.
Application | Url |
---|---|
IDP | {Domain or IP address of the machine} |
BI | {Domain or IP address of the machine}/bi |
BI Designer | {Domain or IP address of the machine}/bi/designer |
Create a boldbi-embedded
folder in the Linux Server inside the /var/www/
directory and place the extracted files.
Change the ownership of all directories to user or group.
sudo chown -R {{username or group}} /var/www/boldbi-embedded/
Provide executable permission to dot net file located in /var/www/boldbi-embedded/dotnet/
.
Edit each service file in the extracted location and update the user that manages the service.
Copy the edited service files and place it in the following location.
/etc/systemd/system/
Enable each service and start them by running the following commands.
sudo systemctl enable <service_file_name>
sudo systemctl start <service_file_name>
(i.e)
sudo systemctl enable bold-id-web.service
sudo systemctl start bold-id-web.service
Ensure, whether the service is running properly or not by using the following command.
sudo systemctl status bold-id-web.service
Please follow the previous 2 steps for all the services that you are using for the Bold BI application.
By default, the service will run in the previous mentioned ports. If you have any ports in your machine that is being already used, then you can change that in the service file, and the new port number needs to be updated in the Nginx configuration as well.
To configure Nginx as a reverse proxy to forward requests to Bold BI app, modify /etc/nginx/sites-available/default
. Open it in a text editor, and add the following:
#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/boldbi-embedded/boldbi/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;
}
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/boldbi-embedded/boldbi/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/boldbi-embedded/boldbi/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;
if ($request_filename ~* ^.*?/([^/]*?)$)
{
set $filename $1;
}
if ($filename ~* ^.*?\.(eot)|(ttf)|(woff)$)
{
add_header Access-Control-Allow-Origin *;
}
}
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/boldbi-embedded/boldbi/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 established, run the sudo nginx -t
to verify the syntax of the configuration files. If the configuration file test is successful, force the Nginx to pick up the changes by running the sudo nginx -s reload.
If you have an SSL certificate for your domain and need to configure the site with your SSL certificate, follow these steps or you can skip this.
Uncomment the following marked lines in the Nginx config file.
Comment the following marked line in the Nginx config file.
Replace the 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 and run the sudo nginx -t
to verify the syntax of the configuration file. If the configuration file test is successful, force the Nginx to pick up the changes by running the sudo nginx -s reload.
NOTE: If you are configuring the application with SSL, you need update the URLs in the config.xml with
HTTPS
located in the/var/www/boldbi-embedded/boldbi/app_data/configuration.