{{tag>ged bibliothèque BROUILLON vétuste}} ---- ====== Installation du logiciel libre de gestion de bibliothèque (SIGB) PMB ====== **PMB** est un système intégré de gestion de bibliothèque. C'est une application 100 % web, reposant sur une plate-forme Apache + PHP + MySQL. PMB répond aux règles de la bibliothéconomie : il permet le recours à la norme Z39.50 (permet d'importer sur différents serveurs des notices bibliographiques intégrables directement dans la base de données), gère le format Unimarc et le format d'échange ISO 2709. Il intègre également le format de données XML. L'implantation de PMB dans un environnement numérique de travail (ENT) est tout à fait envisageable. D'après l'enquête annuelle de Livres Hebdo, PMB se classait troisième SIGB en France en 2005 par le nombre d'installations avec 165 installations réalisées. ===== Présentation de l'interface ===== PMB se divise en deux parties ou modules : * Le module de Gestion et le module d'interrogation (OPAC). Celui-ci se décompose en différents onglets qui appellent chacun des fonctions spécifiques. Les onglets sont au nombre de sept : circulation, catalogue, autorités, éditions, DSI (diffusion sélective de l'information), acquisitions et administration. * L'OPAC, qui est l'interface de recherche pour les utilisateurs de PMB. ===== Installation ===== ==== Prérequis ==== PMB étant une application web, elle nécessite l'installation d'un serveur web comme [[apache2|Apache]] munis de [[php|php]], et d'un serveur de base de donnée comme [[mysql|Mysql]]. Il est possible de les installer un parun, ou de passer parl'installation d'un [[lamp|LAMP]] qui inclue tous ces prérequis. Une fois votre serveur opérationnel, il faut encore installer quelques extensions à php et faire quelques modifications dans la configuration de php. ==== Installation des modules PHP complémentaires ==== PMB étant une application php, son installation se déroule comme beaucoup d'outils du même type, parle biais d'une page d'installation accessible parnavigateur web. Néanmoins, quelques extensions php sont nécessaires au bon fonctionnement du logiciel. * Bibliothèque GD : **[[apt://php7.3-gd|php7.3-gd]]** * Bibliothèque PHP_BZ2 : installée pardéfaut * Bibliothèque PHP_XSLT : **[[apt://php7.3-xsl|php7.3-xsl]]** * Bibliothèque PHP_CURL : **[[apt://php7.3-curl|php7.3-curl]]** ==== Installation du module php-yaz pour l'importation de notices à la norme z39.50 ==== Le module php-yaz est le plus difficile à installer car il n'existe plus dans les dépôts d'Ubuntu à partir de Lucid (10.04). Il est possible parcontre de passer parphp-pear, qui est en quelque sorte un gestionnaire de dépôt adapté à PHP. Il faut donc commencer parinstaller le paquet **[[apt://php-pear|php-pear]]**, ainsi que les paquets **[[apt://yaz|yaz]]** , **[[apt://libyaz5|libyaz5]]**, **[[apt://libyaz5-dev|libyaz5-dev]]**, et **[[apt://php7.3-dev|php7.3-dev]]**. puis dans un terminal, lancer la commande suivante : sudo pecl install yaz php-pear va alors se charger d'installer l'extenzion php-yaz pour vous. Sous 14.04 un bug répertorié peut empêcher le fonctionnement normal de pear et donc pecl. La commande ci-dessus renvoie "failed". Des solutions sont rapportées [[http://forum.ubuntu-fr.org/viewtopic.php?pid=18092311#p18092311|là]]. Editer le fichier /etc/php/7.2/apache2/php.ini et ajouter la ligne suivante juste après [PHP] : extension=yaz.so Pour vérifier la bonne installation des extensions php : * Dans un terminal sur le serveur : php --ini devrait renvoyer ceci : Configuration File (php.ini) Path: /etc/php/7.2/cli Loaded Configuration File: /etc/php/7.2/cli/php.ini Scan for additional .ini files in: /etc/php/7.2/cli/conf.d Additional .ini files parsed: /etc/php/7.2/cli/conf.d/10-mysqlnd.ini, /etc/php/7.2/cli/conf.d/10-opcache.ini, /etc/php/7.2/cli/conf.d/10-pdo.ini, /etc/php/7.2/cli/conf.d/15-xml.ini, /etc/php/7.2/cli/conf.d/20-calendar.ini, /etc/php/7.2/cli/conf.d/20-ctype.ini, /etc/php/7.2/cli/conf.d/20-dom.ini, /etc/php/7.2/cli/conf.d/20-exif.ini, /etc/php/7.2/cli/conf.d/20-fileinfo.ini, /etc/php/7.2/cli/conf.d/20-ftp.ini, /etc/php/7.2/cli/conf.d/20-gd.ini, /etc/php/7.2/cli/conf.d/20-gettext.ini, /etc/php/7.2/cli/conf.d/20-iconv.ini, /etc/php/7.2/cli/conf.d/20-intl.ini, /etc/php/7.2/cli/conf.d/20-json.ini, /etc/php/7.2/cli/conf.d/20-mbstring.ini, /etc/php/7.2/cli/conf.d/20-mysqli.ini, /etc/php/7.2/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.2/cli/conf.d/20-phar.ini, /etc/php/7.2/cli/conf.d/20-posix.ini, /etc/php/7.2/cli/conf.d/20-readline.ini, /etc/php/7.2/cli/conf.d/20-shmop.ini, /etc/php/7.2/cli/conf.d/20-simplexml.ini, /etc/php/7.2/cli/conf.d/20-sockets.ini, /etc/php/7.2/cli/conf.d/20-sysvmsg.ini, /etc/php/7.2/cli/conf.d/20-sysvsem.ini, /etc/php/7.2/cli/conf.d/20-sysvshm.ini, /etc/php/7.2/cli/conf.d/20-tokenizer.ini, /etc/php/7.2/cli/conf.d/20-wddx.ini, /etc/php/7.2/cli/conf.d/20-xmlreader.ini, /etc/php/7.2/cli/conf.d/20-xmlwriter.ini, /etc/php/7.2/cli/conf.d/20-xsl.ini, /etc/php/7.2/cli/conf.d/20-zip.ini * Dans un nouveau fichier 'phpinfo.php' à la base de votre site : qu'il faut ensuite appeler dans un navigateur : http://votre_site/phpinfo.php et vérifier que les modules gd, bz2, curl, xsl et yaz sont bien chargés. Il est possible que le fichier yaz.ini n'apparaisse pas dans la section "Additional ini files parsed", mais que la section Yaz soit tout de même présente et le module actif. {{http://bambou.viens.la/autres/phpinfo1.gif}} ==== Modification du fichier php.ini ==== Editer le fichier /etc/php5/apache2/php.ini et remplacer respectivement : * Temps d'éxécution max_execution_time = 300 par max_execution_time = 3600 * Taille maximale de fichier téléchargé (varie en fonction de votre catalogue): upload_max_filesize = * par upload_max_filesize = 128M ==== Modification du fichier my.cnf ==== Editer le fichier /etc/mysql/my.cnf et remplacer : set-variable = max_allowed_packet=1M par set-variable = max_allowed_packet=128M //Fixer ce dernier paramètre à la même valeur que dans le fichier php.ini// ==== Redémarrage du serveur Apache ==== Afin de rendre effective la nouvelle configuration, lancer la commande suivante dans un terminal : sudo /etc/init.d/apache2 restart ==== Installation de PMB ==== En bref, voici les étapes d'installation : * Télécharger [[http://forge.sigb.net/redmine/projects/pmb/files|l'archive]] du logiciel * Extraire son contenu dans un dossier à la racine de votre site ( /var/www pardéfaut ). * Accéder via un navigateur web à la page d'installation (ex : http://votresite/pmb/tables/install.php ) * Suivre les indications à l'écran. === Erreur de permission lors de l'installation ? === Si vous rencontrez un message d'erreur vous informant qu'un dossier n'est pas accessible en écriture, ou qu'il ne possède pas les permissions adéquates, vous pouvez essayer de faire ce dossier au groupe "www-data" et lui donner les permissions nécessaires. Le groupe "www-data" est créé parapache2 lors de son installation et permettra au serveur d'avoir tous les droits sur ledit dossier. C'est quand même mieux que de donner toutes les permissions à tout le monde... Pour changer le groupe du dossier : sudo chgrp -R www-data /chemin/du/dossier et pour changer les permissions du groupe sur ce dossier : sudo chmod -R 774 /chemin/du/dossier/ Une fois ces manipulations effectuées, il ne devrait plus y avoir de problème... === Erreur 404 : Not found ? === Si vous avez décompressé pmb dans /var/www de sorte d'obtenir /var/www/pmb/... , l'adresse de l'installateur est [[http://localhost/pmb/tables/install.php ]].h Si cela retourne une erreur 404, essayer de décompresser pmb plutôt dans le dossier /var/www/html et essayez de nouveau l'adresse ci-dessus (sans ajouter /html). ===== Utilisation ===== Un [[http://doc.sigb.net/pmb/co/guide_complet_web.html|guide d'utilisation]] est disponible sur le site documentation du logiciel. Une fois le site installé on l'atteint en http://localhost/.../pmb/index.php . Il faut alors entrer //admin// comme utilisateur et mot de passe. En admettant que le serveur ait pour IP 198.168.1.53, on atteint le site depuis un autre PC du réseau à l'adresse 198.168.1.53/pmb/index.php . Ça va si bien sans dire... que personne le dit. LOL Outre le mot de passe au début, il existe d'autres pièges. Spécialement celui de l'absence d'un code statistique pour les exemplaires : dans ce cas ils n'apparaissent pas dans l'OPAC. Il faut donc créer un code statistique quelconque via Administration. Il sera attribué pardéfaut à chaque création de livre. Quant aux sauvegardes, elles sont enregistrées en .../pmb/admin/backup/backups . Elles sont restaurées dans une autre installation en passant parla page [[http://localhost//pmb/admin/sauvegarde/emergency/emergency.php|emergency]]. Il faut avoir correctement réglé /etc/php5/apache2/php.ini selon ces [[http://www.citedoc.net/gestion/pmb_fiches/pmb_2_9_sauvegarder_restaurer_donnees_20120228.pdf|explications]], avoir relancé php (php --ini) //et// apache2. ===== Administration et configuration avancée===== Un [[http://doc.sigb.net/pmb/co/guide_complet_web_section_administration.html|guide d'administration]] est disponible sur le site documentation du logiciel. Un [[https://doc.sigb.net/doc_webservices_pmb/co/guideWeb.html|guide pour les Webservices]] est disponible sur le site documentation du logiciel. Un [[https://doc.sigb.net/portail_pmb/co/guide%20web%20portail.html|guide pour la fonction portail]] (version 4.0 et plus) est disponible sur le site documentation du logiciel. ===== Voir aussi ===== * [[http://forge.sigb.net/redmine/projects/pmb|Forge PMB]] **(fr)** * [[http://www.pmbservices.fr/index.php?lvl=cmspage&pageid=14&id_article=52|Site du développeur PMB Services]] **(fr)** * [[http://www.pmbservices.fr/index.php?lvl=cmspage&pageid=2&id_logiciel=18|Site du logiciel PMB]] **(fr)** * [[http://www.pmbservices.fr/index.php?lvl=cmspage&pageid=18|Listes de discussion]] * [[wpfr>PMB_(logiciel)|Wikipedia - PMB]] **(fr)** * [[http://biblinuxiens.tuxfamily.org/|Forum pour les Linuxiens]] - Ce forum est tout à fait indépendant de la société PMB Services. Il a été mis en place parLaurentBDP976, sur TuxFamily.org * [[https://www.isalo.org/wiki.debian-fr/index.php?title=Installation_d%27un_serveur_Pmb|Documentation pour Debian]] * [[http://www.pmb-bug.be/?q=biblio/keyword/28|Liste de ressources de documentation sur le site de la communauté d'utilisateurs belges PMB-BUG]] ---- //Contributeurs principaux : [[:utilisateurs:smon]] [[:utilisateurs:Arthus Belliqueux]] [[:utilisateurs:patch-works]]//