Document toolboxDocument toolbox

Support center for flex.bi version 3.2

Installation guide on CentOS 7

We have chosen Linux CentOS 7 as our default server platform and MySQL/MariaDB as a database engine so these instruction apply for this specific setup.

However it is possible to run flex.bi also on older CentOS, Redhat as well as other distributions of Linux by adjusting the available software, it's versions and installation methods. For example using rpm or apt-get instead of yum or PostgreSQL instead of MySQL.

Versions mentioned here are current as of 16.08.2016 - they might of course change in the future.

More detailed installation instructions for other database engines and more sophisticated setups you can find at General Installation guide

Gather the software packages

  • flex.bi - you can get it from our support
  • Java SE - you have two options:
    • you can download it from Oracle. In this case we suggest to go with the rpm or bin packages of the full JDK versions as that is sometimes easier to maintain
    • you can use the openjdk and then you don't need to download anything additionally (see next steps)

  • MySQL connector - you have to get mysql java connector separately as well

You can either download (or at least try) these using some server side option like command wget or text browser lynx or just download these files to you machine and upload them via sftp using for example Cyberduck

Depending on your server installation options it might be that you need also install packages like unzip, lynx, wget, vim or any other shell commands to perform these tasks, but this is outside the scope of this manual.

Install

Java

If you chose running Java from Oracle - install Java from the downloaded package. Normally it should be as easy as running

sudo rpm -i jdk-8u101-linux-x64.rpm

If you chose openjdk then run:

yum install jre

Check that "java -version" gives you the expected response of the version just installed.

MySQL/MariaDB

Normally should be as easy as running

sudo yum install mariadb-server

You can follow instructions available on MariaDB knowledge base

flex.bi

  1. For security reasons we recommend creating dedicated flexbi user
sudo useradd flexbi
  1. move the flexbi_private_ezbi-4.0.1_173c76d090e.zip to /home/flexbi
  2. unzip the archive file

You should have flexbi_private folder with these contents in it:

  • app
  • bin
  • config
  • examples
  • lib
  • log
  • public
  • spec
  • tmp

Install mysql connector

  1. Mover the downloaded mysql connector file mysql-connector-java-5.1.39.zip to /home/flexbi un run

    unzip mysql-connector-java-5.1.39.zip
  2. copy the jar file in the created folder under flexbi_private/lib folder (create if non-existent)

    cp mysql-connector-java-5.1.39/mysql-connector-java-5.1.39-bin.jar flexbi_private/lib/

Setup and configuration

MariaDB

If you have large amount of records we suggest to tune database engine performance by editing /etc/my.cnf with appropriate values.

An example for a good performance configuration that you can plane under the mysqld part of the configuration file:

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

If you change the log file size after mariadb has been running - you have to delete ib_logfile0 and ib_logfile1 from /var/lib/mysql/

Adjust the memory size to what you actually can afford on your server taking in account Java and other application memory needs

Make sure mariadb starts automatically on server startup by running

systemctl enable mariadb

It is recommended to use dedicated mysql user not root and this is a quick startup guide so you should employ the security measures according to you company guidelines.

  • If this is a new mariadb installation do this to change password connect to mysql "mysql -u root" and run

    UPDATE mysql.user SET Password=PASSWORD('secret') WHERE User='root';
    FLUSH PRIVILEGES;
  • To create new user for flex.bi databases connect to mysql "mysql -u root -p" and the password and run

    CREATE USER 'flexbi_private'@'localhost' IDENTIFIED BY 'secret';
    GRANT ALL PRIVILEGES ON `flexbi_private%`.* TO 'flexbi_private'@'%' IDENTIFIED BY 'secret';
    FLUSH PRIVILEGES;
  • If you need access the server remotely (via admin tool like Sequel Pro for example) connect to mysql "mysql -u root -p" and the password and run

    GRANT ALL ON flexbi_private.* TO root@<remote-ip-address>' IDENTIFIED BY 'PASSWORD';
    GRANT ALL ON flexbi_private_dwh.* TO root@'<remote-ip-address>' IDENTIFIED BY 'PASSWORD';
    FLUSH PRIVILEGES;

flex.bi

  • Configure eazybi.toml:
    • copy the eazybi.toml.sample file in config folder and adjust parameters

      cp eazybi.toml.sample eazybi.toml
    • licence parameters
      • change the name to the organisation name exactly how you sent it to flex.bi as the enabler is tied to this name
    • general parameters for example
      • if you wish to allow users to register themselves or only invite them
      • allow public accounts or not etc.
    • default url parameters - specify host and port that you wish to access flex.bi from for example bi.company.com:8080
    • mailer parameters - you can set up the name and address of outgoing e-mails from this private instance e.g. like this

      [mailer]
      from = "My private flex.bi <flexbi@mydomain.com>"
    • smtp parameters - specify your smtp server parameters in order to be able to send out invitations, dashboards and error messages

  • Adjust start parameters in bin/start.sh
    • If you don't use any proxy web server to route web requests to flex.bi, you need to enable public access as by default flex.bi will answer requests only from localhost. In order to do that follow the instructions in the file to add this to startup script

      -b 0.0.0.0
  • Create the startup script with 

    cp bin/init.d/flexbi.sample /etc/init.d/flexbi

     

    • add executable permissions 

      chmod +x /etc/init.d/flexbi
    • change the pats of flex.bi home folder

      EAZYBI_HOME=/home/flexbi/flexbi_private
    • set the flexbi user you created previously as the one running the server

      EAZYBI_USER=flexbi

      Make sure access rights of flex.bi server folder are set correctly for this user

       

       

Make sure there is enough (and any for that matter) swap space available. Se this manual for CentOS

Run the flex.bi server

Finally now you can run the flex.bi server with

/etc/init.d/flexbi start

And configure database connection in the wizard that should open once you connect for the first time using the database parameters from above.

Troubleshooting

In case of any issues inspect the log files and contact our support.

On this page