
# البدء

## المتطلبات

- PHP 8.2+
- WordPress 6.4+
- MySQL أو MariaDB عبر اتصال قاعدة البيانات المعتاد WordPress
- دليل `wp-config.php` قابل للكتابة عند تفعيل الإضافة

## التثبيت

ثبّت Rudel باستخدام Composer وفعّله كإضافة WordPress عادية.

```bash
composer require rudel/rudel
wp plugin activate rudel
```

يثبّت Composer Rudel في `vendor/rudel/rudel` ما لم يربط مشروعك إضافات WordPress بـ `wp-content/plugins` (مثلًا باستخدام `composer/installers`). يجب أن تكون الإضافة في دليل الإضافات ليجدها `wp plugin activate rudel`.

## ما الذي يفعله التفعيل

ينشئ التفعيل جداول Rudel، ويجدول حدث التنظيف كل ساعة، ويضيف سطر تمهيد واحدًا إلى `wp-config.php` مباشرة فوق السطر الذي يحمّل `wp-settings.php`. يتيح هذا السطر لـ Rudel تحديد بيئة معزولة قبل اكتمال تحميل WordPress. يكتب Rudel نسخة احتياطية باسم `wp-config.php.rudel-backup-{timestamp}` أولًا.

لا يوجد أمر تثبيت منفصل. يفشل التفعيل إذا لم يكن `wp-config.php` قابلًا للكتابة. وتزيل إزالة التفعيل السطر والحدث المجدول.

تحقق من حالة وقت التشغيل:

```bash
wp rudel status
```

ينبغي أن تعرض `Bootstrap installed` القيمة `yes`.

## إنشاء بيئة معزولة

```bash
wp rudel create --name=alpha --theme=twentytwentyfour
```

تطبع Rudel معرّف البيئة المعزولة الذي تم إنشاؤه، مثل `alpha-3be7`. وتنسخ جداول WordPress المضيف إلى بادئة جداول خاصة بالبيئة المعزولة، وتنسخ القالب إلى دليل البيئة، وتحفظ السجل في قاعدة بيانات WordPress المضيف. تستخدم الأمثلة أدناه `alpha-3be7`؛ استخدم المعرّف الذي طبعته أمرك.

## استخدام WP-CLI داخل بيئة معزولة

```bash
RUDEL_ENVIRONMENT=alpha-3be7 wp option get blogname
```

بدون `RUDEL_ENVIRONMENT`، يتصل WP-CLI بالمضيف.

## توجيه HTTP إلى بيئة معزولة

```bash
curl -H 'X-Rudel-Environment: alpha-3be7' http://localhost:8000/
```

لجلسة المتصفح، عيّن ملف تعريف ارتباط `rudel_environment` يتضمن معرّف البيئة المعزولة. يقرأ Rudel ملف تعريف الارتباط لكنه لا يعيّنه ولا يمسحه مطلقًا. احذف ملف تعريف الارتباط للعودة إلى المضيف.

تعمل البيئة المعزولة على URL المضيف. من دون الترويسة أو ملف تعريف الارتباط، يقدّم URL نفسه محتوى المضيف.

## الخطوات التالية

- [إنشاء البيئات](https://rudel.inline0.dev/ar/docs/environments/creating)
- [إدارة البيئات](https://rudel.inline0.dev/ar/docs/environments/managing)
- [العزل](https://rudel.inline0.dev/ar/docs/environments/isolation)
- [CLI](https://rudel.inline0.dev/ar/docs/cli)
