الرئيسية
» مسؤول الشبكة
»
كيفية تثبيت ownCloud Infinite Scale باستخدام Docker Compose على Ubuntu
كيفية تثبيت ownCloud Infinite Scale باستخدام Docker Compose على Ubuntu
بعد الانتهاء من تثبيت Docker Compose وتشغيله docker compose up -d، لا يزال يتعذر الوصول إلى ownCloud. هذا هو نمط الفشل العملي الأكثر شيوعًا مع Infinite Scale: قد تكون الحاويات موجودة، لكن نظام أسماء النطاقات (DNS) أو بروتوكول أمان طبقة النقل (TLS) أو مسارات التخزين أو قيمة بيئية مطلوبة تمنع استخدام النظام.
يستخدم هذا الدليل منهجية Docker Compose الموجهة للإنتاج والموثقة من قِبل ownCloud لنشرها على خادم واحد. صفحة توثيق ownCloud الحالية منشورة ضمن توثيق التطوير للإصدار 9.0، ولكنها تنص صراحةً على أن مثال الإنتاج القابل للتنزيل يستخدم أحدث إصدار مستقر، ويشير حاليًا إلى الفرع المستقر 8.2. هذا التمييز مهم: لا تنسخ وسوم صور التطوير إلى خادم الإنتاج إلا إذا كنت ترغب عمدًا في استخدام إصدار تطوير.
الإعداد الموضح أدناه مناسب للاستخدام المنزلي والمؤسسات الصغيرة التي ترغب في استخدام نسخة واحدة من Infinite Scale خلف خادم وكيل عكسي مع بروتوكول HTTPS. يفترض هذا الإعداد نظام Ubuntu LTS، ومحرك Docker، ومكوّن Docker Compose الإضافي، ونطاقًا تتحكم به، وصلاحيات إدارية على الخادم. يوصي مثال الإنتاج الخاص بـ ownCloud بتخصيص ما يقارب 4-6 جيجابايت من ذاكرة الوصول العشوائي (RAM) للخدمات المُفعّلة افتراضيًا، ويتطلب على الأقل نطاق ownCloud؛ أما عمليات التكامل المكتبية الاختيارية فتحتاج إلى نطاقات فرعية خاصة بها.
قبل أن تبدأ: قم بحل أسئلة الشبكة والتخزين أولاً
لا تبدأ بتنزيل ملفات Compose. تأكد أولاً من العناصر التي يصعب إصلاحها بعد تشغيل النظام:
نظام أسماء النطاقات (DNS): يجب أن يتم حل اسم المضيف الذي اخترته، مثل ocis.example.com، إلى عنوان IP العام للخادم.
جدار الحماية وNAT: يتطلب التثبيت المتصل بالإنترنت إمكانية الوصول إلى منفذي TCP 80 و443 لخادم الوكيل العكسي وتدفق الشهادات. عادةً ما يكون الوصول إلى SSH عبر منفذ TCP 22 ضروريًا للإدارة.
التخزين الدائم: وحدات التخزين التي يديرها Docker مريحة، ولكن أنظمة الإنتاج عادة ما تستفيد من مسارات متعمدة لبيانات التكوين والمستخدم، مما يجعل النسخ الاحتياطية وتخطيط السعة أسهل.
مرسل البريد الإلكتروني: يتطلب المثال الموثق لـ ownCloud SMTP_SENDERتعيينه، حتى لو لم تقم بعد بتكوين مرحل SMTP يعمل.
النقطة المهمة ليست رقم الإصدار المحدد الذي تُظهره هذه الأوامر. أنت تُؤكد أن كلا الأمرين يعملان بنجاح وأن Compose مُتاح docker compose. يُوصي دليل ownCloud بتثبيت Docker من مستودع Docker الخاص به بدلاً من الاعتماد على حزم Docker المُدمجة في Ubuntu، والتي قد تكون متأخرة.
تأكد من تثبيت Docker Engine ومكون Docker Compose الإضافي قبل تنزيل حزمة ownCloud.
2. قم بتنزيل مثال Compose الرسمي الثابت
يُقدّم ownCloud مثالاً كاملاً لنشر Compose بدلاً من مطالبة المسؤولين بإنشاء بيئة إنتاجية من الصفر. في وقت التحقق، تشير الوثائق إلى أن التنزيل الحالي للإنتاج يعتمد على stable-8.2الفرع لأن وثائق الإصدار 9.0 لا تزال قيد التطوير.
تقوم آلية العمل الرسمية بتنزيل المجلد deployments/examples/ocis_full، ونقل الأرشيف الناتج إلى الخادم، واستخراجه في مسار محدد /opt/compose/ocis/ocis_full. قد يختلف اسم الأرشيف الدقيق مع الإصدار المستقر، لذا استخدم رابط التنزيل الموضح في وثائق ownCloud الحالية بدلاً من كتابة اسم ملف بشكل ثابت من دليل تعليمي قديم.
بعد الاستخراج، انتقل إلى دليل النشر وافحص المحتويات:
cd /opt/compose/ocis/ocis_full
ls -la
ستجد ملفات Compose، ومجلد الإعدادات، .envوالملف المرفق مع المثال. إذا كنت تُحدّث مثالًا مُستخرجًا موجودًا، فقم بعمل نسخة احتياطية منه .envأولًا؛ إذ يُحذّر ownCloud من أن استخراج حزمة أحدث قد يستبدلها.
3. قم بضبط ملف .env بعناية
تنشأ معظم مشاكل التشغيل الأولي من ملف البيئة. قم بتحرير .envالملف الموجود في المجلد المستخرج، واتبع الإعدادات بترتيب مدروس.
حدد الملكية العامة
قم بتعيين OCIS_DOMAINاسم المضيف الذي يُشير بالفعل إلى الخادم، على سبيل المثال ocis.example.com. إذا قمتَ بتفعيل Collabora أو ONLYOFFICE، فقم بتكوين أسماء المضيف الموثقة الخاصة بهما أيضًا. لا تستخدم نطاقًا .envيختلف عن سجلات نظام أسماء النطاقات (DNS) الخاصة بك.
إعداد بروتوكول TLS
بالنسبة للنشر المتصل بالإنترنت، يستخدم المثال الرسمي Traefik وLet's Encrypt. قم بتعيين TRAEFIK_ACME_MAILعنوان بريد إلكتروني حقيقي تتحكم به. توصي ownCloud باستخدام مرجع شهادات Let's Encrypt التجريبي أولاً، للتأكد من أن إصدار الشهادة يعمل بشكل صحيح، ثم الانتقال إلى بيئة الإنتاج. هذا يقلل من احتمالية تجاوز حدود معدل Let's Encrypt أثناء استكشاف الأخطاء وإصلاحها.
اختر مواقع البيانات والتكوين
إذا كنت ترغب في استخدام وحدة تخزين مثبتة على المضيف، فقم OCIS_CONFIG_DIRبتعيين OCIS_DATA_DIRالمسارات الدائمة المخطط لها. تأكد من أن نظام الملفات الأساسي لديه سعة كافية وأن عملية النسخ الاحتياطي تشمل كلاً من التكوين والبيانات.
قم بتعيين مرسل SMTP
كحد أدنى، حدد SMTP_SENDER. يمكنك إضافة مضيف SMTP الكامل والمنفذ واسم المستخدم وكلمة المرور وطريقة المصادقة وإعدادات الأمان عندما تكون مستعدًا لإرسال الإشعارات.
يتحكم ملف .env المركزي في النطاق، والبريد الإلكتروني للاتصال بالشهادة، ومرسل البريد، ومسارات التخزين الدائمة.
4. تحقق من صحة إعدادات Compose، ثم ابدأ تشغيل المكدس
قبل سحب الحاويات وتشغيلها، اطلب من Compose عرض التكوين المُجمّع والتحقق من صحته:
docker compose config
إذا فشلت هذه الخطوة، فقم بتصحيح بناء الجملة أو المتغيرات المفقودة قبل المتابعة. هذا الفحص أسرع بكثير من تشخيص عملية نشر لم تبدأ بشكل كامل.
قم بتشغيل ملف تكوين Docker Compose قبل بدء التشغيل حتى يتم اكتشاف مشاكل بناء الجملة والمتغيرات مبكراً.
عند اكتمال عملية التهيئة بنجاح، ابدأ عملية النشر في الوضع المنفصل:
docker compose up -d
سيقوم برنامج Compose بسحب الصور المطلوبة وتشغيل الخدمات المحددة في المثال. قد يستغرق هذا وقتًا أطول في التشغيل الأول نظرًا لضرورة تنزيل الصور واحتمالية طلب الشهادات.
ابدأ تشغيل حزمة ownCloud Infinite Scale المُهيأة باستخدام الأمر docker compose up -d.
إذا فشلت المحاولة الأولى، فابدأ باستكشاف الأخطاء وإصلاحها من الأسهل إلى الأصعب.
تحقق من حالة الحاوية
ابدأ بعرض "إنشاء" بدلاً من التخمين أي خدمة فشلت:
docker compose ps -a --format "table {{.Service}} {{.State}} {{.ID}}"
إن الخدمة التي تتوقف بشكل متكرر أكثر فائدة من خطأ المتصفح لأنها تحصر المشكلة في حاوية واحدة.
اقرأ سجلات Traefik بحثًا عن مشاكل الشهادات
يوصي دليل ownCloud تحديدًا بفحص Traefik أولًا عند تعطل HTTPS. تشمل الأسباب الشائعة بريدًا إلكترونيًا غير صالح للتواصل مع ACME، أو إغلاق المنفذين 80/443، أو نظام أسماء النطاقات (DNS) الذي يُرجع NXDOMAIN أو يُشير إلى عنوان IP خاطئ. بعد حل مشكلة ACME، اتبع التعليمات الرسمية لإزالة وحدة تخزين الشهادة التي تحتوي على بيانات الاختبار الفاشلة فقط. لا تحذف جميع وحدات التخزين.
تحقق من سجلات خدمة ownCloud
ابحث عن مُعرّف الحاوية باستخدام docker compose ps، ثم افحص سجلاتها:
docker logs -f <container_id>
يمكن لعملية التهيئة إنشاء التكوين الأولي عند التشغيل الأول. توثق منصة ownCloud نمط الأوامر ocis init || true; ocis serverلعمليات نشر Compose، لذا يتم تخطي التهيئة عندما يكون التكوين موجودًا بالفعل.
لا تستخدم الأمر docker compose down -v بشكل عشوائي
لإيقاف عملية النشر، استخدم ما يلي:
docker compose down --remove-orphans
لا تقم بإضافة -vوحدات تخزين إلا إذا كنت ترغب في حذفها عمدًا. يُحذّر ownCloud صراحةً من أن هذا قد يؤدي إلى حذف بيانات النشر. إذا كان لا بد من حذف وحدة تخزين شهادة مؤقتة واحدة أثناء استكشاف أخطاء TLS وإصلاحها، فاحذف تلك الوحدة بشكل انتقائي.
كيفية التحقق من اكتمال التثبيت فعلياً
النجاح docker compose up -dلا يتطلب سوى فحص واحد. تحقق من النتيجة على أربعة مستويات:
نظام أسماء النطاقات (DNS): يتم حل اسم المضيف العام إلى عنوان الخادم الصحيح.
بروتوكول TLS: يصل المتصفح إلى الموقع عبر HTTPS دون ظهور تحذير بشأن الشهادة. إذا استخدمتَ شهادة Let's Encrypt التجريبية عمدًا، فتحقق من صحة الشهادة التجريبية أولًا، ثم انتقل إلى بيئة الإنتاج كما هو موثق.
الحاويات:docker compose ps -a تعرض الخدمات المتوقعة قيد التشغيل بدلاً من إعادة التشغيل أو الخروج.
التطبيق: يمكنك فتح عنوان URL الخاص بـ ownCloud الذي تم تكوينه، وتسجيل الدخول باستخدام بيانات اعتماد المسؤول الأولية التي قمت بتعيينها أو استردادها، وإنشاء مجلد، وتحميل ملف اختبار صغير.
في حالة التثبيت الجديد، تشير الوثائق إلى أن اسم المستخدم الافتراضي للمسؤول هو admin، مع إمكانية تعيين كلمة المرور يدويًا أثناء الإعداد أو الحصول عليها من خلال إجراءات سجل بدء التشغيل/إعادة التعيين الموثقة. يُرجى تغيير كلمة المرور الأولية فورًا، وعدم ترك تثبيت الإنتاج على بيانات اعتماد افتراضية معروفة.
بمجرد أن تعمل خدمة الملفات الأساسية، أضف مكونات التعاون الاختيارية أو عمليات التكامل الأكثر تقدماً. إن القيام بذلك بعد التأكد من سلامة النشر الأساسي يُسهّل عملية استكشاف الأخطاء وإصلاحها بشكل كبير، لأن أي عطل في حزمة برامج مكتبية أو موفر هوية خارجي أو خدمة مكافحة فيروسات لن يختلط بعد ذلك بمشاكل نظام أسماء النطاقات (DNS) وبروتوكول أمان طبقة النقل (TLS) الأساسية.
ملاحظات الصيانة لضمان استقرار عملية النشر
قبل الترقية، يُرجى نسخ بياناتك وإعداداتك احتياطيًا، وقراءة ملاحظات الترحيل الخاصة بكل إصدار. تُفرّق وثائق ownCloud بين تحديثات الصور الروتينية والترقيات التي قد تتطلب تغييرات في الإعدادات. من خطوات الصيانة الشائعة إيقاف النظام، وسحب الصور، وإعادة تشغيله مع تنظيف الملفات غير المستخدمة، ولكن يُنصح دائمًا بمراجعة دليل الترقية الخاص بكل إصدار قبل تغييره.
بالنسبة لخادم الإنتاج، راقب أيضًا استخدام القرص. تُعدّ وحدات التخزين المُدارة بواسطة Docker سهلة الاستخدام في البداية، ولكن قد يفاجئك نموّ مساحة التخزين عندما يتشارك نظام التشغيل وملفات المستخدم نفس نظام الملفات. إذا كنت تتوقع حجم بيانات كبير، فاستخدم مسارات تخزين مُخصصة منذ البداية أو قم بنقلها باستخدام إجراء وحدة التخزين الموثق وتأكد من ملكية المستخدم الصحيح للحاوية.