Support center for flex.bi version 4.0

Flex.bi Enterprise version update

  1. Stop the flexbi_private server process

  2. It is not mandatory, but recommended if possible to make a reserve copy of your SQL database using mysqldump e.g.

    mysqldump -u <username> -p<password> --all-databases >> flexbi_private_dump_2016-11-14.sql

     

  3. Make a reserve copy of the existing installation by copying the flexbi_private folder to e.g. flexbi_private-3.0.0


    It is recommended to include also the version info to be able to recognise later on

  4. Download the newest version or ask flex.bi support or your partner to provide it to you.
  5. Delete the following files and folders from your existing server folder:

    flexbi_private/spec 
    flexbi_private/app 
    flexbi_private/db/migrate 
    flexbi_private/config/initializers 
    flexbi_private/config/locales 
    flexbi_private/examples 
    flexbi_private/public/images  
    flexbi_private/public/flexbi 
    flexbi_private/public/javascripts  
    flexbi_private/public/style  
    flexbi_private/public/stylesheets 
    flexbi_private/config/torquebox 
    flexbi_private/vendor 
    flexbi_private/LICENSE 
    flexbi_private/CHANGELOG.md 
    flexbi_private/flexbi_private.jar 
    flexbi_private/tmp
  6. Downloaded .zip archive should be extracted into flexbi_private/ folder.

  7. Make note of files that are overwritten during extraction process. Especially for configuration files in the config folder and startup files in bin folder. Manually compare them with the backed up versions and bring over any changes that you made during initial server setup.

  8. If you are updating from flex.bi version older than 5.1.0, then:
    1. If you are using systemd initialization script, change it according to this example(don't forget to adjust directories, port, Java memory settings and other parameters specific to your installation):

      # Sample init script for flex.bi
      [Unit]
      Description=flex.bi reporting service
      After=syslog.target network.target
      [Service]
      Type=simple
      # Run the service as this user and group
      User=flexbi
      Group=flexbi
      TimeoutSec=30
      # Remember to change /home/flexbi/flexbi_private to the actual home directory of flex.bi in all places
      WorkingDirectory=/home/flexbi/flexbi_private
      Environment="RAILS_ENV=production"
      Environment="EAZYBI_HOME=/home/flexbi/flexbi_private"
      Environment="EAZYBI_PREFIX=/flexbi"
      Environment="RUBYOPT=-W0"
      # Adjust to available memory
      Environment="JAVA_OPTS=-Xmx1024m -Xms256m -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dorg.eclipse.jetty.LEVEL=OFF -Djava.io.tmpdir=/home/flexbi/flexbi_private/tmp"
      
      # Default configuration
      ExecStart=/usr/bin/java $JAVA_OPTS -Dwarbler.host=localhost -Dwarbler.port=8080 -jar flexbi_private.jar
      
      
      Restart=on-failure
      StandardOutput=syslog
      StandardError=syslog
      SyslogIdentifier=flexbi
      #LimitNOFILE=10000
      [Install]
      WantedBy=multi-user.target
    2. If  you are using nginx, add these lines to your nginx configuration:

      proxy_http_version 1.1;
      proxy_set_header Connection "";
  9. Start the flexbi_private server process (Database changes will load automatically once the server starts)


Troubleshooting:

If server doesn't start up after update:

  • Check flexbi_private/ folder permissions