كيفية تثبيت 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 يعمل.

هذه المتطلبات موثقة في دليل تثبيت خادم ownCloud Infinite Scale الرسمي. بالنسبة لـ Docker نفسه، استخدم تعليمات تثبيت Ubuntu Engine الحالية الخاصة بـ Docker وتعليمات إضافة Compose بدلاً من الاعتماد على حزم توزيع قديمة محتملة.

1. تحقق من Docker و Docker Compose

على الخادم، قم بتحديث نظام التشغيل أولاً، ثم تحقق من توفر محرك Docker ومكون Compose الإضافي:

sudo apt-get update && sudo apt-get upgrade
docker --version
docker compose version

النقطة المهمة ليست رقم الإصدار المحدد الذي تُظهره هذه الأوامر. أنت تُؤكد أن كلا الأمرين يعملان بنجاح وأن Compose مُتاح docker compose. يُوصي دليل ownCloud بتثبيت Docker من مستودع Docker الخاص به بدلاً من الاعتماد على حزم Docker المُدمجة في Ubuntu، والتي قد تكون متأخرة.

يعرض طرفية أوبونتو أوامر docker --version و docker compose version المستخدمة للتحقق من متطلبات Docker الأساسية.
تأكد من تثبيت 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 الكامل والمنفذ واسم المستخدم وكلمة المرور وطريقة المصادقة وإعدادات الأمان عندما تكون مستعدًا لإرسال الإشعارات.

محرر نصوص يعرض ملف ownCloud .env مع OCIS_DOMAIN و TRAEFIK_ACME_MAIL و SMTP_SENDER و OCIS_CONFIG_DIR و OCIS_DATA_DIR.
يتحكم ملف .env المركزي في النطاق، والبريد الإلكتروني للاتصال بالشهادة، ومرسل البريد، ومسارات التخزين الدائمة.

4. تحقق من صحة إعدادات Compose، ثم ابدأ تشغيل المكدس

قبل سحب الحاويات وتشغيلها، اطلب من Compose عرض التكوين المُجمّع والتحقق من صحته:

docker compose config

إذا فشلت هذه الخطوة، فقم بتصحيح بناء الجملة أو المتغيرات المفقودة قبل المتابعة. هذا الفحص أسرع بكثير من تشخيص عملية نشر لم تبدأ بشكل كامل.

قم بتشغيل طرفية Ubuntu في دليل نشر ownCloud مع أمر docker compose config جاهز للتحقق من صحة المكدس المُجمّع.
قم بتشغيل ملف تكوين Docker Compose قبل بدء التشغيل حتى يتم اكتشاف مشاكل بناء الجملة والمتغيرات مبكراً.

عند اكتمال عملية التهيئة بنجاح، ابدأ عملية النشر في الوضع المنفصل:

docker compose up -d

سيقوم برنامج Compose بسحب الصور المطلوبة وتشغيل الخدمات المحددة في المثال. قد يستغرق هذا وقتًا أطول في التشغيل الأول نظرًا لضرورة تنزيل الصور واحتمالية طلب الشهادات.

طرفية أوبونتو في دليل نشر ownCloud تُظهر أمر docker compose up -d المستخدم لتشغيل المكدس.
ابدأ تشغيل حزمة 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لا يتطلب سوى فحص واحد. تحقق من النتيجة على أربعة مستويات:

  1. نظام أسماء النطاقات (DNS): يتم حل اسم المضيف العام إلى عنوان الخادم الصحيح.
  2. بروتوكول TLS: يصل المتصفح إلى الموقع عبر HTTPS دون ظهور تحذير بشأن الشهادة. إذا استخدمتَ شهادة Let's Encrypt التجريبية عمدًا، فتحقق من صحة الشهادة التجريبية أولًا، ثم انتقل إلى بيئة الإنتاج كما هو موثق.
  3. الحاويات: docker compose ps -a تعرض الخدمات المتوقعة قيد التشغيل بدلاً من إعادة التشغيل أو الخروج.
  4. التطبيق: يمكنك فتح عنوان URL الخاص بـ ownCloud الذي تم تكوينه، وتسجيل الدخول باستخدام بيانات اعتماد المسؤول الأولية التي قمت بتعيينها أو استردادها، وإنشاء مجلد، وتحميل ملف اختبار صغير.

في حالة التثبيت الجديد، تشير الوثائق إلى أن اسم المستخدم الافتراضي للمسؤول هو admin، مع إمكانية تعيين كلمة المرور يدويًا أثناء الإعداد أو الحصول عليها من خلال إجراءات سجل بدء التشغيل/إعادة التعيين الموثقة. يُرجى تغيير كلمة المرور الأولية فورًا، وعدم ترك تثبيت الإنتاج على بيانات اعتماد افتراضية معروفة.

بمجرد أن تعمل خدمة الملفات الأساسية، أضف مكونات التعاون الاختيارية أو عمليات التكامل الأكثر تقدماً. إن القيام بذلك بعد التأكد من سلامة النشر الأساسي يُسهّل عملية استكشاف الأخطاء وإصلاحها بشكل كبير، لأن أي عطل في حزمة برامج مكتبية أو موفر هوية خارجي أو خدمة مكافحة فيروسات لن يختلط بعد ذلك بمشاكل نظام أسماء النطاقات (DNS) وبروتوكول أمان طبقة النقل (TLS) الأساسية.

ملاحظات الصيانة لضمان استقرار عملية النشر

قبل الترقية، يُرجى نسخ بياناتك وإعداداتك احتياطيًا، وقراءة ملاحظات الترحيل الخاصة بكل إصدار. تُفرّق وثائق ownCloud بين تحديثات الصور الروتينية والترقيات التي قد تتطلب تغييرات في الإعدادات. من خطوات الصيانة الشائعة إيقاف النظام، وسحب الصور، وإعادة تشغيله مع تنظيف الملفات غير المستخدمة، ولكن يُنصح دائمًا بمراجعة دليل الترقية الخاص بكل إصدار قبل تغييره.

بالنسبة لخادم الإنتاج، راقب أيضًا استخدام القرص. تُعدّ وحدات التخزين المُدارة بواسطة Docker سهلة الاستخدام في البداية، ولكن قد يفاجئك نموّ مساحة التخزين عندما يتشارك نظام التشغيل وملفات المستخدم نفس نظام الملفات. إذا كنت تتوقع حجم بيانات كبير، فاستخدم مسارات تخزين مُخصصة منذ البداية أو قم بنقلها باستخدام إجراء وحدة التخزين الموثق وتأكد من ملكية المستخدم الصحيح للحاوية.

اترك تعليقاً

أفضل 10 أدوات مسح Ping للعثور على الأجهزة على شبكتك

أفضل 10 أدوات مسح Ping للعثور على الأجهزة على شبكتك

قارن بين 10 أدوات مسح الشبكة المحلية (Ping) لاكتشاف الشبكات المحلية بسرعة، وإجراء مسح شامل للأنظمة الأساسية المختلفة، وإدارة عناوين IP. تعرّف على ما يمكن أن يكشفه لك المسح وما لا يمكنه كشفه.

أفضل 6 أدوات لإدارة الشبكة لتتبع الأداء

أفضل 6 أدوات لإدارة الشبكة لتتبع الأداء

قارن بين ست أدوات لإدارة الشبكة لمراقبة الأداء، بما في ذلك تغطية SNMP، ورسم الخرائط، والتنبيهات، ونماذج النشر، والمفاضلات المتعلقة بالتكلفة.

أفضل برامج تحليل شبكة الواي فاي لأنظمة ويندوز، وiOS، وأندرويد

أفضل برامج تحليل شبكة الواي فاي لأنظمة ويندوز، وiOS، وأندرويد

قارن بين أفضل برامج تحليل شبكة Wi-Fi لأنظمة Windows و iPhone و Android، بما في ذلك أدوات ازدحام القنوات وتغطية الإشارة والخرائط الحرارية واستكشاف أخطاء الشبكة وإصلاحها.

مراقبة الاتصال: 7 أدوات مجانية ومفتوحة المصدر لمراقبة توافر الشبكة

مراقبة الاتصال: 7 أدوات مجانية ومفتوحة المصدر لمراقبة توافر الشبكة

قارن بين سبعة برامج مراقبة زمن الاستجابة المجانية والمفتوحة المصدر، بدءًا من مجموعات الشبكة الكاملة وحتى مجسات زمن الاستجابة المركزة، واختر البرنامج المناسب من حيث التوافر وفقدان الحزم والسجل.

جودة الخدمة في الشبكات: ما هي جودة الخدمة وكيف تعمل

جودة الخدمة في الشبكات: ما هي جودة الخدمة وكيف تعمل

تعرف على معنى جودة الخدمة في الشبكات، وكيف تحدد علامات DSCP وقوائم انتظار حركة المرور أولويات تطبيقات الصوت والفيديو والأعمال، وما لا تستطيع جودة الخدمة إصلاحه.

أفضل الممارسات لمراقبة الشبكات: ما الذي يجب تتبعه وما هي الأدوات التي يجب استخدامها

أفضل الممارسات لمراقبة الشبكات: ما الذي يجب تتبعه وما هي الأدوات التي يجب استخدامها

قم ببناء نظام مراقبة شبكة عملي مع تغطية واضحة للأجهزة، ومقاييس أداء مفيدة، وتنبيهات قابلة للتنفيذ، ومقارنة بين SolarWinds NPM وPRTG وOpManager.

أفضل برامج خادم SFTP لنقل الملفات بشكل آمن

أفضل برامج خادم SFTP لنقل الملفات بشكل آمن

قارن بين برامج خوادم SFTP الموثوقة لأنظمة ويندوز ولينكس، بما في ذلك OpenSSH وBitvise وSolarWinds وSFTPGo. اعثر على الخيار الأمثل الذي يلبي احتياجاتك الأمنية واحتياجات نقل الملفات.

أفضل 7 أدوات لإدارة عناوين IP لفرق الشبكات

أفضل 7 أدوات لإدارة عناوين IP لفرق الشبكات

قارن بين سبع أدوات لإدارة عناوين IP لاكتشاف الشبكات الفرعية، وتنسيق DNS وDHCP، وجرد الشبكة، وIPAM مفتوح المصدر.

أفضل 10 أدوات لفحص الشبكات لاكتشاف الأجهزة وعناوين IP

أفضل 10 أدوات لفحص الشبكات لاكتشاف الأجهزة وعناوين IP

قارن بين أدوات فحص الشبكة لاكتشاف الأجهزة بسرعة، وعمليات فحص IP عبر الأنظمة الأساسية، وإدارة عناوين IP للمؤسسات، مع إرشادات حول مطابقة كل خيار مع شبكتك.

كيفية استخدام Nmap لتتبع المسار وقراءة مسار الشبكة

كيفية استخدام Nmap لتتبع المسار وقراءة مسار الشبكة

استخدم خيار --traceroute في Nmap لرسم خرائط القفزات إلى مضيف مصرح به، وفهم مخرجات القفزة وRTT، واستكشاف الأخطاء وإصلاحها في الاستجابات المفقودة دون الإفراط في المسح.