PmaControl logo PmaControl
  • مرحباً
  • PmaControl
    • وكلاء الذكاء الاصطناعي 13 وكلاء محليين
    • عروضنا المجتمع، السحابة، محليًا، المميز
    • التوثيق أدلة، API، الهندسة المعمارية
    • السوق المكونات الإضافية للمجتمع
    • عملاء أكثر من 28 شركة
    • الأسئلة الشائعة 25 سؤالا / 7 فئات
    قواعد البيانات
    • ماريا دي بي 31 مادة
    • ماي إس كيو إل 11 مادة
    • مجموعة جاليرا 6 عناصر
    • ماكس سكيل 3 عناصر
    • ProxySQL 2 عناصر
    • أمازون أورورا ماي إس كيو إل 0 العناصر
    • قاعدة بيانات أزور 0 العناصر
    • انقر البيت 0 العناصر
    • GCP CloudSQL 0 العناصر
    • بيركوناسيرفر 0 العناصر
    • متجر واحد 0 العناصر
    • تي دي بي 0 العناصر
    • سرعة 0 العناصر
    الحلول
    • دعم 24 × 7 حالات الطوارئ MariaDB وMySQL
    • Observabilité SQL المراقبة والتنبيهات والطوبولوجيا
    • Haute disponibilité النسخ المتماثل، تجاوز الفشل، جاليرا
    • Disaster Recovery النسخ الاحتياطي والاستعادة، RPO/RTO
    • Sécurité & conformité التدقيق، اللائحة العامة لحماية البيانات، SOC2
    • Migration & upgrade صفر توقف عن العمل، pt-osc، gh-ost
  • عروضنا
  • موارد
    • التوثيق الأدلة الفنية وواجهات برمجة التطبيقات
    • مركز تحسين MySQL مؤشر تخفيض السعر والمقاييس والإعدادات والحوادث
    • الأسئلة الشائعة 25 سؤالا متكررا
    • الشهادات ملاحظات العملاء وحالات الاستخدام
    • مدونة مقالات ورؤى
    • خريطة الطريق الميزات القادمة
    مجالات الخبرة
    • Observabilité SQL المراقبة والتنبيهات وطوبولوجيا Dot3
    • Haute disponibilité النسخ المتماثل، تجاوز الفشل، جاليرا
    • Sécurité & conformité التدقيق، اللائحة العامة لحماية البيانات، SOC2، ISO 27001
    • Disaster Recovery النسخ الاحتياطي والاستعادة، RPO/RTO
    • Performance & optimisation ملخصات، شرح، ضبط
    • Migration & upgrade صفر توقف عن العمل، pt-osc
    روابط سريعة
    • جيثب ويكي 26 صفحة - التثبيت والمحرك والمكونات الإضافية
    • كود المصدر مستودع جيثب الرسمي
    • دعم 24 × 7 حالات الطوارئ MariaDB وMySQL
    • احجز عرضًا توضيحيًا 30 دقيقة - هندسة معمارية حقيقية
  • دعم 24 × 7
  • احجز عرضًا توضيحيًا
احجز عرضًا توضيحيًا
🇫🇷 FR Français 🇬🇧 EN English 🇵🇱 PL Polski 🇷🇺 RU Русский 🇨🇳 ZH 中文 🇸🇦 AR العربية
← العودة إلى بلوق

قم بتثبيت PmaControl على Debian 12

تم النشر بتاريخ 12 أبريل 2026 بواسطة Aurélien LEQUOY
pmacontrol debian installation mariadb apache php
يشارك X LinkedIn Facebook Email PDF
قم بتثبيت PmaControl على Debian 12

الهدف

يشرح هذا المقال كيفية تثبيت PmaControl على Debian 12 بناءً على مصادر المشروع الرسمية، مع مراعاة نقطة عملية مهمة:

  • ويكي Debian 12 نقطة إلى install/debian12.sh
  • يقوم هذا البرنامج النصي باستنساخ مستودع PmaControl افتراضيًا
  • إذا كنت تريد صراحةً الفرع commercial، فيجب عليك تعديل خطوة الاستنساخ أو تنفيذ checkout بعد ذلك مباشرة

وبالتالي فإن الفكرة هي الحفاظ على المنطق الرسمي للمشروع، ولكن لجعله قابلاً للاستخدام بشكل صحيح لتثبيت Debian 12 الحالي.

المصادر المستخدمة:

  • جيثب ويكي PmaControl/PmaControl
  • المستودع PmaControl/PmaControl فرع commercial
  • النص install/debian12.sh
  • البرنامج النصي الجذر install.sh
  • توثيق فرع commercial

ما يفعله التثبيت الرسمي

وفقًا لموقع wiki Debian 12، التثبيت القياسي هو:

apt-get install curl
curl -o install-pmacontrol https://raw.githubusercontent.com/PmaControl/PmaControl/master/install/debian12.sh
chmod +x install-pmacontrol
./install-pmacontrol

يقوم البرنامج النصي install/debian12.sh للفرع commercial بما يلي بشكل أساسي:

  1. يقوم بتحديث النظام
  2. تثبيت الأدوات الأساسية
  3. تثبيت MariaDB 10.11
  4. تثبيت Apache وPHP 8.2 وComposer وGraphviz وبعض التبعيات
  5. استنساخ مستودع PmaControl إلى /srv/www/pmacontrol
  6. يعمل composer install كـ www-data
  7. قم بإنشاء حساب MySQL pmacontrol@127.0.0.1 محلي
  8. ينشئ config.json مؤقتًا
  9. تطلق ./install.sh -c /tmp/config.json
  10. يعرض المعرفات التي تم إنشاؤها

الإصدارات والمكونات التي تمت ملاحظتها في المصادر

يستهدف البرنامج النصي Debian 12 للفرع commercial هذه القاعدة:

  • MariaDB 10.11 -أباتشي 2
  • PHP 8.2
  • يؤلف -جراففيز
  • البرنامج المساعد RocksDB لـ MariaDB

حزم PHP المثبتة بشكل صريح:

  • php8.2، php8.2-mysql، php8.2-ldap، php-json، php8.2-curl
  • php8.2-cli، php8.2-mbstring، php8.2-intl، php8.2-fpm
  • libapache2-mod-php8.2، php8.2-gd، php8.2-xml، php8.2-gmp

المتطلبات الأساسية الموصى بها

قبل البدء في التثبيت، قم بالتخطيط لما يلي:

  • نظيفة Debian 12
  • الوصول إلى الجذر
  • DNS الوظيفي والشبكة الصادرة
  • ما لا يقل عن 4 جيجابايت من ذاكرة الوصول العشوائي
  • مساحة قرص كافية لتبعيات MariaDB و/srv/www/pmacontrol والملحن

أوصي أيضًا بإعداد:

  • اسم المضيف الصحيح
  • IP ثابت
  • منطقة زمنية ثابتة
  • مخزن مخصص لـ MariaDB إذا كان الجهاز يجب أن يشرف على العديد من الخوادم

نقطة مهمة في فرع commercial

يعتبر موقع ويكي Debian 12 بسيطًا. إنه يرتبط بالبرنامج النصي install/debian12.sh، ولكن هذا البرنامج النصي يستنسخ المستودع الرئيسي ببساطة دون القيام بما يلي بشكل صريح:

git checkout commercial

إذا كان هدفك هو بالفعل الفرع commercial، فافعل بدلاً من ذلك:

apt-get update
apt-get install -y curl git
cd /tmp
curl -o install-pmacontrol https://raw.githubusercontent.com/PmaControl/PmaControl/commercial/install/debian12.sh
chmod +x install-pmacontrol

ثم، قبل مرحلة composer install، استبدل جزء الاستنساخ بما يلي:

mkdir -p /srv/www
cd /srv/www
git clone --branch commercial --single-branch https://github.com/PmaControl/PmaControl.git pmacontrol
cd /srv/www/pmacontrol

يعد هذا التعديل هو الأنظف إذا كنت تريد بالفعل تثبيت الكود commercial.

الإجراء الموصى به

1. تحضير Debian 12

apt-get update
apt-get -y upgrade
apt-get install -y curl git sudo lsb-release unzip zip wget gnupg gnupg2 net-tools dnsutils jq bc composer cron
timedatectl set-timezone Europe/Paris

لماذا cron صراحة: install.sh يستخدم crontab. على جهاز Debian ذو الحد الأدنى، قد يؤدي غياب cron إلى قطع نهاية التثبيت. لم يتم تناول هذه النقطة بشكل صريح في install/debian12.sh، ولكنها تنبثق من منطق install.sh.

2. قم بتثبيت MariaDB 10.11

يقوم البرنامج النصي Debian 12 الرسمي بتكوين مستودع MariaDB ثم يستدعي Toolkit/install-mariadb.sh:

cd /tmp
git clone https://github.com/PmaControl/Toolkit.git
cd Toolkit
chmod +x install-mariadb.sh
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | bash -s -- --mariadb-server-version="mariadb-10.11"
./install-mariadb.sh -v 10.11 -p '<mot_de_passe_root_sql>' -d /srv/mysql -r

نقاط يجب ملاحظتها:

  • تم ضبط datadir على /srv/mysql
  • يستخدم البرنامج النصي MariaDB، وليس MySQL
  • ثم يتم إعادة تشغيل الخدمة

3. قم بتثبيت Apache وPHP 8.2 والتبعيات

لا يزال وفقًا لـ install/debian12.sh:

apt-get install -y \
  php8.2 apache2 php8.2-mysql php8.2-ldap php-json php8.2-curl \
  php8.2-cli php8.2-mbstring php8.2-intl php8.2-fpm \
  libapache2-mod-php8.2 php8.2-gd php8.2-xml php8.2-gmp

apt-get install -y graphviz libcairo2 mariadb-plugin-rocksdb

ثم :

mysql -e "INSTALL SONAME 'ha_rocksdb'"
a2enmod proxy_fcgi setenvif
a2enconf php8.2-fpm
a2enmod rewrite

إعداد المنطقة الزمنية PHP:

sed -i 's#;date.timezone =#date.timezone = Europe/Paris#g' /etc/php/8.2/fpm/php.ini
sed -i 's#;date.timezone =#date.timezone = Europe/Paris#g' /etc/php/8.2/apache2/php.ini
sed -i 's#;date.timezone =#date.timezone = Europe/Paris#g' /etc/php/8.2/cli/php.ini

4. قم بتكييف Apache مع /srv/www

يستبدل البرنامج النصي Debian 12 جذر الويب Apache القياسي بـ /srv/www:

sed -i 's#/var/www#/srv/www#g' /etc/apache2/apache2.conf
sed -i 's#/var/www/html#/srv/www#g' /etc/apache2/sites-enabled/000-default.conf
awk '/AllowOverride/ && ++i==3 {sub(/None/,"All")}1' /etc/apache2/apache2.conf > /tmp/xfgh
mv /tmp/xfgh /etc/apache2/apache2.conf

ثم :

mkdir -p /srv/www
systemctl restart apache2

النقطة الأساسية هنا: PmaControl ينتظر أن يتم تقديمه ضمن /srv/www/pmacontrol وسيكون webroot الذي أنشأه المشروع هو /pmacontrol/.

5. انسخ PmaControl إلى فرع `commercial


`

bash
mkdir -p /srv/www
cd /srv/www
git clone --branch commercial --single-branch https://github.com/PmaControl/PmaControl.git pmacontrol
cd /srv/www/pmacontrol
chown -R www-data:www-data /srv/www/pmacontrol
chown -R www-data:www-data /var/www
sudo -u www-data composer install

لماذا أفضّل هذا التسلسل:

  • يلتصق بالفرع المطلوب
  • يتجنب تثبيت حالة أخرى للمستودع الافتراضي
  • يظل متوافقًا مع التدفق المخطط له بواسطة install.sh

6. قم بإنشاء حساب MySQL المحلي لـ PmaControl

يقوم البرنامج النصي الرسمي بإنشاء:

GRANT ALL ON *.* TO pmacontrol@'127.0.0.1' IDENTIFIED BY '<mot_de_passe>' WITH GRANT OPTION;

أوصي أيضًا بإضافة localhost لتجنب المفاجآت اعتمادًا على وضع الاتصال:

CREATE OR REPLACE USER 'pmacontrol'@'127.0.0.1' IDENTIFIED BY '<mot_de_passe>';
CREATE OR REPLACE USER 'pmacontrol'@'localhost' IDENTIFIED BY '<mot_de_passe>';
GRANT ALL PRIVILEGES ON *.* TO 'pmacontrol'@'127.0.0.1' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'pmacontrol'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

7. قم بإعداد ملف config.json

يقوم البرنامج النصي install/debian12.sh بإنشاء config.json مؤقت. هيكلها مهم لأن install.sh يستخدمها لتحديد القاعدة وإنشاء المؤسسة وحساب المسؤول وحساب خدمة الويب وتكوين webroot.

مثال عملي:

{
  "mysql": {
    "ip": "127.0.0.1",
    "port": 3306,
    "user": "pmacontrol",
    "password": "CHANGE_ME_DB_PASSWORD",
    "database": "pmacontrol"
  },
  "organization": ["68Koncept"],
  "webroot": "/pmacontrol/",
  "ldap": { "enabled": false },
  "user": {
    "Member": null,
    "Administrator": null,
    "Super administrator": [{
      "email": "admin@example.net",
      "firstname": "Admin",
      "lastname": "PmaControl",
      "country": "France",
      "city": "Paris",
      "login": "admin",
      "password": "CHANGE_ME_ADMIN_PASSWORD"
    }]
  },
  "webservice": [{
    "user": "webservice",
    "host": "%",
    "password": "CHANGE_ME_WEBSERVICE_PASSWORD",
    "organization": "68Koncept"
  }]
}

أنصحك بعدم استخدام كتلة ssh المحقونة في بعض النصوص التاريخية كما هي، ما لم تكن هناك حاجة واضحة ومفتاح متحكم فيه.

8. ابدأ تثبيت التطبيق

من المستودع المستنسخ:

cd /srv/www/pmacontrol
./install.sh -c /tmp/config.json

وفقًا لـ install.sh، يقوم هذا الأمر بما يلي:

  1. جيل configuration/webroot.config.php
  2. تهيئة القاعدة
  3. إنشاء المنظمة
  4. إنشاء المشرف المتميز
  5. تكامل LDAP إذا تم تمكينه
  6. إنشاء حساب خدمة الويب
  7. إنشاء جداول TS
  8. تحديث قائمة الخادم
  9. إنشاء النموذج وذاكرة التخزين المؤقت
  10. تركيب كرونز النظام

9. فهم ما يعدله install.sh

يعد البرنامج النصي الجذري مهمًا لأنه يفعل أكثر من مجرد "التثبيت". هو:

  • نسخ الملفات من config_sample/ إلى configuration/
  • يولد configuration/db.config.ini.php
  • يولد configuration/db.config.php
  • يولد configuration/webroot.config.php
  • يضع الحقوق على tmp/ وdata/
  • تثبيت crontab لـ www-data
  • تثبيت crontab لـ root
  • قم بتشغيل composer install إذا لزم الأمر

أمثلة على وظائف كرون المضافة:


cron
* * * * * cd /srv/www/pmacontrol && ./glial agent check_daemon
05 */4 * * * cd /srv/www/pmacontrol && ./glial control service
* * * * * cd /srv/www/pmacontrol/script && ./monitor_mysql.sh

10. تأكد من صحة التثبيت

الخدمات:

systemctl is-active mariadb
systemctl is-active apache2
systemctl is-active php8.2-fpm
systemctl is-active cron

الإصدارات:

php -v
mysql -Nse "SELECT VERSION()"
apache2 -v

HTTP:

curl -I http://127.0.0.1/pmacontrol/

يجب أن تحصل على وحدة تحكم أمامية مستجيبة، غالبًا مع إعادة توجيه إلى:


text
/pmacontrol/en/server/main

ملفات التكوين المتوقعة:

  • configuration/db.config.ini.php
  • configuration/db.config.php
  • configuration/webroot.config.php
  • configuration/crypt.config.php
  • configuration/auth.config.php

11. تحقق من تكوين قاعدة البيانات

تقوم وحدة التحكم بالتثبيت بكتابة ملف من هذا النوع إلى configuration/db.config.ini.php:

[pmacontrol]
driver=mysql
hostname=127.0.0.1
user=pmacontrol
password='...'
crypted='1'
database=pmacontrol
ssl=0

هذه النقطة مهمة: اسم الاتصال الذي يستخدمه إطار العمل هو pmacontrol. إذا كان هذا الملف فارغًا أو معطلاً، فلن يبدأ التطبيق بشكل صحيح.

12. نقاط اليقظة

1. إن موقع wiki Debian 12 قصير جدًا عمدًا. فهو يوفر نقطة الدخول، وليس تفاصيل جميع المكونات. لذلك يجب عليك قراءة البرنامج النصي install/debian12.sh وinstall.sh لفهم ما تم تثبيته بالفعل.

2. لا يتم ضمان الفرع commercial تلقائيًا بواسطة اختصار wiki. إذا كنت تريد الفرع commercial، فقم باستنساخه بشكل صريح.

3. يجب أن يكون cron موجودًا. وهذا مطلب عملي لـ install.sh. أنا أعتبره شرطًا أساسيًا فعليًا، على الرغم من أن البرنامج النصي Debian 12 لا يقوم بتثبيته بشكل صريح.

4. تتم إعادة كتابة Apache إلى /srv/www. إذا كان الجهاز يحتوي بالفعل على استضافة موجودة، فمن المحتمل أن يكون هذا التغيير تدخليًا.

5. يتلقى الحساب SQL pmacontrol ALL PRIVILEGES. هذا هو سلوك البرنامج النصي. إذا كنت تريد المعالجة بعد ذلك، فافعل ذلك بعد التثبيت، عندما تعرف النطاق الدقيق لاحتياجات التطبيق.

إجراء مضغوط

نسخة قصيرة ونظيفة للتثبيت السريع:

apt-get update && apt-get -y upgrade
apt-get install -y curl git sudo composer cron

cd /tmp
git clone https://github.com/PmaControl/Toolkit.git
cd Toolkit
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | bash -s -- --mariadb-server-version="mariadb-10.11"
./install-mariadb.sh -v 10.11 -p 'RootDbStrongPassword' -d /srv/mysql -r

apt-get install -y \
  apache2 php8.2 php8.2-fpm libapache2-mod-php8.2 \
  php8.2-mysql php8.2-ldap php8.2-curl php8.2-cli \
  php8.2-mbstring php8.2-intl php8.2-gd php8.2-xml php8.2-gmp \
  graphviz libcairo2 mariadb-plugin-rocksdb

mysql -e "INSTALL SONAME 'ha_rocksdb'"
a2enmod proxy_fcgi setenvif rewrite
a2enconf php8.2-fpm

sed -i 's#/var/www#/srv/www#g' /etc/apache2/apache2.conf
sed -i 's#/var/www/html#/srv/www#g' /etc/apache2/sites-enabled/000-default.conf
mkdir -p /srv/www
systemctl restart apache2

cd /srv/www
git clone --branch commercial --single-branch https://github.com/PmaControl/PmaControl.git pmacontrol
cd /srv/www/pmacontrol
chown -R www-data:www-data /srv/www/pmacontrol
sudo -u www-data composer install

mysql <<'SQL'
CREATE OR REPLACE USER 'pmacontrol'@'127.0.0.1' IDENTIFIED BY 'ChangeMeDbPassword';
CREATE OR REPLACE USER 'pmacontrol'@'localhost' IDENTIFIED BY 'ChangeMeDbPassword';
GRANT ALL PRIVILEGES ON *.* TO 'pmacontrol'@'127.0.0.1' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'pmacontrol'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
SQL

cat >/tmp/config.json <<'JSON'
{
  "mysql": {
    "ip": "127.0.0.1",
    "port": 3306,
    "user": "pmacontrol",
    "password": "ChangeMeDbPassword",
    "database": "pmacontrol"
  },
  "organization": ["68Koncept"],
  "webroot": "/pmacontrol/",
  "ldap": { "enabled": false },
  "user": {
    "Member": null,
    "Administrator": null,
    "Super administrator": [{
      "email": "admin@example.net",
      "firstname": "Admin",
      "lastname": "PmaControl",
      "country": "France",
      "city": "Paris",
      "login": "admin",
      "password": "ChangeMeAdminPassword"
    }]
  },
  "webservice": [{
    "user": "webservice",
    "host": "%",
    "password": "ChangeMeWebservicePassword",
    "organization": "68Koncept"
  }]
}
JSON

./install.sh -c /tmp/config.json

الخلاصة

بالنسبة إلى Debian 12، تكون القاعدة الوثائقية الرسمية PmaControl كافية إذا قرأنا معًا الويكي Debian 12، install/debian12.sh، install.sh وتوثيق الفرع commercial.

منطق التثبيت الحقيقي بسيط:

  1. MariaDB 10.11
  2. أباتشي + PHP 8.2
  3. قم بإيداع PmaControl تحت /srv/www/pmacontrol
  4. composer install
  5. حساب SQL محلي pmacontrol
  6. config.json
  7. ./install.sh -c ...

إذا كان الهدف هو الفرع commercial، فإن النقطة الأكثر أهمية هي فرض استنساخ هذا الفرع بشكل صريح بدلاً من اتباع اختصار wiki بشكل أعمى.

المراجع

  • ويكي — تثبيت جديد على Debian 12
  • ويكي — تثبيت
  • المستودع التجاري — تثبيت/debian12.sh
  • المستودع التجاري — install.sh
يشارك X LinkedIn Facebook Email PDF
← العودة إلى بلوق

تعليقات (0)

لا توجد تعليقات حتى الآن.

اترك تعليقا

PmaControl
+33 6 63 28 27 47 contact@pmacontrol.com
إشعارات قانونية GitHub اتصال
لا تنتظر وقوع الحادث حتى تفهم هندستك المعمارية. © 2014-2026 PmaControl — 68Koncept