Installation & déploiement
Prérequis
- Serveur Debian 10, 11 ou 12 / Ubuntu 18.04 ou 20.04
- PHP 7.4+ avec extensions : mysqli, curl, json, mbstring, xml, ssh2
- MariaDB 10.3+ ou MySQL 5.7+ (pour la base interne PmaControl)
- Apache2 ou Nginx avec mod_rewrite
- Git, nmap (optionnel pour autodiscovery)
- Graphviz (pour la génération de topologie Dot3)
Installation rapide
# Cloner le dépôt
git clone https://github.com/PmaControl/PmaControl.git /srv/www/pmacontrol
# Créer la base de données
mysql -e "CREATE DATABASE pmacontrol CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
mysql -e "CREATE USER 'pmacontrol'@'localhost' IDENTIFIED BY 'votre_mot_de_passe';"
mysql -e "GRANT ALL ON pmacontrol.* TO 'pmacontrol'@'localhost';"
# Configurer la connexion
cp /srv/www/pmacontrol/configuration/db.config.ini.php.example /srv/www/pmacontrol/configuration/db.config.ini.php
# Éditez le fichier avec vos identifiants
# Lancer le wizard d'installation
php /srv/www/pmacontrol/glial install init
Le wizard
Install::init() crée toutes les tables nécessaires, configure les paramètres par défaut et déploie le schéma SQL complet (162 tables).Configuration base de données
Le fichier configuration/db.config.ini.php contient les connexions :
[pmacontrol]
driver=mysql
hostname=127.0.0.1
port=3306
user=pmacontrol
password=votre_mot_de_passe
database=pmacontrol
ssl=0
timeout=1
Pour régénérer ce fichier :
php /srv/www/pmacontrol/glial mysql refreshConfig Déploiement des clefs SSH
PmaControl utilise des clefs SSH ED25519 pour se connecter aux serveurs distants (collecte hardware, espace disque, etc.).
# Générer une clef SSH
php /srv/www/pmacontrol/glial deployRsaKey generate
# Déployer sur un serveur
php /srv/www/pmacontrol/glial deployRsaKey deploy [id_serveur]
# Tester la connexion
php /srv/www/pmacontrol/glial deployRsaKey test [id_serveur]
Les clefs SSH sont stockées dans la table
ssh_key. Le type ED25519 est recommandé pour sa sécurité et sa compacité.Mise à jour
# Mettre à jour le code
cd /srv/www/pmacontrol && git pull
# Appliquer les patches SQL
php /srv/www/pmacontrol/glial upgrade needUpgrade
php /srv/www/pmacontrol/glial upgrade executePatch
Le système de mise à jour (Upgrade.php) détecte automatiquement les patches SQL à appliquer en comparant la version courante avec les patches disponibles dans sql/patch/.
Configuration Apache
<VirtualHost *:80>
ServerName pmacontrol.votre-domaine.com
DocumentRoot /srv/www/pmacontrol/App/Webroot
<Directory /srv/www/pmacontrol/App/Webroot>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/pmacontrol_error.log
CustomLog ${APACHE_LOG_DIR}/pmacontrol_access.log combined
</VirtualHost>
Activez mod_rewrite : a2enmod rewrite && systemctl restart apache2