Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Ceci est une ancienne révision du document !


phpMyAdmin : une interface web pour gérer les BDD SQL

Introduction

phpMyAdmin est une interface web en PHP pour administrer à distance les SGBD MySQL et MariaDB.

Il permet d'administrer :

  • les bases de données
  • les tables et leurs champs (ajout, suppression, définition du type)
  • les index, les clés primaires et étrangères
  • les utilisateurs de la base et leurs permissions
  • importer ou exporter les données dans divers formats (CSV, XML, PDF, OpenDocument, Word, Excel et LaTeX)

Pré-requis

Avoir installé :

  • un SGBD (MySQL ou MariaDB)
  • un serveur web (apache2, lighttpd, nginx) fonctionnel
  • vérifier que les scripts PHP sont correctement interprétés.

Installation

Installez le paquet phpmyadmin ou en ligne de commande :

$ sudo apt install phpmyadmin

Lors de l'installation, il vous sera posé quelques questions auxquelles il faut répondre avec soin :

  • Cochez Créer la base de données phpmyadmin :
  • Décochez les deux options de Serveur web à reconfigurer automatiquement :

La configuration préliminaire est terminée.

Autre méthode

  1. Choisissez l’archive appropriée sur la page de téléchargement de https://www.phpmyadmin.net/ :Nous supposerons que vous avez choisi une archive dont le nom est de la forme phpMyAdmin-x.x.x-all-languages.tar.gz :
  2. Décompressez l'archive et transférez le répertoire sur votre serveur web via FTP.

Configuration

Fichier de configuration de phpmyadmin

  • Pour activer la connexion à des comptes sans mot de passe, dé-commentez la ligne :
    /* Uncomment the following to enable logging in to passwordless accounts,
     * after taking note of the associated security risks. */
    $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;

Il faut faire comprendre à nginx qu’une nouvelle application est maintenant accessible via le serveur nginx.

Créez avec les droits d'administration le fichier /etc/nginx/sites-available/phpmyadmin pour y écrire ceci :

/etc/nginx/sites-available/phpmyadmin
server {
    listen          81;
    server_name     localhost;
    root        /usr/share/phpmyadmin;
    index       index.php index.html index.htm;
    if (!-e $request_filename) {
        rewrite ^/(.+)$ /index.php?url=$1 last;
        break;
    }

    location ~ .php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
    }
}

Quelques explications :

server {…}
bloc « server { … } »
On déclare un nouveau vhost à nginx
listen 81
L’application web va écouter sur le port non-standard 81 (et non pas 80 comme toutes les applications web traditionnelles).
Ce port peut être quelconque, tout en faisant attention que certains ports sont déjà occupés par d’autres services / rôles… ;
Cela cloisonne l’application web « site » de l’application « gestion ».
Attention, vous devrez sans doute modifier les règles de votre pare-feu / routeur selon votre architecture.
server_name localhost
Nom du serveur web.
Vous pouvez mettre le nom que vous voulez
root /usr …
L’attribut « root » déclare au serveur web où se trouve l’application dans votre serveur.
Pour PHPMyAdmin, les fichiers se situent dans /usr/share/phpmyadmin ;
index …
Tous les fichiers déclarés dans cet attributs seront susceptibles de devenir la page d’accueil de votre application, seulement si ces fichiers sont présents dans le dossier de l’application ;
Partie « if »
réécriture des liens selon les fichiers / pages demandés ;
Partie « Location »
Pour plus d’informations sur cette partie, voir nginx

Ajouter un lien symbolique dans le dossier /etc/nginx/sites-enabled :

$ ln -s /etc/nginx/sites-available/phpmyadmin /etc/nginx/sites-enabled/phpmyadmin

Redémarrez nginx pour inclure cette nouvelle configuration :

$ sudo nginx -s reload

Utilisation

Dans votre navigateur web, ouvrez l’adresse de votre serveur web, suivi du port saisi dans le fichier de configuration (dans notre exemple, 81) : http://ip_serveur:81

Désinstallation

Voir aussi


Basé sur « Article » par Auteur.