Search results

Installation and Deployment

Configuring the Bold BI application

  1. Register and download the Linux package. Refer here for more details.

  2. Update the URLs in the config.xml file located in {extracted location}/boldbi/app_data/configuration/.

    app data configuration file

    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
  3. Create a boldbi-embedded folder in the Linux Server inside the /var/www/ directory and place the extracted files.

    linux server location

  4. Change the ownership of all directories to user or group.

    sudo chown -R {{username or group}} /var/www/boldbi-embedded/
  5. Provide executable permission to dot net file located in /var/www/boldbi-embedded/dotnet/.

    executable permission

  6. Edit each service file in the extracted location and update the user that manages the service.

    user service

  7. Copy the edited service files and place it in the following location. /etc/systemd/system/

  8. 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
  9. Ensure, whether the service is running properly or not by using the following command.

    sudo systemctl status bold-id-web.service

    ensure service

  10. Please follow the previous 2 steps for all the services that you are using for the Bold BI application.

    1. bold-id-web.service (Port:6500)
    2. bold-id-api.service (Port:6501)
    3. bold-ums-web.service (Port:6502)
    4. bold-bi-web.service (Port:6504)
    5. bold-bi-api.service (Port:6505)
    6. bold-bi-jobs.service (Port:6506)
    7. bold-bi-designer.service (Port:6507)

    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.

    nginx configuration

Configure Nginx

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.

Configure SSL

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.

  1. Uncomment the following marked lines in the Nginx config file.

    ssl configuration

  2. Comment the following marked line in the Nginx config file.

    ssl configuration

  3. Replace the example.com with your domain name.

  4. Define the path of the SSL certificate: ssl_certificate /etc/ssl/domain.crt

  5. Specify the directory where the SSL certificate key is located: ssl_certificate_key /etc/ssl/domain.key

  6. 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.

Next steps