Tuto : installer PMB 7 et LAMP sur Debian 10 (en VPS)
Bonjour à tous,
je poste ici mon aide mémoire. Ce tuto n'a pas à vocation à vous apprendre comment installer Debian ni les bases d'administration d'un serveur sous Linux. Je considère que les commandes sont connues (à minima) et que vous avez une idée de ce que vous faites.
Si vous ne comprenez pas les commandes, je ne peux que vous recommander de faire une recherche sur Internet et de lire un peu de documentation, le Net en regorge.
Je me réfaire à la doc d'installation de PMB7, surtout au pré-requis de PMB7 dispo ici.
Si vous ne comprenez pas les commandes, je ne peux que vous recommander de faire une recherche sur Internet et de lire un peu de documentation, le Net en regorge.
Je me réfaire à la doc d'installation de PMB7, surtout au pré-requis de PMB7 dispo ici.
Les termes en MAJ et gras sont à changer selon les votres.
Prérequis
- Avoir les droits root sur le serveur
- Debian 10 installé et à jour (j'utilise un VPS chez OVH)
Configuration de LAMP
Configurer un "utilisateur sudo" avec droit adminsudo su -
adduser USER
usermod -aG USER
exit
su - USER
Installer AMP
ATTENTION !!! Ne pas dépasser PHP 7.3 !sudo apt-get update
sudo apt-get install apache2 apache2-doc php7.3-common libapache2-mod-php7.3 php7.3-cli
php-gd php-apcu php-bz2 php-curl php-intl php-mbstring php-mysqlnd php-soap php-sqlite3
php-xml php-zip mariadb-server libimage-exiftool-perl_xfonts-75dpi fontconfig libxext6
libxrender1 xfonts-base php7.3-dev php-pear libyaz4-dev tree poppler-utils unzip
Configurer Apache
Activer les modulessudo a2enmod rewriteCréer un Vhost pour PMB
sudo a2enmod headers
sudo a2enmod ssl
sudo service apache2 restart
sudo nano /etc/apache2/sites-available/pmb.confCi-dessous, la config à copier-coller dans le fichier ouvert.
<VirtualHost *:80>
ServerName pmb.fr
ServerAlias www.pmb.fr
DocumentRoot "/var/www/pmb"
<Directory "/var/www/pmb">
Options +FollowSymLinks
AllowOverride all
Require all granted
</Directory>
ErrorLog /var/log/apache2/error.pmb.log
CustomLog /var/log/apache2/access.pmb.log combined
</VirtualHost>
On active le Vhost
sudo a2ensite pmb.conf
sudo service apache2 restart
Installer les paquets non présent dans les dépôts
Paquet .deb installer à la main (wkhtmltox)cd /tmp/Paquet à installer par PEAR (yaz)
sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.buster_amd64.deb
sudo dpkg -i /wkhtmltox_0.12.6-1.buster_amd64.deb
sudo pecl install yaz
sudo nano /etc/php/7.3/apache2/conf.d/yaz.ini
À mettre dans le fichier yaz.ini :
extension=yaz.so
sudo ln -s /etc/php/7.3/apache2/conf.d/yaz.ini /etc/php/7.3/mods-available/yaz.iniPaquet compilé (php-xdiff)
sudo phpenmod yaz
cd /usr/local/src/
sudo wget http://www.xmailserver.org/libxdiff-0.23.tar.gz
sudo tar xzf libxdiff-0.23.tar.gz
cd libxdiff-0.23.tar.gz
sudo ./configure
sudo make
sudo make install
sudo nano /etc/php/7.3/apache2/conf.d/xdiff.ini
À mettre dans le fichier :
extension=xdiff.so
sudo ln -s /etc/php/7.3/apache2/conf.d/xdiff.ini /etc/php/7.3/mods-available/xdiff.ini
sudo phpenmod xdiff
sudo service apache2 reload
Modifier le php.ini
On fait une sauvegarde du fichier.sudo cp /etc/php/7.3/apache2/php.ini /etc/php/7.3/apache2/php.ini.savOn ouvre le fichier et on le modifie avec les caractéristiques demandées dans la doc d'installation de PMB7
sudo nano /etc/php/7.3/apache2/php.ini
Configurer Mariadb
J'ai laissé tombé MySQL. La version est trop évoluée sur Debian 10. Il est préférable de se simplifier la vie avec MariaDB qui est un fork de MySQL et qui est resté pleinement compatible (les commandes MySQL sont les mêmes que celles de MariaDB)
Sauvegarde du fichier de conf
sudo cp /etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf.save
Puis on ouvre le fichier de conf
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
character_set_server= utf8
collation_server= utf8_unicode_ci
key_buffer_size = 1G
max_allowed_packet= 64M
query_cache_limit = 2M
query_cache_size =16M
Autre fichier à modifier
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.saveÀ mettre avant les !includes
[mysqld]Sécurisation de la base MariaDB
#
# Rajout pour PMB
#
default_storage_engine = MyISAM
interactive_timeout = 300
join_buffer_size = 4M
open_files_limit = 10000
sql_mode = ''
wait_timeout = 300
sudo mysql_secure_installation
Création de l'utilisateur PMB
sudo mysql
CREATE USER 'USER_PMB'@'localhost' IDENTIFIED BY 'VOTRE_MOT_DE_PASSE';
GRANT ALL PRIVILEGES ON * . * TO 'USER_PMB'@'localhost';
FLUSH PRIVILEGES;
mysql -h localhost -u PMB_USER -pCréation de la BDD de PMB
sudo mysql
CREATE DATABASE pmb;
Autres installations
Installer sendmail
sudo apt-get install sendmailY pour tous pour valider la config.
sudo sendmailconfig
sudo service apache2 restart
Installez Adminer
J'ai choisi Adminer à la place de PhpMyAdmin, car Adminer est bien plus simple et léger. Si on ne bidouille pas trop en base, c'est suffisant.
Adminer est simple, la doc est ici.
Adminer est simple, la doc est ici.
sudo apt install adminer
cd /usr/share/adminer/
sudo ./compile.php
sudo mv adminer-*.php adminer.php
Passage en root pour la commande suivante, sudo ne passe pas !
su -
echo "Alias /adminer.php /usr/share/adminer/adminer.php" | tee /etc/apache2/conf-available/adminer.conf
exit
sudo a2enconf adminer.conf
sudo systemctl reload apache2
http://VOTRE_IP_SERVEUR/adminer.phpLa suite dans le poste d'après ...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Installation de PMB
Dans le navigateur- Connexion avec les identifiants par défaut qui sont admin / admin
- Mettez à jour la BDD
- Changer le mot de passe admin
Et voilà !je n'importe pas une BDD d'une version antérieur de PMB.
Je par sur une basse neuve, que je crée sois avant l'installation (donc directement dans MariaDB) soit pendant l'installation. Ça c'est une question de goût, les deux fonctionne.
Cdlt
Merci beaucoup ! L'article est très clair. J'ai fait l'installation avec une base de données vide et cela marche normalement. Mon soucis c'est de faire la restauration de la base. J'étais sur PMB5 et la base a évolué. Je suis également sur MariaDB. Concernant surtout les données de type date, si c'est vide (""), la base de données refuse cela. Je sais que ce n'est pas le sujet de votre poste. Mais peut être vous avez une solution par rapport à cela.
Merci d'avance !
Je suis désolé je n'ai jamais eu à faire ce type d'opération.
Cependant, je dirais bien qu'il faudrait avant tout travailler sur votre ancienne base, directement en SQL peut être pour traiter par lot les données qui bloquent, du type renseigné une date fictive (facilement identifiable) à la place d'une date vide.
Bon courage pour votre import.
PMB s'ouvre puis lorsque je veux éditer les paramètres pour l'utilisateur admin, j'obtiens unknown user.
Qu'est-ce qui peut faire qu'après la connexion avec admin, l'accès à la table users soit bloqué ?
Avant de faire ces mises à jour successives, j'ai importé la base de mon ancienne version de pmb 4.2. Le unknown user a persisté, puis j'ai fait les mises à jour successives en nettoyant la base (réindexation) lorsque des problèmes de mise à jour apparaissaient. A la 5.22, le problème était réglé.
Bon courage !
Je suis content que vous ayez trouvé. Je n'ai jamais rencontré ce souci, je n'aurai pas pu vous aider.
Merci pour le retour, ça pourra sûrement servir à quelqu'un !
Installer YAZ est la partie la plus pénible, c’est un peu sensible.
C'est pas Debian, mais les commandes pecl doivent être bonne.
Mais il est a destination d'une ancienne version de Debian (8), peut être qu'il ne s'installera pas.
Je ne l'ai pas précisé car j'ai conçu ce tuto comme un ensemble : si on le prend dans l'ordre, il n'y a aucun raison pour qu'on n'ai pas ce paquet d'installé et donc qu'on sache le protocole YAZ en dépende.
meme yaz !