Updating to FunnelFlux 1.6x
Zeno avatar
Written by Zeno
Updated over a week ago

Here we will detail instructions for safely upgrading your FunnelFlux installation to 1.6x

Please read the following carefully to ensure no disruption to campaigns, tracking or loss of profit.

NOTE: please first check what version you are on. This is displayed in the footer of the FunnelFlux

 We recently released version 1.6020 of FunnelFlux along with previous 1.6x updates. 

Most of you will be on version 1.5x and the move to 1.6x is a major (and manual) step with various benefits:

  • Faster redirects, 70% less disk usage

  • Much faster and easier reporting (woo!) – there has been a full database restructuring to improve performance across the board

  • Digital Element database coming soon (mobile carrier + connection type) – you will need 1.6x to use this

  • New powerful API:

  • IPv6 support

  • PHP 7 support

However, upgrading to 1.6x has some requirements you should be aware of, most importantly the that:

  • The upgrade process will lock your tracker and this will make all tracking non-functional during the upgrade

  • There are minimum server requirements for the upgrade to work properly – more explained below

You have three options for upgrading to the new and improved FunnelFlux

  1. Install a new instance of FunnelFlux – all new installations use the new version. You can then set things up as usual with a fresh tracker.

  2. Run a manual upgrade process on your current installation. NOTE that the tracker will cease to function during the upgrade, so active campaigns should probably be paused. This is technically challenging and should be performed by a tech admin.

  3. Migrate your current FunnelFlux instance to a new installation and upgrade there to migrate the database content. This process is best suited for those with a lot of data and/or those who cannot afford to pause campaigns. This will generally require assistance from our team.

We’d like to make these upgrades as easy as possible for everyone, so please refer to the expanded help documentation below that explains each of these options and the steps required.

If you have any questions at all, please reach out to [email protected] so we can help you pick the best option, avoid loss of data or campaign issues, and help with any migrations

Option 1 - Installing a new instance of FunnelFlux

This is the easiest option and the one for new customers and those who want a quick transition, do not care about keeping data, and want to avoid upgrade complications.

If you are a new customer, simply install FunnelFlux on your server and you're good to go.

If you are an existing customer with an active license/installation, there are two approaches you can take:

  1. Reinstall on the same domain. If youi simply wipe/destroy your installation and reinstall with the same domain, you will be able to use the same license key without issue

  2. Install the tracker on a new domain. If you do this, you will need to go to the FunnelFlux license area, detach your license, then re-attach it to the new installation during the install process. The license area is here - https://www.funnelflux.com/members-dashboard/

Option 2 - Running a manual upgrade process

The manual upgrade process is somewhat complex and you need to be mindful of the fact the tracker will be shut down during this process, the time taken to upgrade depends on your database size, and you need adequate server requirements to do the upgrade (especially with a large database).

The minimum requirements for the server upgrade process are as below:

Minimum server requirements

Please be mindful of the following general requirements if trying to run an upgrade process:

  1. Latest Ioncube loader and FunnelFlux version 1.5193

  2. At least 50% disk space free (after performing backups on your existing installation). This is critical.

  3. MySQL 5.6+ installed

  4. PHP 5.6+ installed

  5. Minimum 2 vCPU and 2 GB of available RAM

  6. Active traffic not running to your tracking server - the tracker will be inoperative and blasting it with requests may cause issues

  7. Proper database server configuration - generation of "MySQL gone away" errors can corrupt the upgrade. Speak to your tech admins or our support if concerned

Note the following

  • You can expect to migrate about 2 GB of data per hour on an average 2 core (vCPU) Virtual Private Server

  • To check your DB size, see 1) in the "Running a manual upgrade process via SSH" section below

So, if your DB is 10 GB, you ill need ~5 hours for the upgrade and would need more than this in free disk space for an ugprade to be possible.

The upgrade process requires manual work in a terminal (via SSH) and so is best left to your tech admin. Our FunnelFlux support team can also handle the upgrade for you provided you can provide SSH root access to the server to one of our team members. If you would like us to help you upgrade, simply reach out to support as usual -- we will be glad to help and will advise you of the likely time requirements, checking that your server meets the requirements above, and so on.

Keep in mind once again that your tracker will cease to function during the upgrade and FunnelFlux support staff can in no way be held accountable for revenue losses during this process -- you have been warned!

For those who have a technical admin and would like to handle the upgrade in house, see the following documentation.

Running a manual upgrade process via SSH

WARNING! DO A FULL BACKUP OF FILES AND DATABASE FIRST! (Steps below)

WARNING 2! IF YOU ARE NOT AN EXPERIENCED TECH/SYS ADMIN WE STRONGLY SUGGEST NOT TRYING THIS YOURSELF

A minimum of 2 vCPU and 2 GB of RAM is required for the upgrade. A minimum of MySQL v5.6 is required. Use a root SSH account to perform the upgrade.

We strongly recommend you review your server MySQL configuration to confirm it is sufficiently adapted so that no "MySQL gone away" error will occur, as this can cause irreparable damage to DB tables that prevent the upgrade working.

In case of unrepairable DB issues, please get in touch with the support to offer you remote server upgrade assistance (we can attempt to perform your upgrade on one of our servers)

Please see the below instructions.

For a plain-text version for safe copy/pasting, please use https://pastebin.com/1jXYfYNa

1) To do a backup you need to obtain the database name for your FunnelFlux installation. You need to check ../includes/appConfig.php file under your installation directory to get your database name.

You need 50% disk space free after you perform the backup. You can first decide if you have enough disk space by checking your FunnelFlux database size (run in SSH prompt):

du -h /var/lib/mysql/DB_NAME

# where DB_NAME is the name of your FunnelFlux database. You can obtain your DB_NAME from "../includes/appConfig.php"

Another method is to run the following query on your FunnelFlux database and compute the size yourself: 

SELECT
 table_schema as Database,
 sum( round(((data_length + index_length) / 1024 / 1024 / 1024), 2) ) Size in GB
 FROM information_schema.TABLES
 GROUP BY Database
 ORDER BY Size in GB DESC;

2) In the SSH terminal perform the following for the database backup (where DB_NAME is the name of the database from appConfig.php from previous step) , then archiving and deleting the dump file (you can use other directory than /root). 

cd /root
mysqldump --routines DB_NAME > funnelflux_database_backup.sql
tar cvzf funnelflux_database_backup.tgz funnelflux_database_backup.sql
rm -rf funnelflux_database_backup.sql

3) In the FunnelFlux installation directory (under your web server directory) you need to backup your installation files also. You can use a directory of your preference to move the backup archive. It's moved in /root in this directive (begin in the SSH prompt below): 

tar cvzf funnelflux_installation_files_backup.tgz *
mv funnelflux_installation_files_backup.tgz /root

4) Done with the backup. Both backup archives reside in /root directory but you can modify this per your preference. 

5) Proceed with the upgrade below:

6) Make sure you are running FunnelFlux version 1.5193 (you can check in the footer of your Admin dashboard) and the server has at least 50% disk space available after you performed full backups on database and installation files.

To check disk space you can run (in the SSH prompt):

df -h

7) Check the IonCube to be at least 6.0.9 and perform an upgrade (run in SSH prompt):

php -v

8) You need to check that there's no reset / cost update / conversion update background job not completed yet before replacing the files! Check under FunnelFlux admin dashboard to make sure all background jobs completed!

9) Download the latest version.Go to your FunnelFlux original installation directory (under your web server directory):

wget  http://www.funnelflux.com/1.6.zip

10) Make a note of what are the original file/folder ownership under your FunnelFlux installation directory (will be used below for ORIGINAL_USER:ORIGINAL_GROUP to be restored):

ls -la 

11) Unzip and overwrite the original FunnelFlux files with the new archive:

unzip 1.6.zip 

12) Make sure file permissions/ownership are restored for the whole new overwritten files (under your FunnelFlux installation directory):

chown ORIGINAL_USER:ORIGINAL_GROUP * -R

13) Under your FunnelFlux installation directory , go to "admin/tools/" folder and run:

php upgrade1600.php

14) Run file folder permission fix again after the installation (step 12)

15) After the upgrade is successfull, run query on your FunnelFlux database(in the SSH prompt):

mysql YOUR_DB_NAME
  ==> delete from meta where meta_key = 'latest-maxmindisp-download';

16) Check your new upgraded Admin dashboard to see if your installation went successful. Please allow sufficient time for the background jobs to complete re-caching for stats to start to appear.

17) If you need to restore the files from the backups you need to replace-overwrite the files in your FunnelFlux installation folder (with the backup archive made from first steps) and then import the decompressed database dump into a new database (or you can reuse your existing database by first clearing it).

If you are using a new database for the restore - you need to update "../includes/appConfig.php" file with the new database access credentials.

That's it!

If you have any questions please reach out to our [email protected] who can assist with any upgrade and checking your server requirements.

Our tech support are more than willing to help other tech admins with the upgrade process and with any relevant questions.

Option 3 - Migrating existing FunnelFlux data to a new installation

This option is suggested for those of you who...

  • Have a very large database

  • Cannot afford to shut down the existing FunnelFlux tracker for an extended period of time

  • Would rather have a "white glove" approach to help transition

With this approach, FunnelFlux staff will work directly with you to go through the following steps:

  1. Backing up of your entire installation

  2. Moving that installation onto a new server or virtual host and providing an extra license for the new installation domain/IP

  3. Upgrading that installation in order to convert the DB and update to 1.6x

  4. Testing the new installation

  5. Changing DNS entries to point the old domain at the new tracker

Please note that the upgrade process may still take significant time due to the conversion, and that tracking data logged on the original server during this transition will not be transferred to the new installation -- so the traffic sent to the old installation between the start time and the DNS propagation at the end will remain only on that server.

Unfortunately there is no easy way to move these across at this stage, though we consider this a minor issue versus having to stop all traffic.

Once the domain has migrated to the new server we will deprecate the old license after 30 days to allow you time to review any data logged during the migration, should you choose to keep the original tracker installation alive.

If you would like to be assisted with this type of migration, please reach out to our support team at [email protected]

Did this answer your question?