Table of Contents
Was this article helpful?
Try Vultr Today with

$50 Free on Us!

Want to contribute?

You could earn up to $600 by adding new articles.

How to Install Open Web Analytics on CentOS 7

Last Updated: Fri, Mar 8, 2019
Business CentOS Linux Guides Server Apps

Open Web Analytics (OWA) is an open-source web analytics program that can be used to track and analyze how people use your websites and applications. OWA analytics can easily be added to pages with simple Javascript, PHP, or REST based APIs. Open Web Analytics source code is hosted on Github. This guide will show you how to install OWA on a fresh CentOS 7 Vultr instance.


  • Nginx

  • MariaDB

  • PHP 5.3 or greater with the following extensions:

    • PCNTL

    • mysql

Before you begin

Check the CentOS version.

cat /etc/centos-release

# CentOS Linux release 7.5.1804 (Core)

Create a new non-root user account with sudo access and switch to it.

useradd -c "John Doe" johndoe && passwd johndoe

usermod -aG wheel johndoe

su - johndoe

NOTE: Replace johndoe with your username.

Set up the timezone.

timedatectl list-timezones

sudo timedatectl set-timezone 'Region/City'

Ensure that your system is up to date.

sudo yum update -y

Install necessary packages.

sudo yum install -y wget curl vim git unzip

For simplicity, disable SELinux and Firewall.

sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld

Install PHP

Setup the Webtatic YUM repo.

sudo rpm -Uvh

Install PHP and required PHP extensions.

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mysql

Check the version.

php --version

# PHP 7.2.7 (cli) (built: Jul  1 2018 08:22:47) ( NTS )

Start and enable PHP-FPM.

sudo systemctl start php-fpm.service

sudo systemctl enable php-fpm.service

Install MariaDB and setup a database

Install MariaDB.

sudo yum install -y mariadb-server

Check the version.

mysql --version

# mysql  Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1

Start and enable MariaDB.

sudo systemctl start mariadb.service

sudo systemctl enable mariadb.service

Run mysql_secure_installation to improve security and set the password for the root user.

sudo mysql_secure_installation

Connect to the MariaDB shell as the root user.

mysql -u root -p

# Enter password:

Create an empty MariaDB database and user for OWA, and remember the credentials.


GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';



Install and configure Nginx

Install Nginx.

sudo yum install -y nginx

Check the version.

nginx -v

# nginx version: nginx/1.12.2

Start and enable Nginx.

sudo systemctl start nginx.service

sudo systemctl enable nginx.service

Configure Nginx. Run sudo vim /etc/nginx/conf.d/owa.conf and populate the file with the following configuration.

server {

    listen 80;

    listen [::]:80;

    server_name; # Check this

    root /var/www/owa; # Check this

    index index.php index.html;

    location / {

      try_files $uri $uri/ /index.php?q=$uri&$args;


    location ~ \.php$ {

      try_files $uri =404;

      fastcgi_split_path_info ^(.+\.php)(/.+)$;

      fastcgi_pass; # Check this

      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

      fastcgi_param SCRIPT_NAME $fastcgi_script_name;

      fastcgi_index index.php;

      include fastcgi_params;



Test the configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Install Open Web Analytics (OWA)

Create a document root directory.

sudo mkdir -p /var/www/owa

Change ownership of the /var/www/owa directory to johndoe.

sudo chown -R johndoe:johndoe /var/www/owa

Download the latest release OWA release.

cd /var/www/owa




mv Open-Web-Analytics-1.6.2/* . && mv Open-Web-Analytics-1.6.2/.* .

rmdir Open-Web-Analytics-1.6.2

NOTE: Please check The Open Web Analytics site for the latest version.

Change ownership of the /var/www/owa directory to nginx.

sudo chown -R nginx:nginx /var/www/owa

Run sudo vim /etc/php-fpm.d/www.conf and set the user and group to nginx. Initially, it will be set to apache.

sudo vim /etc/php-fpm.d/www.conf

# user = nginx

# group = nginx

Restart PHP-FPM.

sudo systemctl restart php-fpm.service

Navigate to the OWA installation page in your web browser. Replace with your domain name. The OWA web installer page will appear.

Follow the installer. Once you've gone through each of the steps, your OWA installation will be complete.

Want to contribute?

You could earn up to $600 by adding new articles.