All Collections
Technical documentation
Servers & Installation
Installing FunnelFlux on a VPS from DigitalOcean
Installing FunnelFlux on a VPS from DigitalOcean
Zeno avatar
Written by Zeno
Updated over a week ago

Here we will show you how to use our scripts to assist installation of FunnelFlux on a VPS from DigitalOcean.

To kick things off, head over to DigitalOcean and log in or register an account.

Using our link above, you'll get $100 in credit to use in your first 60 days.

Step 1: Start creating a droplet

After having created an account at DigitalOcean, click the create button > droplets

Step 2: Pick your distribution

Select CentOS 7.4 x64 as your OS image

Step 3: Pick server size

We recommend starting with a basic shared CPU server, with 2 or 4 GB of RAM:

If you plan to send a reasonable amount of traffic (>250,000 visits a month) we'd recommend having 4 GB of RAM just to ensure reporting is faster.

RAM primarily affects the database and its ability to process larger reports, as well as updates. If you are using things like The Optimizer or plan to do significant API work, keep an eye on RAM usage when running queries and upgrade if needed.

For 100,000 visitors per day, you should select at least 4 vCPU + 4GB (4096MB) of memory or more. 

For 200,000 to 1 million visitors per day, we'd recommend an 8 vCPU server with 16 GB of RAM.

Then, pick a region - we recommend either Amsterdam or New York. If your traffic will be global, pick Amsterdam (of Frankfurt) as a central EU server will likely have better global average latency than a US server.

Give your server a name, e.g. flux-tracker then click create.

Step 4: Dealing with DNS configuration

While your server is being created, you will point your domain name to it.

Go back to your dashboard and click your newly created droplet. On it's dashboard you can see the server IP:


Wait for the IP to become available, then copy it to the clipboard. Use the IP, not the private or floating IP.

Note: we recommend using CloudFlare for DNS -- it is not wise to use DNS based on your specific server (i.e. using your server as the nameserver).

You can see our Cloudflare tutorial here - best to look at this article for full DNS instructions, especially if you are not familiar with DNS configuration for domains.

Step 5: Getting SSH access to your server

From your server page you will see a console button that will let you access the SSH console for this server. 

However at this stage we highly recommend you grab a local SSH client, e.g.

Whatever software you use, create a new connection to your server IP, use SSH (version 2 if available), username root and copy/paste in the password provided to you via email when you deployed the server.

If you don't want to use such software, use the "View Console" button:

This will open a Shell Window:

You will then have the opportunity to login. 

Use the root username and password to login. Unfortunately this virtual console does not support copy/paste, so you will have to write it manually (hence why we would recommend using proper software). It's also slow to use.

Note that in Linux terminals, password entry won't show keystrokes - so its normal to not see anything as you type.

If you use an external SSH client like Putty you can put the username/password into the interface before connecting, so you'd skip this step. Otherwise, you'd be able to use the command line:

ssh root@YOUR-SERVER-IP-ADDRESS

Step 6: Starting automated installation of FunnelFlux

After having logged in, lets run through some initial commands specific to DigitalOcean. We'll need to do these for our scripts to work. Note that you should wait at least 5 min after deploying your server to ensure it is not still running some installation processes.

Firstly:

vi /etc/sysconfig/selinux

You will need to manually change selinux status to "SELINUX=disabled" in the editor. Generally in vi editor you tap i to enter edit mode, then can hit Esc  or Ctrl+c  to exit, and type :wq  to save and exit (w = write, q = quit).

Once done, restart your server via the DigitalOcean control panel or typing reboot  and hitting enter in your SSH terminal.

You'll get disconnected and will need to reconnect - wait a minute or so.

Once reconnected, confirm the status of SELINUX by running sestatus . This should print out that it is disabled.

Next, run this:

yum install wget

From here, we can move on to our actual installation scripts!

wget https://assets.funnelflux.com/tools/confs/clickhouse/ff1.sh

If you entered it correctly, you will see a message like the one below:

"ff1.sh" saved [5304/5304]


Now, type the following command:

sh ff1.sh

Final Notes

A few other commands will have to be typed, and these commands will be displayed in the shell window. 

Make sure you follow all of them.

For example, once the above script installs, you will be asked to do the same but with ff2.sh, i.e. 

wget https://assets.funnelflux.com/tools/confs/clickhouse/ff2.sh

followed by:

sh ff2.sh

Note that you can press the up arrow key to cycle through previous commands, thus can easily go back to the ff1.sh command and edit it to ff2.sh (much easier!).

You will later get asked to execute ff4.sh as well. 

Be sure to read the instructions as this is a cleanup script and you need to take some actions before running it.

Overall, our scripts will optimize your server, download FunnelFlux and install it for you.

Just follow the instructions displayed in the shell window until you reach the end!

Did this answer your question?