If you don't already have a DigitalOcean account, you can create one here (referral link, you get $100 credits on sign-up).
1) Create a new droplet.
2) Choose the LAMP image from the Marketplace
3) Choose the $5/mo plan If you want you can choose a more powerful server, but the $5/mo should be enough for at least 20-30k monthly visitors. You can also change the plan any time 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.
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.
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.
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.
A analytics.example.com 123.123.456.9
A www.analytics.example.com 123.456.78.9
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.
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 --agree-tos -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.
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.