Skip to content
Ilyas Salikhov edited this page Jun 9, 2015 · 12 revisions

Before Pinboard installation you should already be installed Pinba. Since the version 1.5 Intaro Pinboard requires Pinba 1.1 or higher.

Intaro Pinboard requires:

  • PHP 5.3.3 or later
  • APC Cache
  • MySQL with Pinba plugin and database created by pinba

Download application:

$ git clone git://github.com/intaro/pinboard.git --branch=v1.5.2

Download composer

$ curl -sS https://getcomposer.org/installer | php

Install dependencies

Install dependency libraries through composer (and enter the parameters of connection to Pinba database):

$ php composer.phar install

Initialize app

Run commands:

$ ./console migrations:migrate
$ ./console register-crontab

Command will create additional tables and will define crontab task. Command ask you for a period of crontab task running. Important! You must set period equal pinba_stats_history setting of Pinba. For example pinba_stats_history equal 900 (seconds). Correspondently you must enter 15 (minutes).

After running of the commands you must set parameter aggregation_period in config/parameters.yml in the same value that you enter above in ISO8601 format. For example for 15 minutes aggregation_period will be equal PT15M.

Make Pinboard visible from web

Point the document root of your webserver or virtual host to the web/ directory. Read more in Silex documentation.

Example for nginx + php-fpm:

server {        
    listen 80;
    server_name pinboard.site.ru;
    root /var/www/pinboard/web;

    #site root is redirected to the app boot script
    location = / {
        try_files @site @site;
    }

    #all other locations try other files first and go to our front controller if none of them exists
    location / {
        try_files $uri $uri/ @site;
    }

    #return 404 for all php files as we do have a front controller
    location ~ \.php$ {
        return 404;
    }

    location @site {
        fastcgi_pass unix:/tmp/php-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/index.php;
        fastcgi_param HTTPS $https if_not_empty;
    }

    location ~ /\.(ht|svn|git) {
        deny  all;
    }
}