Installation & déploiement
前提条件
- Debian 10、11 或 12 / Ubuntu 18.04 或 20.04 服务器
- PHP 7.4+,需要扩展:mysqli、curl、json、mbstring、xml、ssh2
- MariaDB 10.3+ 或 MySQL 5.7+(用于 PmaControl 内部数据库)
- Apache2 或 Nginx,需启用 mod_rewrite
- Git、nmap(自动发现功能可选)
- Graphviz(用于生成 Dot3 拓扑图)
快速安装
# 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
安装向导
Install::init() 会创建所有必需的表、配置默认参数并部署完整的 SQL Schema(162 张表)。数据库配置
文件 configuration/db.config.ini.php 包含连接配置:
[pmacontrol]
driver=mysql
hostname=127.0.0.1
port=3306
user=pmacontrol
password=votre_mot_de_passe
database=pmacontrol
ssl=0
timeout=1
重新生成此文件:
php /srv/www/pmacontrol/glial mysql refreshConfig SSH 密钥部署
PmaControl 使用 ED25519 SSH 密钥连接到远程服务器(采集硬件信息、磁盘空间等)。
# 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]
SSH 密钥存储在
ssh_key 表中。推荐使用 ED25519 类型,兼具安全性和紧凑性。更新
# 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
更新系统(Upgrade.php)通过比较当前版本与 sql/patch/ 中的可用补丁,自动检测需要应用的 SQL 补丁。
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>
启用 mod_rewrite: a2enmod rewrite && systemctl restart apache2