منذ عامين ، قمت بنشر سلسلة من المقالات حول موضوع إنشاء خادم ويب يستند إلى Debian 8 وإطلاق خدمة Nextcloud 11. وبعد بضعة أشهر ، كانت هناك معلومات إضافية تحتوي على معلومات "تفاضلية" حول تثبيت Nextcloud 13 على Debian 9. في نهاية عام 2018 ، تحديث ديبيان و Nextcloud ولم تواجه أي مشاكل غير عادية أو مثيرة للاهتمام. كان التحديث في نهاية عام 2019 أكثر إثارة بالفعل ويستحق الكتابة عنه.

ستكون هذه المقالة مفيدة بشكل أساسي لأولئك الذين ، وفقًا لتعليمات المقالات الأربعة الأخيرة ، "جمعوا" Nextcloud 13 على Debian 9 (أرسل تحياتي إلى عشرة من مشتركي على Nextcloud ، خاصةً أولئك الذين كانت أول تجربة لهم في عالم Linux). بالنسبة لأولئك الذين سيقومون بتقديم خدمة من الصفر ، أنصحك أن تأخذ كأساس للمقالات الأربعة الأولى من هذه السلسلة ، المعدلة للإصدارات الحالية من Debian 10 و Nextcloud 17. بالنسبة لمستخدمي Linux ذوي الخبرة ، يمكن أن تحدث المقالة بين "تافهة وغير مجدية" و "ليست سيئة ، ورقة الغش في مكان واحد. "
جدول المحتويات
الجزء 1. إعداد بيئة دبيان للاستخدام اليوميالجزء 2. إنشاء خادم - إعداد LAMP في دبيانالجزء 3. إنشاء سحابة الشخصية - تثبيت وتكوين Nextcloudالجزء 4. تحديث 2018 - دبيان 9 و Nextcloud 13الجزء 5. تحديث 2019 - PHP 7.2 ، MariaDB 10.4 و Nextcloud 17
الفصل سريع الملاحة
مقدمةتحديث دبيانتحديث PHP إلى الإصدار 7.2تحديث MariaDB إلى الإصدار 10.4تحديث Nextcloud إلى الإصدار 17خاتمة
مقدمة
في البداية ، كنت أرغب في تثبيت وتكوين Nginx على Debian 10 ، وعلى رأسه تم تثبيت Nextcloud 17 الحالي دون مشاكل ، لكن لهذا كله ، لم أتمكن من اختيار الوقت ، لذلك هذه المقالة عبارة عن مجموعة من التعليمات لترقية Nextcloud من 13 إلى الإصدار الحالي 17 من النسخة الأولية تحضير خادم الويب.
تحتاج أولاً إلى شرح سبب الحاجة إلى إجراء تغييرات جذرية على جانب خادم الويب. يعتمد خادمنا على Debian 9. الحالي والمدعوم. يمكنك ببساطة تحديث نظام التشغيل وستتلقى جميع مكونات خادم الويب تحديثات أمنية على الأقل. سيكون كل شيء رائعًا إذا استخدمنا Nextcloud 13 أو تمت ترقيته فقط إلى الإصدار 14. لكن Nextcloud 13 لم يعد مدعومًا ، كما أن دعم الإصدار الرابع عشر أصبح سريعًا. بدءًا من الإصدار الخامس عشر ، ستعرض Nexctcloud تحويل قاعدة البيانات إلى int الكبيرة لدعم ترميز البايتات الأربعة ، ومع MariaDB 10.1 سيكون هذا مشكلة كبيرة. يتطلب Nexctcloud 17 PHP 7.1-7.3 ، بينما يحتوي Debian 9 فقط على الإصدار 7.0 في مستودعاته الأصلية. سيكون من الأصح ، من حيث الموثوقية والقدرة على التنبؤ ، الترقية إلى الإصدار قبل الأخير من Nextcloud ، لكنني لبضعة أعوام كنت واثقًا من موثوقية هذه الخدمة التي أردت الترقية إلى أحدث إصدار وتحديث خادم الويب باحتياطي للمستقبل. لذلك ، للترقية إلى Nexctcloud 17 ، من الأفضل ترقية MariaDB إلى الإصدار الحالي الثابت 10.4 ، و PHP إلى 7.2. هو 7.2 ، وليس ذات الصلة 7.4. الحقيقة هي أن Nextcloud 13 يتطلب PHP 5.6 ، 7.0 - 7.2 ، و Nexctcloud 17 يتطلب PHP 7.1 - 7.3. يعد استخدام PHP 7.2 مناسبًا لتقليل إجراءات الترقية. لا يلزم تحديث خادم Apache - فقط قم بتثبيت التحديثات الأمنية التي يوزعها فريق دعم دبيان. ولكن للحصول على التحديثات ، سيتعين على MariaDB و PHP توصيل المستودعات الخارجية.
عندما قابلت Nextcloud لأول مرة ، قمت بتحديثه "يدويًا": تم وضع موقع الويب في وضع الصيانة من وحدة التحكم بواسطة فريق خاص ، وتم تنزيل الأرشيف مع الإصدار الجديد من الموقع يدويًا وتفريغه ، وتم تحديث الملفات وبدء إجراء التحديث. عادةً ما يؤدي هذا التحديث إلى النتائج المتوقعة ، على الرغم من أنني لم أكن كسولًا لعمل نسخة احتياطية من الموقع وقاعدة البيانات وبيانات المستخدم. لكن التحديثات التلقائية أدت في بعض الأحيان إلى كل أنواع المفاجآت. ولكن منذ زمن طويل ، ازداد استقرار المحرك زيادة كبيرة منذ ذلك الحين ، وهذه المرة قمت بالتحديثات حصريًا من خلال واجهة الويب. صحيح أنه لم يكن من الممكن الخروج من سطر الأوامر. أثناء التحديث التكراري لكل إصدار جديد ، ستظهر العديد من التحذيرات والإشعارات في لوحة التحكم ، والتي ستحتاج إلى "إزالتها" عن طريق تنفيذ الأوامر بشكل مفيد في سطر الأوامر. لا يمكنك القيام بذلك - الخدمة ستعمل على أي حال. على الرغم من أن هذا النهج خاطئ بشكل أساسي ، فقد عملت Nextcloud من أجلك لمدة 3 أشهر في هذا الوضع قبل أن أعمد إلى حل المشكلات التي نشأت.
تحديث Debain
أوقف خادم الويب:
وتحديثها:
بعد التحديث ، يمكنك التحقق من إصدار نظام التشغيل والقيام بإعادة تشغيل التحقق للتأكد من أن كل شيء يبدأ بشكل طبيعي بعد التحديث:
تحديث PHP إلى الإصدار 7.2
أوقف خادم الويب:
إضافة شهادة ومفاتيح PPA ، مستودع PHP:
إذا قمت بحذف الإصدار القديم من PHP 7.0 ، فسيتم أيضًا حذف phpmyadmin ، حيث سنقوم بتنظيف "التتبعات" من الحزم التي تمت إزالتها باستخدام autoremove. لن يسبب ذلك صعوبة كبيرة ، حيث لم يتم إعداد إعدادات خاصة لـ phpmyadmin ولن يكون تثبيته مرة أخرى مشكلة.
تركيب الوحدات اللازمة ل Nextcloud 17:
[كتب هذا النص خصيصًا لـ habr.com بواسطة AlexanderS .
الارتباط بالمصدر اختياري ، لكن مرجعه مرغوب فيه للغاية! ]نتحقق من إصدار PHP ، ونبدأ تشغيل خادم الويب ونتحقق من إمكانية تشغيل Nextcloud:
تحديث MariaDB إلى الإصدار 10.4
يحتوي موقع المشروع على
صفحة مثيرة للاهتمام تحتاج إلى الإشارة إلى نظام التشغيل لديك وإصدارها وتحديد إصدار قاعدة البيانات. بمجرد تحديده ، سيتم إنشاء كود لإضافة المستودع.
أوقف خادم الويب:
إضافة مستودع وحزم التحديث:
عند تثبيت MariaDB ، سيقوم مدير الحزمة بحذف الإصدار السابق وتثبيت الإصدار الجديد بشكل صحيح ، وسيتم حفظ جميع قواعد البيانات. ومع ذلك ، النسخ الاحتياطي لقاعدة البيانات Nextcloud يوصى بالطبع.
قم بتثبيت MariaDB وقم بتشغيل إجراء التحديث:
بعد إدخال كلمة المرور ، سيتم تحديث MariaDB وسيكون من الممكن تهيئته ، باتباع
الإرشادات الواردة من الجزء الثاني :
نبدأ خادم الويب ونتحقق من أداء Nextcloud:
تحديث Nextcloud إلى الإصدار 17
لبدء التحديث ، تحتاج إلى تسجيل الدخول إلى الخدمة تحت إدخال إداري ، والمتابعة إلى الإعدادات وفتح "الإعدادات العامة" في القسم الإداري. يُظهر Nextcloud الإصدار المثبت والإصدار المتاح للتحديث ، والذي يمكن تشغيله بالنقر فوق الزر "فتح نافذة التحديث". بعد بدء التشغيل ، يقوم Nextcloud بعمل نسخة احتياطية ، ويقوم بتنزيل وفحص سلامة ملفات التحديث ، ويقوم بتشغيل وضع الصيانة وتحديث الملفات. ما يلي هو السؤال "الحفاظ على وضع الصيانة نشط"؟ عليك أن تكون حذرا هنا. ستترك الإجابة الإيجابية الموقع في وضع الصيانة - من المفترض أن المسؤول يعرف ما يجب القيام به بعد ذلك ويقوم به يدويًا. وإلا ، فستعمل Nextcloud كل شيء بنفسها ، لذا انقر فوق "لا" للمتابعة.
يتم تنفيذ التحديثات بشكل متكرر. سيقوم Nextcloud 13.x بالترقية إلى أحدث إصدار من فرع 14.x أولاً. بعد ذلك ، ستحتاج إلى العودة إلى مركز الإدارة وبدء التحديث ، الآن من 14.x إلى 15.x. وهكذا ، حتى يتم الوصول إلى آخر إصدار حالي ممكن. بعد كل تحديث ، في صفحة الإعدادات العامة في القسم الإداري ، سيتم عرض قائمة بالاقتراحات والمشكلات التي صودفت ، بالإضافة إلى توصيات لحلها. أدناه سنتحدث عن ما يجب القيام به بعد كل تحديث.
قبل التحديثفي الإصدارات الأخيرة من Nextcloud ، يوصى بتمكين PHP OPcache من تحسين الأداء. من الغريب أنني فاتني هذه اللحظة بطريقة ما قبل عامين ، حيث ظهر OPcache في PHP 5. في /etc/php/7.2/apache2/php.ini ، يلزمك إلغاء التعليق وتعديل المعلمات التالية:
opcache.enable=1 opcache.enable_cli=1 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 pcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=1
تحديث 13.x -> 14.xنستعيد فهارس الجداول:
تحديث 14.x -> 15.xتحضير قاعدة بيانات nextcloud لتمكين ترميز أربعة بايت:
تمكين الدعم لترميز أربعة بايت في Nextcloud:
نقوم بتحويل الجداول:
استرداد مؤشرات الجدول المفقودة:
تحويل مؤشرات الجدول إلى bigint:
تحديث 15.x -> 16.xاسترداد مؤشرات الجدول المفقودة:
تحويل مؤشرات الجدول إلى bigint:
تحديث 16.x -> 17.xلا يوجد إجراء آخر مطلوب.
خاتمة
باتباع هذه التعليمات ، تم تحديث الجهاز الظاهري مع Nextcloud 13. يتيح لك استخدام الجهاز الظاهري عدم عمل نسخة احتياطية من ملفات Nextcloud وقاعدة بياناته ، لأنه في حالة حدوث مشكلات ، يمكنك ببساطة إرجاع ملف الجهاز الظاهري المحفوظ مسبقًا والبدء من جديد من جديد. ومع ذلك ، لا ينطبق هذا على مجلد بيانات المستخدم ، والذي أوصي أيضًا بالنسخ الاحتياطي باستخدام الجهاز الظاهري Nextcloud. في حالتي ، يتم استخدام "السحابة" كمجلد بعيد مع إصدار تلقائي ، بالإضافة إلى اتجاه التزامن "هناك فقط" ، ولم يكن فقدان هذه البيانات بالنسبة لي أمرًا بالغ الأهمية - وسيتعين علي فقط المزامنة مرة أخرى لعدة ساعات. على الرغم من إهمالي للقاعدة "ابق آمناً في حالة جيدة" في حياتي ، فقد تم التحديث بسلاسة وكسب جميع العملاء أموالًا مع Nextcloud 17 دون أي مشاكل. لقد تأثرت ، فرانك كارليتسك - أنت وفريقك يقومون بعمل ممتاز!
بعد التحديث ، قررت تنظيف بيانات المستخدم ، والتي ، وفقًا للإحصاءات ، تناولت تيرابايت اثنين. لم يكن لدي الكثير من البيانات التشغيلية - معظم وحدات التخزين كانت مشغولة بملفات الإصدار والملفات المحذوفة. المشكلة التي واجهتها هي أنه كان هناك الكثير من البيانات المحذوفة لمستخدم واحد (ليس حتى الحجم ، ولكن الكمية - الكثير من الملفات الصغيرة) التي لم يتمكن Nextcloud من عرضها في واجهة الويب. بعد دراسة دليل الإدارة ، وجدت الحل من خلال سطر الأوامر. ربما سيأتي هذا مفيدًا لشخص ما.
لمسح ملفات المستخدم المحذوفة:
لمسح ملفات إصدار المستخدم:
العودة
إلى البداية ، إلى جدول المحتويات .
تاريخ إنشاء سحابة المنزل. الجزء 5. تحديث 2019 - PHP 7.2 ، MariaDB 10.4 و Nextcloud 17
نسخة نصية: 1.1.1.
تاريخ النشر الأول: 01/15/2020.
آخر تعديل: 01/15/2020.
تحديث السجل1.1.1 [15-01-2020]
تصحيح الأخطاء المطبعية.
1.1.0 [15-01-2020]
تم إصلاح رمز إعداد قاعدة بيانات nexcloud لتمكين ترميز أربعة بايت.
1.0.0 [15-01-2020]
الإصدار الأول.