BlueOnyx : mise à jour PhpMyAdmin
De wikiGite
PhpMyAdmin livré avec BlueOnyx (5.6 à ce jour) est une ancienne version (2.11). Le problème c'est que l'Apache et le PHP de l'interface web (qui ont été isolés si Apache/PHP ont été mis à jour sur le serveur) sont trop anciens pour une phpmyadmin 3.xx (PHP 5.2 minimum requis).
On installe donc un phpmyadmin qu'on déclarera en alias sur l'Apache/PHP "normal" (>5.3) du serveur. Il sera actif dès la création d'un premier virtualhost, puisque l'alias s'appliquera à tous les vhosts du système.
Installer éventuellement :
yum install php-mcrypt
requis par phpmyadmin (mais non-obligatoire).
Charger et décompresser PHPMyadmin (vérifier la dernière version sur http://sourceforge.net/projects/phpmyadmin/ !)
cd /root/install VER=3.5.1 wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/$VER/phpMyAdmin-$VER-all-languages.tar.bz2 tar -xvjf phpMyAdmin-$VER-all-languages.tar.bz2
L'installer :
cd /usr/share mv /root/install/phpMyAdmin-$VER-all-languages ./phpmyadmin
Attention au nom du répertoire de destination. Mettre tout en minuscule, pour ne pas écraser le phpmyadmin 2.11 de BlueOnyx, qui est dans le répertoire /usr/share/phpMyAdmin (avec des majuscules).
Initialiser la configuration
cd phpmyadmin cp -p config.sample.inc.php config.inc.php vi config.inc.php
Dans la configuration, modifier (voir + bas pour ce qui concerne l'utilsateur "pma") :
$cfg['blowfish_secret'] = '<METTRE ICI LA PASSPHRASE DE VOTRE CHOIX>'; $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = '<mot de passe utilisateur pma>'; $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; $cfg['Servers'][$i]['tracking'] = 'pma_tracking'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; $cfg['Servers'][$i]['recent'] = 'pma_recent'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; $cfg['DefaultLang'] = 'fr';
Concernant l'utilisateur pma et la base pmadb, ils permettent depuis la version 3 d'utiliser des fonctions avancées, mais nécessite pour ça la création d'un base dédiée.
La base peut être crée simplement par
mysql -p < /usr/share/phpmyadmin/scripts/create_tables.sql
Puis se connecter à mysql, créer un utilisateur pma qui a les droits sur cette base
mysql -p grant all privileges on phpmyadmin.* to 'pma'@'localhost' identified by '<mot de passe utilisateur pma>'; exit
Créer un fichier de configuration pour l'alias
cd /etc/httpd/conf.d vi phpmyadmin.conf
et y ajouter :
Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin/> php_admin_value safe_mode off php_admin_value open_basedir /home/:/tmp/:/var/lib/php/session/:/usr/share/phpmyadmin/ Options FollowSymLinks AllowOverride All </Directory>
Dès création d'un premier virtualhost (ou via l'IP su serveur pour les warriors :), on y accède par
http://<nom du virtualhost>/phpmyadmin
NOTE : on ne peut pas y accéder en mettant le nom du serveur dans l'URL, car dans ce cas on tombe sur le site par défaut ("preview") sur lequel PHP n'est pas activé.