دليل هيكل ServBay
هيكل دليل ServBay بسيط وواضح. إذا كان لديك خلفية في أنظمة Linux/Unix، فستجد أن كلاهما متشابهان جدًا.
يبدو هيكل دليل ServBay النموذجي كما يلي:
ServBay
|____backup
| |____config
| |____hosts
|____bin
|____data
| |____servbay
|____db
| |____redis
|____etc
|____logs
|____package
| |____bin
| |____common
| | |____imap-uw
| | |____include
| | |____lib
| | |____libexec
| | |____openssl
| | |____share
| |____etc
| | |____caddy
| | |____dnsmasq
| | |____mariadb
| | |____openldap
| | |____php
| | |____redis
| | |____scws
| |____mariadb
| | |____x.x
| |____node
| | |____xx
| |____php
| | |____x.x
| |____sbin
| |____var
| | |____log
| | |____run
|____sbin
|____script
|____ssl
| |____caddy
|____tmp
|____www
| |____servbay
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
أدناه سنوضح استخدامات الدلائل المختلفة.
الدليل الرئيسي
يعتبر الدليل الرئيسي لـ ServBay موجودًا في /Applications/ServBay
، حيث تُخزن جميع الملفات.
للنسخ الاحتياطي (على سبيل المثال باستخدام Time Machine أو أي طريقة أخرى)، يُفضل نسخ الدليل بالكامل.
دليل الجذر للموقع
يقع دليل الجذر للموقع في /Applications/ServBay/www
. يُوصى بإنشاء مجلد منفصل لكل مضيف لتخزين الملفات، مما يجعل الهيكل واضحًا وسهل الإدارة.
على سبيل المثال:
/Applications/ServBay/www
|____com
| |____servbay
| | |____web # web.servbay.com
| | |____support # support.servbay.com
| | |____api # api.servbay.com
|____local
| |____sam
| | |____www # www.sam.local
| |____servbay
| | |____new # new.servbay.local
2
3
4
5
6
7
8
9
10
11
دليل ملفات الإعداد
يقع دليل ملفات الإعداد في /Applications/ServBay/etc
، وهو رابط رمزي، بينما تُخزن الملفات الفعلية في /Applications/ServBay/package/etc
.
عادةً ما يمكنك استخدام /Applications/ServBay/etc
مباشرة.
يوجد أدناه أمثلة على ملفات الإعداد للحزم الشائعة:
PHP
يتكون دليل إعداد PHP من هيكل من مستويين. تحت etc/php
، هناك دلائل للإصدارات المختلفة مثل 5.6
، 7.4
، 8.3
، وغيرهم. الهيكل النموذجي هو كما يلي:
php
|____5.6
| |____conf.d
|____7.0
| |____conf.d
| |____php-fpm.d
|____7.4
| |____conf.d
| |____php-fpm.d
|____8.3
| |____conf.d
| |____php-fpm.d
|____8.4
| |____conf.d
| |____php-fpm.d
2
3
4
5
6
7
8
9
10
11
12
13
14
15
داخل كل دليل لإصدار يوجد php.ini
، php-fpm.conf
، pear.conf
، وغيرهم من الملفات. بعد تعديل هذه الملفات، يلزم إعادة تشغيل خدمة PHP المعنية لتطبيق التغييرات.
دليل conf.d
هو دليل إعدادات ملحقات PHP ويحتوي على ملفات مثل xdebug.ini
، opcache.ini
، redis.ini
، وغيرهم. تعديل هذه الملفات يسمح لك بتحميل، إلغاء تحميل أو تعديل إعدادات الملحقات المختلفة في PHP. مرة أخرى، يلزم إعادة تشغيل خدمة PHP المعنية لتطبيق التغييرات.
ملاحظة: يشارك كل إصدار فرعي مع الإصدار الرئيسي نفس ملفات الإعداد. على سبيل المثال، 8.3.3
و 8.3.5
يستخدمان نفس ملفات إعداد 8.3
.
MariaDB
يحتوي دليل إعداد MariaDB أيضًا على هيكل من مستويين، على سبيل المثال etc/mariadb/11.2
. داخل الدليل، يوجد ملف واحد فقط هو my.cnf
، وبعد تعديله يلزم إعادة التشغيل لكي تدخل التغييرات حيز التنفيذ. يشارك كل إصدار فرعي مع الإصدار الرئيسي نفس ملفات الإعداد.
Caddy
ملاحظة: يتم توليد Caddyfile تلقائيًا بواسطة ServBay، لذا يُرجى عدم تعديله. إذا تم تعديله، سيعاد توليده تلقائيًا. إذا كنت بحاجة إلى إعدادات مخصصة، يرجى القيام بذلك مباشرة في قسم Host
في ServBay.
dnsmasq
يوجد في الدليل ملفان رئيسيان: dnsmasq.conf
و domains.conf
. يُعتبر dnsmasq.conf
ملف الإعداد الافتراضي، وdomains.conf
هو ملف يتم توليده تلقائيًا لتخزين أسماء النطاقات.
ملاحظة: يتم توليد ملفات dnsmasq.conf
و domains.conf
تلقائيًا بواسطة ServBay، لذا يُرجى عدم تعديلها. إذا تم تعديلها، سيتم إعادة توليدها تلقائيًا.
دليل إعدادات ServBay
/Applications/ServBay/data
يحتوي هذا الدليل على ملفات الإعداد والمعلومات اللازمة لتشغيل ServBay بسلاسة، يُرجى الحرص على أخذ نسخ احتياطية منه وعدم حذف أو تعديل أي ملفات داخله.
دليل الملفات التنفيذية والمخططات
/Applications/ServBay/bin -> package/bin
/Applications/ServBay/sbin -> package/sbin
/Applications/ServBay/script
2
3
توجد جميع الملفات التنفيذية لـ ServBay في دلائل bin
و sbin
. تتضمن هذه الدلائل الإصدارات المختلفة من PHP، Node، وغيرهم، وتم إنشاء روابط رمزية لهما.
تحتوي هذه الدلائل على العديد من الأدوات الشائعة الاستخدام مثل curl
، openssl
، frpc
، وكذلك الإصدارات المختلفة من PHP وNode.
على سبيل المثال، يمكن استخدام php-5.6
لتحديد PHP 5.6 لتشغيل سكربت معين، أو استخدام node-15
لتشغيل سكربت Node.js 15 غير LTS.
يوجد أيضًا دليل script
الذي يحتوي على سكربتات النظام لـ ServBay، تُستخدم لبدء وإيقاف الخدمات، وتهيئة قاعدة البيانات، وغيرها من العمليات. يمكنك تنفيذ هذه السكربتات مباشرة، ولكن يُرجى عدم تعديل أو حذفها.
تم حزم هذه السكربتات في servbayctl
. يمكن تنفيذ الأوامر مباشرة باستخدام servbayctl
، على سبيل المثال:
servbayctl start php 7.0
دليل ملفات قواعد البيانات
/Applications/ServBay/db
يمتلك دليل db
هيكل متعدد المستويات مثل etc
. يشارك كل إصدار فرعي مع الإصدار الرئيسي نفس قاعدة البيانات. يجب أخذ نسخ احتياطية من هذا الدليل بانتظام أثناء التطوير اليومي.
دليل السجلات
/Applications/ServBay/logs -> package/var/log
تُخزن جميع سجلات ServBay هنا. باستثناء ملفات سجلات PHP و XDebug التي تُخزن في دلائل ثانوية، تُخزن باقي السجلات في دلائل الخدمة المعنية.
تُخزن سجلات الوصول إلى الموقع في دليل caddy
وتُنظم بمعرفة النطاق.
تُقسم سجلات PHP إلى ملفين: php-fpm.log
(سجلات الـ php-fpm) و errors.log
(سجلات الأخطاء). يُنشئ ملف errors.log
فقط عند حدوث خطأ في الشيفرة لم يتم التقاطه وتخزينه بواسطة إطار عمل PHP.
على سبيل المثال، تُخزن سجلات الخطأ في Laravel
في ملف السجلات الخاص بـ Laravel داخل storage/logs/laravel.log
، ولكن يمكن أن يتم تخزين سجلات الأخطاء الخاصة بـ WordPress
و trongate
في errors.log
.
ملاحظة: تشغل ملفات السجلات مساحة كبيرة، يُرجى تنظيفها بانتظام.
دليل الحزم
/Applications/ServBay/package
يحتوي هذا الدليل على جميع الحزم المثبتة في ServBay، وهو منظم بحسب اسم الحزمة/الإصدار الرئيسي/الإصدار الفرعي
. على سبيل المثال، package/php/8.3/8.3.7
.
يمكن حذف الإصدارات القديمة التي لم تعد بحاجة إليها بعد الترقية يدويًا لتوفير المساحة.
ملاحظة: يحتوي كل دليل على رابط رمزي باسم current
يشير إلى أحدث إصدار للحزمة، يُرجى عدم حذفه، وإلا سيؤدي إلى عدم قدرة الخدمة على التشغيل.
دليل شهادات SSL
/Applications/ServBay/ssl
يحتوي هذا الدليل على شهادات SSL بما في ذلك شهادة الجذر المحلية (CA).
دليل النسخ الاحتياطي
/Applications/ServBay/backup
يحتوي دليل النسخ الاحتياطي التلقائي على الملفات التي يتم استخدامها حاليًا فقط لنسخ ملف /etc/hosts
.
دليل الملفات المؤقتة
/Applications/ServBay/tmp
يُخزن هذا الدليل ملفات .pid
التي تُنشأ أثناء تشغيل الخدمات، بالإضافة إلى ملفات socket الخاصة بـ PHP، MariaDB، PostgreSQL، مثل php-cgi.sock
، mysql.sock
، وغيرهم.
أثناء التطوير اليومي، يمكن للبرنامج الوصول إلى php-fpm وقاعدة البيانات عبر ملفات socket بالإضافة إلى منفذ TCP. عادةً ما تكون ملفات socket ذات سعة نقل أعلى وأداء أفضل وزمن استجابة أقل مقارنة بمنفذ TCP.
الدليل الخاص بالمكونات واللايبريريات المشتركة
/Applications/ServBay/package/common
يُخزن هذا الدليل جميع المكونات المشتركة التي تحتاجها تطبيقات ServBay، مثل ملفات *.dylib
.
إذا تم تثبيت ServBay Development Library
، سيكون هناك أيضًا دليل include
داخل lib
يحتوي على ملفات *.la
و *.a
. هذه هي المكتبات وملفات الرأس المطلوبة للترجمة الثانية.
ملاحظة: يُرجى عدم حذف ملفات lib/*.dylib
، حيث سيؤدي ذلك إلى تشغيل البرنامج بشكل غير طبيعي بسبب فقدان المكتبات الضرورية.