Installer PMB de façon sécurisée (un peu)

En suivant les bons conseils de Florent Tétart (responsable du développement chez PMB Services) qu’il nous a donnés sur la liste de diffusion des utilisateurs de PMB (voir la page Liens), et en m’inspirant de ce que l’hébergeur TuxFamily nous propose en matière de téléchargement sécurisé, j’ai pu apprendre à installer PMB de manière plus astucieuse qu’auparavant.

Procédure habituelle

Quand vous installez PMB, vous commencez par transférer chez votre hébergeur les répertoires et fichiers contenus dans le dossier pmb que vous venez de décompressez (archive ZIP). Tout le contenu du répertoire pmb se trouve ainsi à la racine du site.

Pour cela, vous utilisez un logiciel graphique FTP, du genre gFTP ou FileZilla.

Pour l’installation de PMB en local sur un serveur GNU/Linux (Debian), lisez la documentation préparée par LaurentBDP976: Debian Linux & Pmb – Tutoriel d’installation du serveur (lien vers le répertoire où vous choisirez le fichier qui vous convient, même si à ce jour, il n’y en a qu’un).

Sécuriser PMB: en résumé

Il y a bien mieux à faire, même si nous n’en savions rien jusqu’à présent :-( Mais si, comme moi, vous vous êtes posé au moins trois questions, vous trouverez des solutions dans cet article:

  • Pourquoi PMB n’est-il pas livré avec au moins un fichier .htaccess à ajuster selon les besoins?
  • Pourquoi l’URL de l’OPAC est-elle si affreuse?
  • Pourquoi l’URL de la gestion de PMB est-elle si directe que tous les internautes peuvent aller contempler la page de connexion au site qui affiche le nom de notre base de données?

Voici le programme:

  1. Modifier l’arborescence de PMB
  2. Installer des fichiers .htaccess
  3. Utilisez SSH pour transférer tout le bazar et modifier l’arborescence de PMB, si besoin, sur le serveur distant.

Modifier l’arborescence de PMB

Modifier l’arborescence de PMB permet trois choses:

C’est tout simple à faire:

  1. Au lieu de télécharger le contenu du répertoire pmb, vous téléchargez le répertoire pmb à la racine du site.
  2. Au lieu de laisser le dossier opac_css à l’intérieur du répertoire pmb, vous déplacez son contenu à la racine du site
  3. Vous supprimez le dossier opac_css, maintenant vide de tout contenu

Votre arborescence est donc chamboulée: le répertoire pmb se trouve au milieu des dossiers auparavant sagement rangés dans le répertoire opac_css. Mais ça marchera dans un instant.

Renommer le répertoire pmb

Renommer le répertoire pmb est important car c’est votre accès à la gestion du catalogue. Tout le monde sait que ce répertoire se nomme pmb. Si vous lui donnez un nom que vous seuls et les gens qui travaillent sur le catalogue connaissez, vous le protégez. N’importe quel nom convient, pourvu que vous en souveniez plus tard quand votre PMB sera fonctionnel ;-) Je prends l’exemple fictif de plouf. L’URL d’accès à l’administration du catalogue sera donc http://bib.org/plouf/ (exemple fictif).

Fichiers .htaccess

Fichier .htaccess pour l’OPAC

À la racine du site, placez un fichier .htaccess. Il sert à protéger l’ensemble des dossiers et fichiers de l’OPAC et à rediriger l’ancienne URL http://bib.org/opac_css/ vers la nouvelle http://bib.org/.

Voici ce que j’ai mis dans ce fichier:

#
# Apache/PHP/PMB:
#

# Don't show directory listings for URLs which map to a directory.
 Options -Indexes

 DirectoryIndex index.php

RedirectPermanent /opac_css http://bib.org

DirectoryIndex

La ligne DirectoryIndex index.php n’est là que pour mémoire, si jamais vous changez le nom de la page index.php en paco_index.php, par exemple («paix» en esperanto, anagramme de «opac»).

Il faudrait donc modifier la ligne en inscrivant paco_index.php Je n’ai pas encore essayé. Voyez la documentation d’Anne-Marie Cubat à ce sujet: Installation en ligne de PMB (conseils à lire attentivement et procédure, pas-à-pas).

RedirectPermanent

Dans la ligne RedirectPermanent, attention aux /. Respectez leur présence ou leur absence. La redirection permet de rediriger vos visiteurs qui n’ont pas la nouvelle adresse de l’OPAC.

Il est conseillé de faire une redirection 301 pour que les moteurs de recherche enregistre le changement d’adresse. Voici ce que vous pouvez essayer tout simplement:
Remplacez les mots «RedirectPermanent» par «Redirect 301».

Fichier .htaccess pour pmb (alias plouf)

Placez maintenant un fichier .htaccess dans le répertoire plouf qui est l’ancien répertoire pmb. Voici ce qu’il est possible de mettre:

#
# Apache/PHP/PMB:
#

# Don't show directory listings for URLs which map to a directory.
 Options -Indexes

 DirectoryIndex index.php

RedirectPermanent /plouf/opac_css http://bib.org

Comme plus haut, la ligne DirectoryIndex index.php n’est là que pour mémoire, si jamais vous changez le nom de la page index.php en plouf_index.php, par exemple.
Il faudrait donc modifier cette ligne en inscrivant plouf_index.php Je n’ai pas encore essayé et je ne vois pas bien l’intérêt puisque le dossier pmb a été renommé.
Il est aussi possible d’ajouter dans .htaccess un accès à la page d’accueil de l’administratin par mot de passe pour les utilisateurs autorisés. C’est très facile car la documentation abonde. Je passe donc. Cela fait deux verrous à ouvrir avant d’accéder à PMB.

Sans fin et suggestion pour les développeurs de PMB

À l’assaut de .htaccess

Si vous avez des idées, notamment pour le fichier .htaccess qui devrait être amélioré avec des regex pour protéger les dossiers et fichiers plus efficacement, faites-nous en part. Et il faut protéger le fichier .htaccess des regards.

Sur la liste de diffusion, personne ne nous aide pour cela car, n’est-ce pas, c’est du ressort des pros qui sont payés pour ça. Mais nous ne pouvons payer personne et nous travaillons en bénévoles. Et enfin, nous préférons apprendre. Et l’idée que les .htaccess sont réservés aux informaticiens me paraît absurde.

L’apprentissage des regex est des plus ennuyeuses, est-ce à dire que c’est donc bon pour les informaticiens?

Suggestion pour PMB

Il faudrait que deux fichiers .htaccess soient inclus dans le répertoire PMB. Il suffit de commenter les lignes qui peuvent poser problèmes et donner quelques indications. Cela nous donnerait des exemples pour nous aider.

C’est ce que fait l’équipe de Drupal. C’est un exemple à suivre.

La suite avec SSH

En complément de cet article, n’hésitez pas à utilisez SSH pour transférer tout le bazar et modifier l’arborescence de PMB, si besoin, sur le serveur distant: SSH pour installer PMB ou modifier l’installation.

3 réflexions au sujet de « Installer PMB de façon sécurisée (un peu) »

  1. Bonjour,

    J’ai suivi la procédure, en déplaçant les fichiers du répertoire opac_css vers la racine j’ai écrasé des fichiers mais cela fonctionne.

    Ma question est comment accéder à l’interface administrateur ? Y a t il un lien à rajouter ?

    Merci

  2. Es un método muy eficiente. Hace más amigable el acceso a los usuarios y protege el acceso administrativo.

    Gracias por compartirlo.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *