Dedicated userTrack server

In the guide you will learn how to easily create a new server dedicated to running userTrack. By completing this guide, you will have your own userTrack dashboard running on a $5/mo DigitalOcean server, accessible by your own domain name.

Benefits of running userTrack on its own server

Although you can install userTrack on the same server as your site, sometimes it might not be possible (eg. your site does not run on PHP) or you might not want to add extra resources on the same server as your site. There are also other advantages of running userTrack on a separate server:

  • Security: If someone somehow gains access to your userTrack installation, or a vulnerability is found in userTrack, the attacker will not be able to affect anything else outside the userTrack dashboard.

  • Site performance: userTrack is well optimized, but it's even better if all userTrack tracking and queries are executed on a separate server, as there is no way for those to affect the performance of the tracked sites.

  • Dashboard performance: The recommended DigitalOcean $5/mo server performance is usually better than most shared hostings, so all the userTrack dashboard will be faster, as all the graphs can be generated faster on the server.

In this guide I show the steps to set-up a $5/mo DigitalOcean server running userTrack. I have no connection to DigitalOcean, I am just a customer. You might use this guide with any other hosting provider that supports the required features.

Why I recommend DigitalOcean:

  • I used them for several projects and I had a really good experience.

  • I already tested and run an userTrack dashboard on one of their $5/mo server.

  • Their interface and UX is one of the best.

  • The server performance is very good for its cost, your userTrack dashboard will be fast.

  • They provide pre-built LAMP images, meaning that you can create a server that already has Apache, PHP and MySQL ready.

  • They allow for cloud-init scripts, which means I can provide you with a script that runs when the server is created to automatically install userTrack for you.

  • They have a referral program. The DigitalOcean links on this page have an affiliate code, so if you don't already have a DO account and you sign-up through the links on this page you will get $100 in credit over 60 days. So you can get a very powerful server for free for first 2 months.

Steps summary:

  1. Create a new userTrack server.

  2. Point your own subdomain name at that server's IP.

  3. Add free HTTPS certificate for that domain.

1. Create a new server running userTrack

If you don't already have a DigitalOcean account, you can create one (referral link, you get $100 credits).

1) Create a new droplet.

2) Choose the LAMP image from the Marketplace

If you are interested you can read more about the DigitalOcean LAMP image here: https://marketplace.digitalocean.com/apps/lamp#getting-started

3) Choose the $5/mo plan You can also choose a more powerful server if you want. You can also change the plan after creating the server.

4) Choose your preferred server location Normally this should be close to you, or close to where the majority of the tracked users are. A central location such as Amsterdam could also be good.

5) Check the "Monitoring" checkbox This will enable performance graphs in your DigitalOcean dashboard, so you can see the CPU/Memory/Disk/Network usage of the server.

6) Check the "User data" checkbox and add the userTrack installation config. This is where the magic happens and what automatically installs userTrack on the server.

You can get the user data code by accessing this URL: (replace YOUR_LICENSE_KEY with your own userTrack license code) https://www.usertrack.net/get-cloud-config?license=YOUR_LICENSE_KEY

Add that code to the User data input, so it should look something like this:

7) Select the preferred authentication method to access the server and the server name. SSH is recommended, but if you are not familiar with SSH you can select one-time password.

You can optionally enable backups. You can also do this later, after the server is created.

To recap, those options should be selected:

  1. Marketplace -> LAMP on 18.04 (or newer) image.

  2. User data textarea must be filled with the #cloud-config code as explained above.

Everything is done, click Create Droplet. The server will now be created, it usually takes 4-5 minutes before it can be accessed.

While it's being setup we can add our own domain to point to that IP.

2. Point your own subdomain name at that server's IP.

To do this, you have to go add some DNS records to your domain from your domain name registrar. Add two A records from your domain (or subdomain name) to the IP of your server.

  1. A analytics.example.com 123.123.456.9

  2. A www.analytics.example.com 123.456.78.9

3. Add free HTTPS certificate for that domain.

The easiest way to access the server is through the web console. Here you can use the password that was set when creating the droplet.

Note that when you type passwords in a console, nothing is displayed but the password is actually typed. When you paste the password from your email you won't see anything, so just paste with it CTRL+V and submit with ENTER.

You should now be able to access userTrack from the domain name. It can also be accessed from the server IP.

Now, back to the HTTPS certificate. While you are in the console, run this command to generate a free HTTPS certificate using certbot: (replace example.com and www.example.com with the own domains, the same as in step 2)

certbot --apache -d example.com -d www.example.com

There are 3-4 questions you have to respond to in the console after running that command in order for the certificate to be issued.

Done! You now have a userTrack instance, running on your own server, on your own domain with a HTTPS certificate.

You might be able to also use this as a guide to add userTrack on a server from different hosting provider, but the user data (cloud-init) script might not work, as it has some DigitalOcean specific paths.

If you had any issues following this guide, or want to suggest to make a similar guide for a different provider (assuming they support premade LAMP images and cloud-init), you can send me an e-mail at support [at] usertrack.net.