Installer l'extension PHP Pinba sur Debian
Pinba est une extension PHP collectant des informations sur les performances des applications hébergées sur le serveur l'utilisant.
Ce guide est testé sur:
- Debian 7.0 Wheezy
- Debian 9.0 Stretch
Prérequis
Ce guide nécessite:
- un serveur MySQL disposant de l'engine Pinba, comme décrit par Installer l'engine MySQL Pinba sur Debian.
- un serveur HTTP avec support du PHP, comme décrit par Installer PHP-FPM sur Debian.
- php-tools, l'outil de configuration simplifiée de PHP.
Paramètres
Renseignez le nom d'hôte du serveur MySQL:
mysqlHost="localhost"
Installation
Détectez le proxy de commande (command ou sudo):
cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'
Détectez le nom des paquets PHP disponibles:
phpVersion='5'
if [ -n "$(command apt-cache pkgnames php-cli)" ]; then
phpVersion=''
fi
Détectez les versions logicielles disponibles:
libprotobufLite='libprotobuf-lite7'
[ -n "$(command apt-cache pkgnames 'libprotobuf-lite10')" ] && libprotobufLite='libprotobuf-lite10'
libprotobuf='libprotobuf7'
[ -n "$(command apt-cache pkgnames 'libprotobuf10')" ] && libprotobuf='libprotobuf10'
Détectez le chemin des fichiers de configuration des extensions PHP:
modsConfPath='/etc/php5/conf.d'
test -d '/etc/php5/mods-available' \
&& modsConfPath='/etc/php5/mods-available'
Préparation de l'environnement
Installez les logiciels nécessaires:
${cmdProxy} apt-get install build-essential libprotobuf-dev "${libprotobufLite}" \
"${libprotobuf}" protobuf-compiler "php${phpVersion}-dev" re2c dnsutils
Mise en place du logiciel
Téléchargez les sources du logiciel:
command git clone 'https://github.com/tony2001/pinba_extension' '/tmp/pinba_extension'
Placez-vous dans le dossier des sources:
command pushd '/tmp/pinba_extension'
Préparez la compilation de l'extension PHP:
command phpize
Configurez les sources:
./configure
Compilez l'extension:
command make
Installez l'extension:
${cmdProxy} make install
Quittez le dossier des sources:
command popd
Supprimez les sources:
command rm -r '/tmp/pinba_extension'
Configuration de l'extension
Obtenez l'adresse IP de l'hôte MySQL:
mysqlIp="$(command dig +short "${mysqlHost}")"
[[ -z "${mysqlIp}" ]] && mysqlIp="$(command getent hosts "${mysqlHost}" \
| command cut --delimiter=' ' --fields=1)"
Activez l'extension dans PHP:
${cmdProxy} php-tools --add-mod --mod-priority=20 --mod-name='pinba' \
--mod-settings='; loading of php Pinba module
extension=pinba.so'
Configurez PHP pour utiliser l'extension:
${cmdProxy} php-tools --add-mod --mod-priority=50 --mod-name='pinba-config' \
--mod-settings="; configuration for php Pinba module
pinba.enabled=1
pinba.server=${mysqlIp}:30002"
Configurez PHP pour informer Pinba de l'URL servie:
${cmdProxy} php-tools --add-auto-prepend="// Inform pinba extension of request URI.
if (isset(\$_SERVER['REQUEST_URI']) && function_exists('pinba_script_name_set'))
pinba_script_name_set(\$_SERVER['REQUEST_URI']);"
Rechargez la configuration de PHP:
${cmdProxy} php-tools --reload
Finalisation
Ce guide recommande:
- l'application Web Intaro Pinboard, comme décrit par Installer Intaro Pinboard sur Debian.
Remerciements
- Merci aux développeurs de Pinba (en).