How to Install Open Web Analytics on CentOS 7
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.
Requirements
- 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 https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
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.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit
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 example.com; # 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 127.0.0.1:9000; # 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
wget https://github.com/padams/Open-Web-Analytics/archive/1.6.2.zip
unzip 1.6.2.zip
rm 1.6.2.zip
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 example.com
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.