إضافة موقع باستخدام إعداد مخصص
توفر ServBay طريقة مرنة لإضافة مواقع الويب. بالإضافة إلى الطريقة القياسية التي يدير فيها ServBay الإعدادات تلقائيًا، تدعم الأداة أيضًا وضع "الإعداد المخصص". يتيح هذا الوضع للمطورين كتابة وإدارة ملفات إعداد سيرفرات الويب (Nginx, Caddy, Apache) يدويًا، ما يمنح أقصى درجات التحكم والمرونة، وهو مثالي للحالات التي تتطلب تخصيصًا دقيقًا أو إعدادات غير معيارية أو ميزات متقدمة.
أهمية الإعداد المخصص
اختيارك لوضع الإعداد المخصص يعني:
- تحكم كامل: يمكنك تحرير مقطع الإعداد الخاص بالسيرفر مباشرة (مثل كتلة
server
في Nginx، أو كتلةVirtualHost
في Apache، أو تعريف الموقع في Caddy). - ميزات متقدمة: يمكنك تنفيذ وظائف يصعب تحقيقها في الوضع القياسي، مثل قواعد إعادة كتابة معقدة، إعدادات وكيل عكسي متخصصة، تنسيقات سجلات مخصصة، رؤوس أمان خاصة، وغيرها.
- حالات خاصة: مثالي لمحاكاة بيئة الإنتاج، أو دمج وحدات خاصة، أو حالات التصحيح (debugging) المتقدمة.
ومع ذلك، ستتحمل مسؤولية صحة الإعداد وأمانه بنفسك، بما في ذلك إدارة شهادات SSL.
خطوات إضافة موقع بإعداد مخصص
- انتقل إلى قائمة المواقع: من القائمة الجانبية في ServBay، اختر
Websites
. - أضف موقع جديد: اضغط على زر
+
(إضافة) أعلى قائمة المواقع. - املأ البيانات الأساسية:
- Name: حدد اسمًا مميزًا لهذا الموقع (مثال:
مشروعي الخاص
). - Domain: أدخل اسم النطاق الذي ستستخدمه للوصول المحلي (مثال:
myproject.servbay.demo
).
- Name: حدد اسمًا مميزًا لهذا الموقع (مثال:
- اختر سيرفر الويب: من قائمة
Web Server
المنسدلة اختر السيرفر الذي ترغب باستخدامه (Nginx, Caddy, أو Apache). هذا الاختيار مهم للغاية حيث يحدد نوع قالب الإعداد الذي سيتم تقديمه والسيرفر الذي سيخدم هذا الموقع. - تفعيل الإعداد المخصص: فعّل صندوق الاختيار
Custom Configuration
. - راجع وعدل القالب: بعد التفعيل، ستظهر منطقة نصية تحتوي على قالب افتراضي للإعداد، بناءً على السيرفر المختار. يعتبر هذا القالب نقطة بداية، ويُنصح غالبًا بتعديله ليتناسب مع احتياجاتك الخاصة.
فهم وتعديل قالب الإعداد
تقدم ServBay قالب إعداد مختلف لكل سيرفر ويب (Nginx, Caddy, Apache) بناء على اختيارك. عليك تعديل هذا القالب بما يناسب متطلبات مشروعك.
1. إعداد مخصص لـ Nginx
عند اختيار Nginx، سيظهر لك قالب أساسي لكتلة server
.
هيكل القالب والتعليمات الأساسية:
# الاستماع للبروتوكول والمنفذ
listen 443 ssl; # HTTPS
# اسم النطاق المرتبط
server_name myproject.servbay.demo;
# المسار الجذري للموقع (تأكد من وجود هذا المسار)
root /Applications/ServBay/www/myproject.servbay.demo;
# ملفات الفهرسة الافتراضية
index index.php index.html index.htm;
# بروتوكولات وتشفيرات SSL/TLS (مثال)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:ServBay:10m;
ssl_session_tickets off;
# مسار شهادة SSL (إذا تم تفعيل HTTPS، يجب تحديده يدويًا)
# 【هام】تأكد من وجود الشهادة وصحة المسار
ssl_certificate /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt;
ssl_certificate_key /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key;
# معالجة طلبات PHP (مثال مع PHP 8.3، عدّله وفق احتياجك)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# إعدادات إضافية – مثل location وقواعد إعادة كتابة
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# مسارات سجلات الأخطاء والوصول (اختياري)
# access_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-access.log;
# error_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-error.log;
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
نقاط مهمة عند التعديل:
- تأكد أن
server_name
يوافق اسم النطاق الذي اخترته. - حدّد مجلد الجذر
root
الخاص بمشروعك. - إذا احتجت HTTPS، فعِّل أو أضف
listen 443 ssl;
ولابد من تحديد المسار الصحيح لـssl_certificate
وssl_certificate_key
. - أضف المزيد من إعدادات location أو قواعد rewrite أو الإعدادات التي تحتاجها حسب رغبتك.
2. إعداد مخصص لـ Caddy
عند اختيار Caddy، ستحصل على قالب تعريف للموقع بتنسيق Caddyfile.
هيكل القالب والتعليمات الأساسية:
encode zstd gzip
import set-log myproject.servbay.demo # اسم ملف السجل (log)
import canonical-path
# المسار الجذري للموقع (تأكد من وجود المجلد)
root * /Applications/ServBay/www/myproject.servbay.demo
# معالجة طلبات PHP
route {
import php-rewrite-default 8.3 # إصدار PHP 8.3
}
# إعدادات TLS/SSL
# يرجى تحديد مسار الشهادة
# tls /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key
# تفعيل خادم الملفات
file_server
# تعليمات أخرى مثل reverse_proxy، rewrite، header، إلخ
# ...
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
نقاط مهمة عند التعديل:
- تأكد أن اسم النطاق الرئيسي
myproject.servbay.demo
صحيح. - تحقق من صحة مسار
root
ليشير إلى مجلد مشروعك. - SSL/TLS: غالبًا سيحاول Caddy إدارة شهادات HTTPS تلقائيًا للنطاقات الحقيقية؛ لكن بالنسبة لنطاقات التطوير مثل
.servbay.demo
فإن ذلك غير ممكن عادة. لذلك، إذا أردت تفعيل HTTPS، استخدم تعليمةtls
لتحديد مسار الشهادة والملف السري. تأكد من وجود هذه الملفات وصحة مسارها. - أضف المزيد من تعليمات Caddy حسب حاجتك.
3. إعداد مخصص لـ Apache
عند اختيار Apache، ستحصل على قالب <VirtualHost>
قياسي.
هيكل القالب والتعليمات الأساسية:
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# تفعيل محرك SSL
SSLEngine on
# مسار شهادة SSL
# 【هام】تأكد من وجود الشهادة وصحة المسار
SSLCertificateFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt"
SSLCertificateKeyFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key"
# صلاحيات المجلد
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# إعداد PHP-FPM (PHP 8.3)
Define PHP_VERSION 8.3
<FilesMatch \.php$>
SetHandler "proxy:unix:/Applications/ServBay/tmp/php-cgi-${PHP_VERSION}.sock|fcgi://localhost"
</FilesMatch>
# سجلات الأخطاء والوصول (اختياري)
ErrorLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-error_log"
CustomLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-access_log" common
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
نقاط مهمة عند التعديل:
- تأكد أن
ServerName
هو اسم النطاق الذي اخترته. - حدّد المسار الصحيح لـ
DocumentRoot
ليوافق مجلد مشروعك. - اضبط صلاحيات وخيارات كتل
<Directory>
بما يناسبك. - يمكن إضافة تعليمات Apache أخرى مثل
RewriteEngine
أوProxyPass
حسب الحاجة.
إدارة شهادات SSL 【هام】
عند استخدامك للإعداد المخصص، لن تقوم ServBay بتوليد شهادات SSL تلقائيًا (مثل شهادة CA الخاص بها أو شهادات Let's Encrypt عبر بروتوكول ACME).
- يتعين عليك الحصول أو إنشاء شهادة SSL بنفسك ووضعها في موقع متاح للسيرفر.
- يمكنك استخدام OpenSSL لإنشاء شهادة موقعة ذاتيًا أو الاستفادة من CA التي تقدمها ServBay (ServBay User CA أو ServBay Public CA) لإصدار شهادات تطوير محلية.
- في إعدادات Nginx أو Caddy أو Apache المخصصة، يجب تحديد تعليمة
ssl_certificate
وssl_certificate_key
(في Nginx)، أوtls
(في Caddy)، أوSSLCertificateFile
وSSLCertificateKeyFile
(في Apache) لتشير إلى ملفات الشهادة والمفتاح الخاص. - إذا أدخلت تعليمات SSL في ملف الإعداد ولم تكن ملفات الشهادة متاحة أو كان المسار خاطئًا، فلن يتمكن السيرفر من الإقلاع أو تحميل إعدادات الموقع، وسيؤدي ذلك إلى توقف الموقع عن العمل مع إمكانية ظهور رسائل خطأ في واجهة ServBay أو في سجلات السيرفر.
يرجى الرجوع إلى توثيق إدارة شهادات SSL لدى ServBay لمعرفة كيفية إنشاء وإدارة شهادات التطوير المحلية.
ربط سيرفر الويب
DANGER
أمر مهم للغاية: عندما تختار سيرفر ويب معينًا (مثلاً Nginx) وتقوم بحفظ إعدادات الموقع المخصصة، سيصبح الموقع مرتبطًا بذلك السيرفر فقط.
- أي أنه، لا يمكن الوصول لهذا الموقع إلا إذا كان السيرفر النشط في ServBay هو Nginx.
- إذا قمت بتغيير سيرفر الويب الافتراضي في قسم
الخدمات
-Default Web Server
إلى Apache أو Caddy، فلن يكون لهذا الموقع الذي يعتمد على إعداد Nginx أي تأثير لأن إعدادات Nginx لن تُحمّل. - والعكس صحيح، فالمواقع ذات الإعدادات المخصصة لـ Caddy أو Apache لا تعمل إلا إذا كان حزم السيرفر المناسبة نشطة.
الحفظ وتفعيل الإعدادات
بعد الانتهاء من كل التعديلات، اضغط على زر Save
أسفل يمين الشاشة. سيقوم ServBay بحفظ الإعدادات المخصصة الخاصة بك ومحاولة إعادة تحميل سيرفر الويب المختار لتفعيل التعديلات. إذا كان هناك أخطاء في الإعداد، قد يفشل الحفظ أو إعادة تحميل السيرفر. تحقق من إشعارات ServBay أو من سجلات أخطاء السيرفر ذات الصلة (عادة تحت /Applications/ServBay/logs/
) لتحديد سبب المشكلة وحلها.
الخلاصة
توفر إضافة المواقع عبر الإعداد المخصص في ServBay مرونة لا تضاهى، حيث تمنح المطورين القدرة على التحكم الكامل في إعدادات السيرفر لجميع مواقعهم. مع ذلك، يتطلب الأمر خبرة كافية في إعدادات سيرفرات الويب وتحمل مسؤولية صحة الإعداد وأمنه وكذلك إدارة شهادات SSL. استيعاب بنية القوالب، ومتطلبات SSL، وآلية ربط السيرفر شرط أساسي للاستفادة من هذه الوظيفة بنجاح.