Install Prosper202 with Nginx, MySQL and PHP-FPM on Ubuntu

prosper202In this tutorial we are going to show you how to install Prosper202. Made by Tracking202, Prosper202 is a self-hosted application that lets you track and optimize all your marketing campaigns. It’s open source and easy to install on a Linux VPS. Follow the steps below to install Prosper202 on Ubuntu 14.04.

The following are the minimum system requirements for Prosper202:

– PHP version 5.4 or greater.
– MySQL version 5.6 or greater.
– MySQLi extension enabled in PHP

Go ahead and connect to your server via SSH. The first thing you need to do is to upgrade all your system software to the latest version available: Run the following command:

# apt-get update && apt-get -y upgrade

We are going to use Nginx as a web server in this tutorial. Once the update process is completed you can install Nginx on your Ubuntu VPS using the following command:

# apt-get install nginx

Start Nginx and enable it on system boot:

# service nginx start
# update-rc.d nginx enable

The next thing you need to do is to install MySQL 5.6 on your server. Use the following command:

# apt-get install mysql-server-5.6 mysql-client-5.6

Proceed with the MySQL secure installation:

# mysql_secure_installation

Follow the on-screen messages to configure MySQL:

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Remove anonymous users? [Y/n] y
 ... Success!

Disallow root login remotely? [Y/n] y
 ... Success!

Remove test database and access to it? [Y/n] y
 - Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
 ... Failed!  Not critical, keep moving...
 - Removing privileges on test database...
 ... Success!

Reload privilege tables now? [Y/n] y
 ... Success!

Start the MySQL service and enable it on system boot:

# service mysql start
# update-rc.d mysql enable

If you have MySQL server already installed on your server, you can check its version using the following command:

# mysql --version

You should see something like the following on your screen:

# mysql --version
mysql  Ver 14.14 Distrib 5.6.28, for debian-linux-gnu (x86_64) using  EditLine wrapper

The next component that needs to be installed is PHP-FPM. Install PHP-FPM using the command below:

# apt-get install php5-fpm php5-mysql

Create a directory for Prosper202:

# mkdir /var/www/prosper202

Now, download the latest release of Prosper202 from and unzip the downloaded file in the ‘/var/www/prosper202/’ directory on your server. Or, use the following command to download and unzip the Prosper202 installation in the ‘/var/www/prosper202/’ directory:

# cd /var/www/prosper202/ && wget && unzip latest

Once you do that, change the ownership of the files:

# chown www-data: -R /var/www/prosper202

Create an Nginx configuration file for Prosper202:

nano /etc/nginx/sites-available/

Enter the following content:

server {
    #listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    root /var/www/prosper202;
    index index.php index.html;

    # Make site accessible from http://localhost/

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to index.html
        try_files $uri $uri/ /index.html;

    error_page 404 /404.html;

    # redirect server error pages to the static page /50x.html
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/www;

    # pass the PHP scripts to FastCGI server listening on
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

        # With php5-cgi alone:
        # fastcgi_pass;
        # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;

Make sure that you replace with your actual domain name.
Enable the configuration and restart the Nginx service:

# ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/
# service nginx restart

Since Prosper202 stores its data into a MySQL database, you need to create a database for it. Log into MySQL as root:

# mysql -u root -p

Create a new database for Prosper202, a database user and set up a password using the commands below:

mysql> CREATE DATABASE prosper202DB;
mysql> GRANT ALL PRIVILEGES ON prosper202DB.* TO 'prosper202'@'localhost' IDENTIFIED BY 'YoUrPaSsWoRd';
mysql> \q

The final step is to open your favorite web browser and enter your domain name into the search bar. You should follow the on-screen instructions to complete the Prosper202 installation.

Of course you don’t have to do any of this if you use one of our Linux VPS hosting services, in which case you can simply ask our expert Linux admins to install Prosper202 for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

Install Mautic on an Ubuntu 14.04 VPS
Getting started with Git on Linux
How to Install NodeBB on a CentOS 7 VPS
There are currently no comments.