Installation and setup

These are installation and setup instructions for the Private eazyBI version 4.3 and newer.

On this page:

Requirements

  • Private eazyBI installation is supported on Mac OS XLinux and Windows.
  • Java SE 7 or Java SE 8 should be installed.
  • MySQL (version 5.x), PostgreSQL (version 9.x), MS SQL (version 2008 or later) and Oracle (version 11g or later) are supported as Private eazyBI database.
  • Minimum requirements for server:
    • CPU with 2 cores;
    • 4 GB RAM;
    • 10GB disk space.

Installation

Open https://eazybi.com/products/private_eazybi and create new Private eazyBI account to access latest download files and receive your trial licence key.

Unzip downloaded file and copy folder eazybi_private with all its contents from downloaded file into destination directory where all private eazyBI files will be located.

On Windows there exists length limit for file path - 260 characters. EazyBI has deep nested directory structure. System full file paths may exceed this limitation if eazybi_private directory is located deeply in directory hierarchy. We recommended to create  eazybi_private folder directly in root folder for Windows installations.

Directory structure

eazybi_private directory contains the following subdirectories and files:

  • app - for private eazyBI customizations (e.g. custom layouts or view templates)
  • bin - startup and other shell scripts
  • config - configuration files
  • data - for storing uploaded files
  • eazybi_private.jar - main application archive file
  • lib - additional Ruby files or *.jar files (added if necessary)
  • log - web request and queue job log files

Database setup

eazyBI will store data in additional MySQL, PostgreSQL, Microsoft SQL Server or Oracle database. It is recommended that you create a separate database user for eazyBI needs (by default with name eazybi_private) which will then create additional databases on a specified database server.

By default, eazyBI will use one database.

The following are database server specific instructions for eazyBI database setup.

MySQL

You can create a separate user eazybi_private and grant access to all MySQL databases which start with eazybi_private prefix:

GRANT ALL PRIVILEGES ON `eazybi_private%`.* TO 'eazybi_private'@'%' IDENTIFIED BY 'secret';

(Replace secret with chosen password). When you will specify the database connection parameters in eazyBI then eazybi_private database will be created. Later when additional eazyBI accounts will be created then each account data will be stored in separate databases with names eazybi_jira_dwh_N where N is account ID number.

In addition, you should download MySQL JDBC driver version 5.1.x and copy included mysql-connector-java-5.1.*.jar to eazybi_private/lib directory (MySQL JDBC driver is not included in Private eazyBI distribution due to GPL license restrictions).

Please also tune MySQL memory settings to speed up both data import and data queries. The following my.cnf settings are recommended:

innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
query_cache_size= 16M
query_cache_type = 1 

innodb_buffer_pool_size will specify how much database data MySQL can store in memory - adjust it to your available server memory (the more data MySQL will store in memory the less disk input/output operations will be performed). If you will change innodb_log_file_size then it will require that you delete existing MySQL log files before starting MySQL server.

PostgreSQL

You can create separate user eazybi_private with database creation rights:

CREATE ROLE eazybi_private PASSWORD 'secret' LOGIN CREATEDB;

If you do not want to add CREATEDB role to eazybi_private user then create manually the database eazybi_private with eazybi_private user as an owner.

Each new eazyBI account will store data in a new dwh_N schema (where N is account ID number) in the same database.

Please tune PostgreSQL memory parameters. The following postgresql.conf settings are recommended:

shared_buffers = 1024MB
wal_buffers = 32MB

shared_buffers will specify how much database data PostgreSQL can store in memory - adjust it to your available server memory (the more data PostgreSQL will store in memory the less disk input/output operations will be performed). wal_buffers affects performance of writing transaction logs to disk.

Microsoft SQL Server

Create MS SQL Server user eazybi_private – if you will use SQL Server Management Studio then select SQL Server authentication and uncheck Enforce password policy. In addition from Server Roles select dbcreator (to allow creation of new databases) or create manually eazybi_private database with eazybi_private user as an owner.

Each new eazyBI account will store data in a new dwh_N schema (where N is account ID number) in the same database.

By default, eazyBI uses a bundled jTDS JDBC driver to connect to Microsoft SQL Server. The jTDS driver does not support an SSL connection to SQL Server. If SSL is required for your SQL Server connection, then starting from the version 4.2.2 experimental support for the Microsoft JDBC driver is added which supports SSL connections. Please download the latest JDBC driver and copy sqljdbc41.jar into the eazybi_private/lib directory. After restarting eazyBI, you should see both jTDS and Microsoft JDBC driver options in the settings page.


Oracle

Create an Oracle database user eazybi_private:

CREATE USER eazybi_private IDENTIFIED BY secret DEFAULT TABLESPACE users;
GRANT CONNECT, RESOURCE TO eazybi_private;

In this configuration, all eazyBI data will be stored in one eazybi_private schema.

Start application

On Mac OS X and Linux start the application with bin/start.sh shell script. Please review bin/start.sh script and if necessary customize it (e.g. increase Java memory parameters in JAVA_OPTS environment variable).

On Windows start application with bin\start.bat batch file. Please review bin\start.bat and customize it if necessary (e.g. change JAVA_OPTS).

If you get Unsupported major.minor version 51.0 error message then please check that you are using Java 7 or later (check with java -version).

Wait until you see the message Listening for HTTP requests on localhost:8080 and then open http://localhost:8080 in your browser – you should see eazyBI settings page.

In eazyBI settings page specify database connection parameters for eazybi_private database. By default all eazyBI account specific data will be stored in the same database (as described earlier in Database section). If you want you can select Use separate DWH database option and specify a different database where account specific schemas (with uploaded or imported data) should be stored. Database connection parameters will be stored in config/database.toml file.

In addition in the settings page please specify your eazyBI license information – the license name and key. License information will be stored in the config/eazybi.toml file.

If database and license information will be correct then you will be redirected to a sign up page where you can create the first system administration user account.

eazybi.toml configuration file

In config/eazybi.toml file you can configure different eazyBI parameters. The configuration file uses TOML format. Please see comments and commented examples for each section in this file.

On Windows please use the text editor that supports Unix style line endings when editing eazybi.toml file. The standard Notepad application will not display the content of this file correctly. We recommend to use the Notepad++ application.

If you would like to add e-mail notifications support (to invite users, reset passwords or receive notifications about failed import jobs) from eazyBI then provide SMTP server information which can be used for outgoing e-mails (mailer section in configuration file). In addition uncomment and specify default_url_options section which is used to generate full URL links back to your private eazyBI server.

If you would like to set up Jira application link to Private eazyBI server then also please specify default_url_options.

In accounts section you can provide connection parameters and schema definition files for accounts with custom schema. See “FoodMart custom” account as example.

Linux service startup script

bin/init.d/eazybi.sample is a Linux service startup script which can be modified and copied to /etc/init.d/eazybi. Please specify EAZYBI_HOME variable in this script to point to eazybi_private directory full path. By default this startup script will use $EAZYBI_HOME/bin/start.sh to start eazyBI – if needed then create a separate copy of start.sh script if different parameters should be used when starting eazyBI as a service.

Windows service

Private eazyBI distribution by default does not include support for running as a Windows service. But you can use an application like AlwaysUp to create a Windows service that will start bin\start.bat file from the Private eazyBI installation directory.

Provide access to eazyBI from other computers

By default private eazyBI will be accessible just locally at address http://localhost:8080. If you want to provide access to private eazyBI from other computers then edit bin/start.sh or bin\start.bat and add -b 0.0.0.0 at the end of the startup command (see comments for explanation).

If you would like to change default web application port 8080 to a different port then edit bin/start.sh or bin\start.bat and add -p NNNN parameter where NNNN is the port number.

On Linux or Mac OS X if you would like to start application which listens to HTTP port 80 then you need to start application as  root. Alternative solution is to use frontend web server which listens to port 80 and proxies web requests to private eazyBI. Please contact  eazyBI support if you need help with private eazyBI setup in production mode.

Export to PDF using PhantomJS

If you would like to export dashboard pages to PDF or send regular emails with eazyBI dashboards as PDF attachments then please install PhantomJS on your Private eazyBI server and specify its location in eazybi.toml file.

Troubleshooting

If Private eazyBI initial page does not open or opens with error message then check either console output or check the log file log/eazybi-web.log if it has any error messages.

After eazyBI has started up it will store its log files in log subdirectory:

  • eazybi-web.log contains log of web requests
  • eazybi-queues.log contains log of background queue jobs

Please contact eazyBI support if you have any issues with Private eazyBI installation and setup.