
لا يسمح لك التخزين السحابي بتخزين البيانات فحسب ، بل أيضًا توفير التعاون معهم في NAS .
الحلول الممكنة
هناك العديد من الخيارات للخدمات السحابية: NextCloud و Seafile و Pydio ، إلخ ...
يتم اعتبار بعضها أدناه.
تنفيذ الخدمات السحابية.
نفذت في PHP / جافا سكريبت.
القدرات:
- من الممكن توسيع الوظيفة عن طريق تثبيت التطبيقات من مستودع السحابة.
- هناك تكامل مع مكتب Collabora و OnlyOffice.
- من الممكن استخدام المستودعات الحالية مثل FTP و Swift و S3 و Dropbox وما إلى ذلك.
مشاركة البيانات بينهم وبين السحابة المحلية. - التشفير على العميل.
- القدرة على توفير الملفات للمستخدمين الخارجيين عن طريق البريد الإلكتروني.
- هناك أتمتة العمليات مع الملفات (على سبيل المثال ، إضافة علامات تلقائية).
- LDAP
- هناك مشغل صوتي ومجموعة موسيقية ومعرض إضافي لقارئ PDF.
- التكامل مع Zimbra.
- هناك تقاويم وقوائم مهام ومحررات نصية وما إلى ذلك.
- الحماية من الفيروسات والحماية من برامج الفدية.
- المصادقة الثنائية.
- القدرة على انتحال هوية مستخدم آخر (لأغراض التصحيح).

شوكة OwnCloud. نفذت في PHP / جافا سكريبت.
القدرات:
- تخزين الملفات باستخدام هياكل الدليل العادية ، أو باستخدام WebDAV.
- هناك NextCloud Talk ، الذي يمكن من خلاله إجراء مكالمات الفيديو ومؤتمرات الفيديو.
- التزامن بين العملاء الذين يستخدمون Windows (Windows XP و Vista و 7 و 8) أو Mac OS X (10.6 والإصدارات الأحدث) أو Linux.
- المزامنة مع الأجهزة المحمولة.
- التقويم (مثل CalDAV).
- جدولة المهام.
- دفتر العناوين (مثل CardDAV).
- دفق الوسائط (المستخدمة من قبل Ampache).
- وهو يدعم مزودي التفويض المختلفين: LDAP و OpenID و Shibboleth.
- إذن ذو عاملين.
- مشاركة المحتوى بين المجموعات أو استخدام عناوين URL العامة. صقل القواعد.
- محرر نصوص عبر الإنترنت مع تمييز وبناء للطي. تم الإعلان عن دعم الإصدارات عبر الإنترنت من محرري LibreOffice.
- الإشارات المرجعية
- آلية تقصير URL.
- معرض الصور
- عارض PDF (باستخدام PDF.js)
- التكامل مع Collabora و OnlyOffice.
- وحدة تسجيل.
- القدرة على إنشاء مواقع الويب الخاصة بك (في PicoCMS).
- التكامل مع Outlook و Thunderbird.
- اندماج العملاء في جنوم.
- القدرة على استخدام التخزين الخارجي.
- بحث النص الكامل.
- التكامل مع برامج مكافحة الفيروسات.
نفذت في C #.
القدرات:
- تعيين الإصدار
- التشفير على العميل.
- مزامنة شفافة بين عدة مستخدمين: ستظهر التغييرات عن بُعد في الدليل المحلي المخصص لـ SparkleShare.
الميزات:

نفذت في C / Javascript.
القدرات:
- يمكن تنظيم الملفات في مكتبات يمكن مزامنتها بين الأجهزة.
- هناك عميل يسمح لك بإنشاء "قرص" محلي ، يتم تعيينه إلى السحابة.
- تشفير مدمج. يتم تشفير جميع الملفات من قبل العميل وتخزينها في السحابة مشفرة.
- دعم الجهاز المحمول.
- تشفير HTTS / TLS.
- هناك LDAP.
- صقل الحقوق.
- إصدار الملفات.
- القدرة على إنشاء لقطة دليل ، والتي يمكن بعد ذلك إرجاعها.
- إلغاء البيانات المكررة.
- دعم ملف القفل.
- التحرير المشترك للملفات على الإنترنت.
- مكافحة الفيروسات.
- صقل الحقوق.
- النسخ الاحتياطي الدوري من خلال rsync.
- WebDAV
- REST API
- القدرة على الاندماج مع Collabora.
الميزات:
- سريع وغير متسامح للموارد.
- تعتبر موثوقة.
- يتم دعم تعيين حقوق الدلائل الفرعية فقط في إصدار Pro المدفوع.
- التكامل مع برامج مكافحة الفيروسات - فقط في الإصدار المحترف.
- التدقيق - فقط في الإصدار المحترف.
- البحث عن نص كامل - فقط في الإصدار المحترف.
- التكامل مع S3 و Ceph - فقط في الإصدار المحترف.
- عرض Doc / PPT / Excel عبر الإنترنت - فقط في الإصدار المحترف.

نفذت في PHP / جافا سكريبت.
القدرات:
- مشاركة الملفات ليس فقط بين المستخدمين ، ولكن أيضًا بين مثيلات متعددة من Pydio.
- تشفير SSL / TLS.
- WebDAV
- القدرة على إنشاء مساحات عمل متعددة.
- مشاركة الملفات مع مستخدمين خارجيين ، مع مشاركة الضبط الدقيق (على سبيل المثال ، الروابط المباشرة وكلمة المرور وما إلى ذلك).
- مكتب Collabora مدمج.
- معاينة وتحرير الصور.
- يوجد مشغل صوت وفيديو مدمج.

نفذت في PHP / جافا سكريبت.
القدرات:
- من الممكن مشاركة الملفات بين مستخدمين محددين وبين المجموعات.
- تقرير كامل عن عمليات الملف.
- قدرة المستخدمين الخارجيين على تحميل الملفات (لغرض المشاركة ، على سبيل المثال ، تطبيق تقارير الأخطاء).

القدرات:
- وفر مساحة التخزين ووقت تحميل الملف عن طريق إلغاء تكرار البيانات الموجودة وإجراء تغييرات على الملفات الموجودة (بدلاً من استبدال الملف بالكامل).
- تزامن متعدد المنصات قابل للتخصيص.
يقوم DropBox للمزامنة بإنشاء مجلد خاص حيث من الضروري وضع جميع الملفات المتزامنة. يمكن أن يعمل SpiderOak مع أي دليل. - حفظ جميع النسخ التاريخية للملفات والملفات المحذوفة
- مشاركة المجلدات باستخدام ما يسمى ShareRooms ، والتي تحدد كلمة مرور.
يتم تحديث الملفات المحدثة على الكمبيوتر المحلي تلقائيًا في المستودع. يتم إخطار المستخدمين بالتغييرات عبر RSS. - استقبال الملفات من أي جهاز متصل بالإنترنت.
- تشفير كامل للبيانات بناءً على مبدأ "صفر المعرفة".
- دعم عدد غير محدود من الأجهزة.
- تشفير البيانات من جانب العميل.
- المصادقة الثنائية.
الميزات:
نظام الملكية المغلقة.
بالنظر إلى أن هذا البرنامج مدفوع ومغلق جزئيًا ، يتم استبعاد استخدامه.
قم بتثبيت NextCloud
في البداية ، كانت هناك رغبة في استخدام Seafile: يتم تنفيذ جزء الخادم في C ، وهو فعال ومستقر. ولكن اتضح أن النسخة المجانية لا تحتوي على كل شيء.
لذلك ، حاولت Nextcloud وكنت راضيًا. يوفر المزيد من الميزات وهو مجاني تمامًا.
يمكنك أن ترى كيف يعمل في الوضع التجريبي هنا .
فيما يلي الواجهات المشتركة بين التخزين السحابي والنظام:
/tank0/apps/cloud/nextcloud
- تخزين الخدمة السحابية./tank0/apps/onlyoffice
- بيانات المكتب.https://cloud.NAS.cloudns.cc
- واجهة الخدمة السحابية WEB.
لأن تكوين NextCloud ضخم للغاية ويتكون من عدة ملفات ، ولن أسردها هنا.
يمكن العثور على كل ما تحتاجه في المستودع على Github .
تكوين SeaFile متاح أيضًا هناك .
قم أولاً بتثبيت وتشغيل NextCloud.
للقيام بذلك ، قم بنسخ التكوين إلى الدليل /tank0/docker/services/nextcloud
وقم بتنفيذ:
# docker-compose up -d
سيتم بناء صورة جديدة تعتمد على Nextcloud 13.0.7. إذا كنت ترغب في تغيير إصدار الصورة الأساسية ، app/Dockerfile
بذلك في app/Dockerfile
. أستخدم الإصدار 15 ، ولكن تجدر الإشارة إلى أن العديد من المكونات الإضافية ، مثل محمل ocDownloader والملاحظات ، لا تعمل فيه ، ولم أستعد وظائف OnlyOffice حتى الآن.
لم ألاحظ أي اختلافات جوهرية أو تحسن قوي في الأداء.
أدناه أعتقد أنك تستخدم الإصدار 13+.
بعد ذلك ، انتقل إلى NextCloud وحدد "التطبيقات" في القائمة في الجزء العلوي الأيمن ، ثم أكمل تثبيت المكونات الإضافية الضرورية.

مطلوب:
- الواجهة الخلفية لمستخدم LDAP والمجموعة - الاقتران بـ LDAP.
- دعم التخزين الخارجي - دعم التخزين الخارجي. ستكون هناك حاجة إلى مزيد من ذلك ، بهدف دمج NextCloud والملفات المشتركة ، بالإضافة إلى الاقتران مع التخزين السحابي الخارجي. سأتحدث عن إعداد وحدة تخزين خارجية في مقال آخر.
- ocDownloader - تنزيل الملف. يمتد وظائف السحابة. تمت إعادة بناء صورة Docker خصيصًا بحيث تعمل.
- ONLYOFFICE - تكامل المكاتب. بدون هذا التطبيق ، لن تفتح ملفات المستندات في السحابة.
- التشفير من طرف إلى طرف - تشفير من طرف إلى طرف على العميل. إذا كان العديد من المستخدمين يستخدمون السحابة ، فإن المكون الإضافي ضروري لضمان أمان ملفاتهم بشكل ملائم.
التطبيقات المطلوبة:
- إعدادات القوة الغاشمة - الحماية من اختيار أوراق الاعتماد. NextCloud يتصفح الإنترنت ، لذا من الأفضل تثبيته.
- انتحال - يسمح للمسؤول بتسجيل الدخول مع مستخدمين آخرين. مفيد لتصحيح الأخطاء واستكشاف الأخطاء وإصلاحها.
- الحديث - دردشة الفيديو.
- التقويم - يتحدث عن نفسه ، يسمح لك بالحفاظ على التقاويم في السحابة.
- التحكم في الوصول إلى الملفات - يسمح للمستخدمين بتقييد الوصول إلى الملفات والأدلة بناءً على العلامات والقواعد.
- المجموع الاختباري - يتيح لك حساب المجموع الاختباري للملفات وعرضه.
- المواقع الخارجية - تنشئ روابط إلى مواقع عشوائية على اللوحة في الأعلى.
ميزات الحاوية:
- تثبيت برنامج تحميل Aria2.
- تم تثبيت برنامج تحميل التشغيل Youtube-DL.
- أدوات inotify المثبتة.
- زيادة حدود الذاكرة لـ PHP.
- تم تكوين خادم الويب للعمل بشكل أفضل مع LDAP.
ألاحظ أنه إذا قمت بتثبيت الإصدار 13+ ، ولكنك قررت بعد ذلك الترقية إلى الإصدار 15 ، يمكنك القيام بذلك وأكثر من ذلك بكثير باستخدام الأداة المساعدة occ .
LDAP
إن تهيئة LDAP ليست تافهة ، لأنني سأخبرك بالمزيد.
انتقل إلى "الإعدادات-> التكامل مع LDAP / AD".
إضافة خادم 172.21.0.1 بمنفذ 389.
تسجيل الدخول: cn=admin,dc=nas,dc=nas
.
يمكن لـ NextCloud إدارة المستخدمين في قاعدة بيانات LDAP ولهذا سيحتاج إلى مسؤول.

اضغط على زر "التحقق من تكوين DN" ، وإذا كان مؤشر التحقق باللون الأخضر ، فاضغط على الزر "التالي".
لكل مستخدم سمة inetOrgPerson
وهو عضو في مجموعة users_cloud
.
سيبدو الفلتر كما يلي:
(&(|(objectclass=inetOrgPerson))(|(memberof=cn=users_cloud,ou=groups,dc=nas,dc=nas)))
انقر فوق "التحقق من قاعدة بيانات الإعدادات وإعادة فرز المستخدمين" ، وإذا كان كل شيء صحيحًا ، فيجب عرض عدد المستخدمين. انقر فوق التالي.
في الصفحة التالية ، سيتم تكوين عامل تصفية مستخدم يقوم NextCloud بالبحث عنه.
عامل التصفية:
(&(objectclass=inetOrgPerson)(uid=%uid))
في هذه الصفحة ، تحتاج إلى إدخال تسجيل دخول المستخدم والنقر على "التحقق من الإعدادات".
آخر مرة "التالي".
ثم انقر فوق "متقدم" وتحقق من أن حقل "Group Tree Base" يساوي حقل "User Tree Base" ولديه القيمة dc=nas,dc=nas
.
عُد إلى المجموعات وحدد مربع "فئات الفئات هذه فقط" بجوار groupOfUniqueNames
.
المرشح النهائي هنا هو هذا:
(&(|(objectclass=groupOfUniqueNames)))
لم يتم تعيين الحقل "من هذه المجموعات فقط ، لأنه أريد رؤية جميع المستخدمين في واجهة NextCloud ، ويتم users_cloud
أولئك الذين ليسوا users_cloud
مجموعة users_cloud
بواسطة الفلتر في المرحلة السابقة.
المكتب فقط

يعد OnlyOffice مجموعة مكتبية ممتازة عبر الأنظمة الأساسية تدعم مستندات MS Office. إنه مجاني ومفتوح ، بالإضافة إلى LibreOffice وقادر أيضًا على العمل كخادم.
ولكن في نفس الوقت ، يتم تنفيذ دعم التنسيق الأصلي بشكل أفضل ، تقريبًا كما هو الحال في المكتب الأصلي من MS ، فهو أكثر استقرارًا ، ولديه واجهة أكثر عمقًا.
كما أنه يدمج خارج الصندوق مع NextCloud .
بالمناسبة ، هناك إصدار سطح المكتب من OnlyOffice ، بما في ذلك Linux. بشكل عام ، بعد أن تم تعذيبي مع Collabora الثقيل وغير المستقر (هذا هو LibreOffice) ، اخترت OnlyOffice وحتى الآن أنا راضٍ تمامًا.
تكوين OnlyOffice متاح على Github وأدناه ، تحت المفسد.
لدى Github أيضًا تهيئة لـ Collabora .
/tank0/docker/services/office/onlyoffice/docker-compose.yml version: '2' # https://helpcenter.onlyoffice.com/ru/server/docker/document/docker-installation.aspx networks: onlyoffice: driver: 'bridge' docker0: external: name: docker0 services: onlyoffice-redis: container_name: onlyoffice-redis image: redis restart: always networks: - onlyoffice expose: - '6379' onlyoffice-rabbitmq: container_name: onlyoffice-rabbitmq image: rabbitmq restart: always networks: - onlyoffice expose: - '5672' onlyoffice-postgresql: container_name: onlyoffice-postgresql image: postgres environment: - POSTGRES_DB=onlyoffice - POSTGRES_USER=onlyoffice networks: - onlyoffice restart: always expose: - '5432' volumes: - /tank0/apps/onlyoffice/postgresql_data:/var/lib/postgresql onlyoffice-documentserver-data: container_name: onlyoffice-documentserver-data image: onlyoffice/documentserver:latest environment: - ONLYOFFICE_DATA_CONTAINER=true - POSTGRESQL_SERVER_HOST=onlyoffice-postgresql - POSTGRESQL_SERVER_PORT=5432 - POSTGRESQL_SERVER_DB_NAME=onlyoffice - POSTGRESQL_SERVER_USER=onlyoffice - RABBITMQ_SERVER_URL=amqp://guest:guest@onlyoffice-rabbitmq - REDIS_SERVER_HOST=onlyoffice-redis - REDIS_SERVER_PORT=6379 stdin_open: true restart: always networks: - onlyoffice volumes: - /tank0/apps/onlyoffice/document-server-data/data:/var/www/onlyoffice/Data - /tank0/apps/onlyoffice/document-server-data/logs:/var/log/onlyoffice - /tank0/apps/onlyoffice/document-server-data/cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files - /tank0/apps/onlyoffice/document-server-data/files:/var/www/onlyoffice/documentserver-example/public/files - /usr/share/fonts onlyoffice-documentserver: image: onlyoffice/documentserver:latest depends_on: - onlyoffice-postgresql - onlyoffice-redis - onlyoffice-rabbitmq - onlyoffice-documentserver-data environment: - ONLYOFFICE_DATA_CONTAINER_HOST=onlyoffice-documentserver-data - BALANCE=uri depth 3 - EXCLUDE_PORTS=443 - HTTP_CHECK=GET /healthcheck - EXTRA_SETTINGS=http-check expect string true - JWT_ENABLED=true - JWT_SECRET=<JWT_SECRET_TOKEN> # Uncomment the string below to redirect HTTP request to HTTPS request. #- FORCE_SSL=true - VIRTUAL_HOST=office.* - VIRTUAL_PORT=80 - VIRTUAL_PROTO=http - CERT_NAME=NAS.cloudns.cc stdin_open: true restart: always networks: - onlyoffice - docker0 expose: - '80' volumes: - /tank0/apps/onlyoffice/document-server/logs:/var/log/onlyoffice - /tank0/apps/onlyoffice/document-server/data:/var/www/onlyoffice/Data - /tank0/apps/onlyoffice/document-server/lib:/var/lib/onlyoffice - /tank0/apps/onlyoffice/document-server/db:/var/lib/postgresql volumes_from: - onlyoffice-documentserver-data
سأشرح بعض النقاط:
- تحتاج إلى تغيير <JWT_SECRET_TOKEN> إلى منطقتك ، وكذلك NAS باسم منطقة DNS الخاصة بك.
- لا يلزم تضمين HTTPS هنا ، لأنه على الرغم من أن المكتب مرئي من الخارج ، إلا أن التبادل معه يتم عبر وكيل عكسي ، يعمل مع المستخدم حصريًا عبر HTTPS. هذه هي الطريقة التي يتم بها بناء بنية NAS.
الآن أنت بحاجة إلى رفع المكتب:
docker-compose up -d
وإذا كان كل شيء يعمل ، فستكون الصفحة التالية في المكتب. NAS.cloudns.cc:

بعد ذلك ، في إعدادات NextCloud ، تحتاج إلى تحديد عنصر "الإدارة-> ONLYOFFICE" وإدخال عنوان خادم المستندات في أول حقلين: https://office.NAS.cloudns.cc/
ورمز JWT الخاص بك.
في الحقل الثالث ، أدخل عنوان السحابة.
يمكن إنشاء رمز JWT ، على سبيل المثال ، هنا .
إذا تم تكوين الخادم بشكل صحيح ، فستظهر عناصر إضافية لمستندات المكتب في القائمة لإنشاء المستندات في السحابة ، وسيتم فتح ملفات .docx
في المكتب.
الاستنتاجات
التخزين السحابي هو الرابط المركزي لتفاعل المستخدم بينه وبين الخدمات الأخرى.
في هذا الدور ، يعتبر NextCloud مناسبًا للغاية ولديه وظائف واسعة.
له خاصته في عملية التحديث بين الإصدارات ، ولكن بشكل عام ، يمكن التوصية بهذا المستودع.