Installation & déploiement
المتطلبات الأساسية
- خادم دبيان 10 أو 11 أو 12 / أوبونتو 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 الكامل (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 المطلوب تطبيقها عن طريق مقارنة الإصدار الحالي بالتصحيحات المتوفرة في sql/patch/.
تكوين أباتشي
<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