Today we are going to show you how to install Matomo on Ubuntu 16.04. Matomo (formerly known as Piwik) is a free and popular analytics platform currently used by individuals, companies and governments all over the world. To install Matomo on Ubuntu 16.04, carefully follow the steps below and you should have Matomo installed on your Ubuntu 16.04 server in less then 10 minutes. Let’s get started with the installation.
- PHP >= 5.59 (PHP 7.0 or above is recommended), with the following PHP extensions enabled: XML (Expat), curl, GD Graphics Library version 2.0.x+ and mbstring.
- Apache Web Server >= 2.0 compiled with mod_rewrite module, or Nginx
- MySQL 5.5 or later is recommended, or MariaDB installed on your Linux virtual server.
Login via SSH and update the system
To begin, log in to your Ubuntu 16.04 VPS via SSH as user root
ssh root@IP_Address -p Port_number
Make sure that all OS packages are up to date by running the following command-line commands:
apt-get update apt-get upgrade
You should always keep your system updated for security reasons.
Create a MySQL database for Matomo
Log into MySQL with the root account:
# mysql -u root -p
Now we will create a MySQL database for Matomo using the following query:
mysql> CREATE DATABASE matomo;
Then execute the following query to add a separate user for Matomo that will interact with the database:
mysql> GRANT ALL PRIVILEGES ON matomo.* to 'matomo'@'localhost' IDENTIFIED BY '5tr0ng_Pa55w0rd';
Execute the following command to apply the privileges we set:
mysql> FLUSH PRIVILEGES;
Now we can exit the MySQL session:
Install and Configure Matomo on Ubuntu 16.04
First make sure the following packages are installed as they are needed by Matomo:
# sudo apt-get install libapache2-mod-php7.0 php7.0 php7.0-cli php7.0-common php7.0-curl php7.0-gd php7.0-mbstring php7.0-mysql php7.0-xml
Download the latest release Matomo (Piwik) and extrat it to the /var/www/matomo directory on the server:
cd /opt wget https://builds.matomo.org/piwik.zip -O matomo.zip unzip matomo.zip -d /var/www/
This will create a new directory named ‘matomo’ containing the necessary files and directories.
Change the ownership of the matomo directory
chown -R www-data:www-data /var/www/matomo
Configure Apache to serve Matomo
Now we will have to setup the Apache configuration so it can serve the Matomo directory, add the following contents below to the /etc/apache2/sites-available/matomo.conf file with nano or your favorite editor:
# sudo nano /etc/apache2/sites-available/matomo.conf Add the following lines:
Alias /matomo “/var/www/matomo/”
CustomLog /var/log/apache2/matomo-access_log common
Enable the following Apache modules:
# sudo a2enmod rewrite # sudo a2enmod headers # sudo a2enmod env # sudo a2enmod dir # sudo a2enmod mime
Enable the Apache ownCloud configuration:
# sudo a2ensite matomo.conf
Remove the default Apache configuration file:
Now restart the Apache web server:
# sudo systemctl restart apache2
Open your web browser and type in the following URL to access the Matomo web interface:
From here you can finish the setup by following the steps below:
- Matomo will check to make sure that your server meets the Matomo requirements. If everything is OK, click Next
- Enter localhost or 127.0.0.1 as database server, then enter a database username and password, database name, and once you have filled in the form, click Next
- You should receive a message: ‘Tables created with success!’. Click on the Next button once again
- Enter a username, password and email address for the administrator user account
- On the next page, set up the Website name and URL you want to track.
Since millions of websites today are powered by WordPress, there is a very useful plugin which will help you to add all the website stats at your Matomo dashboard. You can get the plugin at https://wordpress.org/plugins/wp-piwik/. There are much more ways to integrate Matomo with other popular applications. You can check the list of all available Matomo plugins and extensions here.
If your website is a medium or high-traffic website, it is a good idea to set up a cron job so that Matomo calculates the reports periodically. Create a new file matomo-archive in the /etc/cron.d/ directory:
add the following line:
MAILTO=”email@example.com” 5 * * * * www-data /usr/bin/php /var/www/matomo/console core:archive –url=http://your-domain.com/matomo/ > /var/log/apache2/matomo-archive.log
Of course, you don’t have to install and configure Matomo on Ubuntu 16.04, if you use one of our Ubuntu Hosting solutions, in which case you can simply ask our expert Linux admins to install and configure Matomo on Ubuntu 16.04 for you. They are available 24×7 and will take care of your request immediately.
PS. If you liked this post on how to install and configure Matomo on a Ubuntu 16.04 VPS, please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.