Support center for flex.bi version 3.2
Installation guide on CentOS 7
- Laima (Deactivated)
- Gvido
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
- For security reasons we recommend creating dedicated flexbi user
sudo useradd flexbi
- move the flexbi_private_ezbi-4.0.1_173c76d090e.zip to /home/flexbi
- 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
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
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
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.