Matomo Analytics is an open-source self-hosted web analytics application that allows you to keep track of your website visitors. Formerly Piwik, Matomo Analytics is the open-source alternative to Google Analytics, offering similar tools and web monitoring tools.
In this article, you will learn how to install and configure Matomo Analytics on a FreeBSD 13.0 Rcs server instance.
Prerequisites
- Deploy a FreeBSD 13.0 Server on Rcs.
- SSH and Login to the server.
- Install Nginx, MySQL, and PHP (FEMP Stack).
Step 1: Create the Matomo Analytics Database
Create a new Database.
CREATE DATABASE Matomo;
Create a new Database User with a Strong Password.
CREATE USER 'admin'@'localhost' IDENTIFIED WITH mysql_native_password BY ‘STRONG-PASSWORD';
Grant the user full permissions to the Matomo Database.
GRANT ALL PRIVILEGES ON matomo.* TO admin@localhost;
Refresh MySQL privileges. FLUSH PRIVILEGES;
Exit the MySQL console.
EXIT
Step 2: Install Necessary PHP Extensions
Matomo analytics is a PHP-based application, and so it requires a specific group of PHP extensions to run. Most importantly, php-session
, php-json
, php-pdo_mysql
are required.
Install them using the following command:
# pkg install php74 php74-curl php74-gd php74-pdo-mysql php74-session php74-json php74-zlib php74-filter php74-xml php74-mbstring
Enable PHP-FPM.
# sysrc php_fpm_enable=yes
Start PHP-FPM.
# service php-fpm start
Step 3: Install Matomo Analytics
By default, Nginx points to /usr/local/www/
as the web root directory. You can change it to a more convenient directory. We’ll create a Matomo web files directory in /var/www
in this article.
Create the /var/www/
directory.
# mkdir /var/www
Create the Matomo Analytics web files directory.
# mkdir /var/www/matomo
Grant Nginx read and write permissions to the directory.
# chown -R www:www /var/www/matomo/
Now, download the latest Matomo release file.
# wget https://builds.matomo.org/matomo.zip
Unzip the file.
# unzip matomo.zip
Move the extracted files to the Matomo directory.
# mv matomo/* /var/www/matomo/
Grant Nginx full permissions to the directory.
# chown -R www:www /var/www/matomo/
Then, set the correct file and directory permissions using the following commands:
# find /var/www/matomo/. -type f -exec chmod 644 {} ;
# find /var/www/matomo/. -type d -exec chmod 755 {} ;
Step 4: Configure Nginx
Create a new Nginx configuration file.
# touch /usr/local/etc/nginx/matomoanalytics.conf
Now, install Nano or your preferred text editor:
# pkg install nano
Open and edit the file.
# nano /usr/local/etc/nginx/matomoanalytics.conf
Paste the following contents:
server {
listen 80;
server_name analytics.example.com;
root /var/www/matomo;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 300;
proxy_read_timeout 300;
}
}
Replace analytics.example.com
with your actual domain name.
Save and close the file.
Then, edit the main Nginx configuration file.
# nano /usr/local/etc/nginx/nginx.conf
At the end of the file, add the following line within the http { }
block to enable the Matomo configuration file.
include matomoanalytics.conf;
Save and close the file.
Now, test the Nginx configuration file for errors.
# nginx -t
If all is well, your output should be:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Restart Nginx.
# service nginx restart
Step 5: Setup Matomo Analytics
Using a web browser, visit your domain name.
Click Next
to start the Matomo installation wizard.
A system check will run to confirm installed components on your server. Then, click Next to proceed to the database setup page.
Enter the Username
, Password
, and Database name
created on Step 1 of this article. Then, click Next to create the necessary tables.
Now, enter a Super User (administrator) username, password, and email that will be used to access the Matomo Analytics backend portal.
Click Next to set up a website to track with Matomo Analytics, copy the tracking code, then continue and log in to the backend portal to start tracking web visits.
Conclusion
You have successfully installed and set up Matomo Analytics on FreeBSD 13.0. Depending on the number of websites you intend to monitor, consider scaling your server with reference to the recommended Matomo server requirements.