إعداد واستخدام خدمة تخزين الكائنات MinIO في ServBay
MinIO هو خادم مفتوح المصدر لتخزين الكائنات، عالي الأداء ومتوافق مع واجهة برمجة التطبيقات Amazon S3. يعد مثالياً لمحاكاة خدمات التخزين السحابي في بيئة التطوير المحلية، ومناسب لتخزين وإدارة البيانات غير المهيكلة مثل الصور، الفيديوهات، ملفات السجلات، النسخ الاحتياطية وصور الحاويات. مع ServBay، يمكنك نشر وإدارة نسخة محلية من MinIO بسهولة على نظام macOS.
نظرة عامة
يوفّر ServBay إمكانية تثبيت MinIO بلمسة واحدة مع واجهة رسومية سهلة للتكوين، ما يبسّط عملية إعداد نظام تخزين كائنات متوافق مع S3 لديك محلياً. يمكن للمطورين امتلاك خدمة تخزين كائنات كاملة الوظائف بسرعة دون الحاجة إلى أوامر معقّدة أو إعداد يدوي، وذلك لاستخدامها في تطوير التطبيقات واختبارها.
الأهم من ذلك، يقوم ServBay تلقائياً بإعداد لوحة إدارة ويب آمنة وسهلة الوصول لنسخة MinIO الخاصة بك، عبر النطاق https://minio.servbay.host/
.
المتطلبات الأساسية
- يجب أن يكون لديك نظام macOS عليه ServBay مثبت ويعمل بنجاح.
- لديك معرفة مبدئية بمفاهيم تخزين الكائنات، مثل الحاويات (Buckets) والكائنات (Objects).
خطوات العمل
1. تثبيت حزمة MinIO
أولاً يجب تثبيت MinIO من خلال ServBay:
- افتح تطبيق ServBay.
- من الشريط الجانبي الأيسر، اختر الحزم (Packages).
- ابحث في قائمة الحزم عن
تخزين الكائنات
-MinIO
. - اضغط زر التثبيت بجوار
MinIO
وانتظر حتى انتهاء التثبيت. - اضغط زر التفعيل لتشغيل خدمة
MinIO
.
2. تكوين خدمة MinIO
بعد إتمام التثبيت، قم بإعداد MinIO ببعض التكوينات الأساسية:
من الشريط الجانبي في ServBay، اختر Object Storage.
من القائمة المنسدلة اختر MinIO للدخول إلى واجهة الإعدادات الخاصة به.
سترى الإعدادات التالية، يمكنك تعديلها حسب الحاجة أو تركها كما هي:
- Bind IP (عنوان IP المربوط): عنوان الـ IP الذي يستمع عليه MinIO. القيمة الافتراضية
127.0.0.1
تعني أن الخدمة متاحة فقط محلياً، وهو الخيار الأكثر أماناً والموصى به للتطوير المحلي. - API Port (منفذ الـ API): منفذ الاتصال بواجهة S3 API. ستتواصل تطبيقاتك مع MinIO عبر هذا المنفذ. الافتراضي هو
9000
. - Root user (المستخدم الجذري): اسم حساب مدير MinIO، الافتراضي
minio
. - Root password (كلمة المرور الجذرية): كلمة مرور حساب المدير. ننصح بشدة بتعيين كلمة مرور قوية وفريدة من نوعها والاحتفاظ بها بشكل آمن، حيث أنها أساسية للوصول وإدارة جميع بياناتك.
- Data Path (مسار البيانات): المسار المحلي الذي يحفظ فيه MinIO جميع الكائنات والبيانات الوصفية. الافتراضي هو
/Applications/ServBay/data/minio
. يمكنك الضغط على أيقونة المجلد على اليمين لفتح هذا المجلد بسرعة في Finder.
- Bind IP (عنوان IP المربوط): عنوان الـ IP الذي يستمع عليه MinIO. القيمة الافتراضية
3. حفظ الإعدادات وتشغيل الخدمة
- بعد ضبط جميع الإعدادات، اضغط زر حفظ (Save) الموجود في أسفل يمين الواجهة.
- إذا تمت العملية بنجاح، ستتحول إشارة حالة الخدمة إلى اللون الأخضر دلالة على تشغيل MinIO بنجاح.
4. الوصول إلى لوحة تحكم MinIO
إحدى مزايا ServBay أنه يجهز لك تلقائياً واجهة إدارة الويب لـ MinIO:
الطريقة الأولى: في واجهة إعداد MinIO اضغط على رمز المتصفح (يشبه البوصلة) بأعلى اليمين، وسيتم فتح لوحة تحكم MinIO تلقائياً في متصفحك الافتراضي.
الطريقة الثانية: أدخل يدوياً في المتصفح العنوان
https://minio.servbay.host/
.قم بتسجيل الدخول باستخدام بيانات
Root user
وRoot password
التي قمت بإعدادها في الخطوة 2.
بعد الدخول، ستتمكن من إدارة الحاويات (Buckets)، رفع وإدارة الملفات (Objects)، وتعيين سياسات الوصول وغيرها—all عبر واجهة ويب سهلة الاستخدام.
5. استخدام MinIO في تطبيقك
يمكن لتطبيقاتك (مثل PHP أو Node.js أو Python) الاتصال بنسخة MinIO في ServBay من خلال أي مكتبة SDK متوافقة مع S3. ستحتاج إلى المعلومات التالية عند الاتصال:
- Endpoint (نقطة النهاية):
http://127.0.0.1:9000
- Access Key ID (معرّف مفتاح الوصول): اسم المستخدم الجذري (مثلاً
minio
) - Secret Access Key (مفتاح الوصول السري): كلمة المرور الجذرية التي قمت بضبطها
- Use path style endpoint (استخدام نقطة نهاية بأسلوب المسار): ننصح بضبطها على
true
.
مثال برمجي PHP (باستخدام AWS SDK for PHP)
أولاً، قم بتثبيت الـ SDK:
bash
composer require aws/aws-sdk-php
1
ثم في كودك، قم بإعداد واستخدام عميل S3:
php
<?php
require 'vendor/autoload.php';
use Aws\S3\S3Client;
use Aws\Exception\AwsException;
$s3Client = new S3Client([
'profile' => 'default',
'version' => 'latest',
'region' => 'us-east-1', // بالنسبة لـ MinIO يمكنك وضع أي قيمة صالحة لـ region
'endpoint' => 'http://127.0.0.1:9000',
'use_path_style_endpoint' => true,
'credentials' => [
'key' => 'minio', // المستخدم الجذري الخاص بك
'secret' => 'your-strong-password', // كلمة المرور الجذرية الخاصة بك
],
]);
try {
$buckets = $s3Client->listBuckets();
foreach ($buckets['Buckets'] as $bucket) {
echo $bucket['Name'] . "\n";
}
} catch (AwsException $e) {
// طباعة معلومات الخطأ
echo "Error: " . $e->getMessage() . "\n";
}
1
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
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
الأسئلة الشائعة (FAQ)
- س: نسيت كلمة المرور الجذرية لـ MinIO، كيف يمكنني إعادة تعيينها؟
- ج: يمكن إعادة تعيين كلمة المرور بسهولة عبر ServBay. فقط توجه لواجهة إعداد MinIO وأدخل كلمة مرور جديدة، ثم اضغط حفظ (Save) وأعد تشغيل خدمة MinIO. سيقوم ServBay بتحديث الملفات تلقائياً.
- س: فشل تشغيل خدمة MinIO، ماذا أفعل؟
- ج: تحقق من الآتي:
- اضغط على رمز السجل في واجهة إعداد MinIO لمعرفة تفاصيل الخطأ.
- تأكد أنّ المنفذ
9000
غير مستخدم من قبل تطبيق آخر. - افحص أن مسار البيانات الذي حددته موجود، وأن لدى ServBay الإذن للقراءة والكتابة عليه.
- ج: تحقق من الآتي:
- س: هل يمكنني تغيير منفذ API الخاص بـ MinIO؟
- ج: نعم، يمكنك ذلك. فقط عدل حقل
API Port
في واجهة إعداد MinIO بـ ServBay واحفظ الإعداد وأعد تشغيل الخدمة. احرص كذلك على تعديل إعدادات تطبيقك لاستخدام المنفذ الجديد.
- ج: نعم، يمكنك ذلك. فقط عدل حقل
ملخص
باستخدام ServBay، أصبح إعداد وتشغيل خادم MinIO لتخزين الكائنات محلياً على macOS في غاية السهولة. هذا يمنح تطوير التطبيقات التي تحتاج إلى تخزين متوافق مع S3 محلياً أقصى درجات المرونة والراحة، ويسمح للمطورين بالتركيز على منطق الأعمال دون الحاجة لإهدار الوقت في إعداد البيئة.