
Penyimpanan cloud memungkinkan Anda untuk tidak hanya menyimpan data, tetapi juga menyediakan kolaborasi dengannya di NAS .
Kemungkinan solusi
Ada beberapa opsi untuk layanan cloud: NextCloud, Seafile, Pydio, dll ...
Beberapa dari mereka dipertimbangkan di bawah ini.
Implementasi layanan cloud.
Diimplementasikan dalam PHP / Javascript.
Kemampuan:
- Dimungkinkan untuk memperluas fungsionalitas dengan menginstal aplikasi dari repositori cloud.
- Ada integrasi dengan kantor Collabora dan OnlyOffice.
- Dimungkinkan untuk menggunakan repositori yang ada seperti FTP, Swift, S3, Dropbox, dll.,
berbagi data antara mereka dan cloud lokal. - Enkripsi pada klien.
- Kemampuan untuk menyediakan file kepada pengguna eksternal melalui email.
- Ada otomatisasi operasi dengan file (misalnya, tag menambahkan otomatis).
- LDAP
- Ada pemutar audio, koleksi musik, galeri plugin pembaca PDF.
- Integrasi dengan Zimbra.
- Ada kalender, daftar tugas, editor teks, dll.
- Antivirus dan perlindungan terhadap ransomware.
- Otentikasi dua faktor.
- Kemampuan untuk menyamar sebagai pengguna lain (untuk tujuan debugging).

Fork OwnCloud. Diimplementasikan dalam PHP / Javascript.
Kemampuan:
- Penyimpanan file menggunakan struktur direktori biasa, atau menggunakan WebDAV.
- Ada NextCloud Talk, yang memungkinkan untuk melakukan panggilan video dan konferensi video.
- Sinkronisasi antara klien yang menjalankan Windows (Windows XP, Vista, 7, dan 8), Mac OS X (10.6 dan yang lebih baru), atau Linux.
- Sinkronkan dengan perangkat seluler.
- Kalender (juga seperti CalDAV).
- Penjadwal Tugas.
- Buku Alamat (sama seperti CardDAV).
- Media streaming (digunakan oleh Ampache).
- Ini mendukung berbagai penyedia otorisasi: LDAP, OpenID, Shibboleth.
- Otorisasi dua faktor.
- Berbagi konten antar grup atau menggunakan URL publik. Menyesuaikan aturan.
- Editor teks online dengan highlight dan lipat sintaks. Dukungan untuk versi online dari editor LibreOffice diumumkan.
- Bookmark
- Mekanisme pemendekan URL.
- Galeri Foto
- Penampil PDF (menggunakan PDF.js)
- Integrasi dengan Collabora dan OnlyOffice.
- Modul logging.
- Kemampuan untuk membuat situs Web Anda sendiri (di PicoCMS).
- Integrasi dengan Outlook dan Thunderbird.
- Integrasi Pelanggan di Gnome.
- Kemampuan untuk menggunakan penyimpanan eksternal.
- Pencarian teks lengkap.
- Integrasi dengan antivirus.
Diimplementasikan dalam C #.
Kemampuan:
- Versi
- Enkripsi pada klien.
- Sinkronisasi transparan antara banyak pengguna: perubahan jarak jauh akan muncul di direktori lokal yang didedikasikan untuk SparkleShare.
Fitur:
- Menggunakan git sebagai backend.

Diimplementasikan dalam C / Javascript.
Kemampuan:
- File dapat diatur ke dalam perpustakaan yang dapat disinkronkan antara perangkat.
- Ada klien yang memungkinkan Anda membuat "disk" lokal, yang dipetakan ke cloud.
- Enkripsi bawaan. Semua file dienkripsi oleh klien dan disimpan di cloud dienkripsi.
- Dukungan perangkat seluler.
- Enkripsi HTTS / TLS.
- Ada LDAP.
- Hak fine tuning.
- File versi.
- Kemampuan untuk membuat snapshot direktori, yang kemudian dapat dikembalikan.
- Deduplikasi.
- Mendukung penguncian file.
- Mengedit file secara online.
- Antivirus.
- Hak fine tuning.
- Pencadangan berkala melalui rsync.
- WebDAV
- API SISA
- Kemampuan untuk berintegrasi dengan Collabora.
Fitur:
- Cepat dan tidak menuntut sumber daya.
- Itu dianggap dapat diandalkan.
- Menetapkan hak atas subdirektori hanya didukung dalam versi Pro berbayar.
- Integrasi dengan antivirus - hanya dalam versi Pro.
- Audit - hanya dalam versi Pro.
- Pencarian teks lengkap - hanya dalam versi Pro.
- Integrasi dengan S3 dan Ceph - hanya dalam versi Pro.
- Melihat secara online Doc / PPT / Excel - hanya dalam versi Pro.

Diimplementasikan dalam PHP / Javascript.
Kemampuan:
- Berbagi file tidak hanya antara pengguna, tetapi juga antara beberapa contoh Pydio.
- Enkripsi SSL / TLS.
- WebDAV
- Kemampuan untuk membuat banyak ruang kerja.
- Berbagi file dengan pengguna eksternal, dengan berbagi fine-tuning (misalnya, tautan langsung, kata sandi, dll.).
- Kantor Collabora terintegrasi.
- Pratinjau dan edit gambar.
- Ada pemutar audio dan video built-in.

Diimplementasikan dalam PHP / Javascript.
Kemampuan:
- Dimungkinkan untuk berbagi file, baik antara pengguna tertentu dan antara grup.
- Laporan lengkap tentang operasi file.
- Kemampuan bagi pengguna eksternal untuk mengunggah file (untuk tujuan berbagi, misalnya, menerapkan laporan bug).

Kemampuan:
- Menghemat ruang penyimpanan dan waktu unggah file dengan menduplikasi dan membuat perubahan pada file yang ada (alih-alih menimpa seluruh file).
- Sinkronisasi multi-platform yang dapat disesuaikan.
DropBox untuk sinkronisasi membuat folder khusus di mana perlu untuk menempatkan semua file yang disinkronkan. SpiderOak dapat bekerja dengan direktori apa pun. - Simpan semua versi historis file dan file yang dihapus
- Berbagi folder menggunakan apa yang disebut ShareRooms, yang menetapkan kata sandi.
File yang diperbarui pada komputer lokal secara otomatis diperbarui dalam repositori. Pengguna diberitahu tentang perubahan melalui RSS. - Terima file dari perangkat apa pun yang terhubung ke Internet.
- Enkripsi data lengkap berdasarkan prinsip "nol pengetahuan".
- Dukungan untuk jumlah perangkat yang tidak terbatas.
- Enkripsi data sisi klien.
- Otentikasi dua faktor.
Fitur:
Sistem kepemilikan tertutup.
Mengingat bahwa perangkat lunak ini dibayar dan ditutup sebagian, penggunaannya tidak termasuk.
Instal NextCloud
Awalnya, ada keinginan untuk menggunakan Seafile: bagian server diimplementasikan dalam C, efisien dan stabil. Tetapi ternyata versi gratisan tidak memiliki segalanya.
Karena itu, saya mencoba Nextcloud dan merasa puas. Ini menyediakan lebih banyak fitur dan sepenuhnya gratis.
Anda dapat melihat cara kerjanya dalam mode demo di sini .
Berikut adalah antarmuka umum antara penyimpanan cloud dan sistem:
/tank0/apps/cloud/nextcloud
- penyimpanan layanan cloud./tank0/apps/onlyoffice
- data kantor.https://cloud.NAS.cloudns.cc
- antarmuka layanan cloud WEB.
Karena Konfigurasi NextCloud cukup banyak dan terdiri dari beberapa file, saya tidak akan mencantumkannya di sini.
Semua yang Anda butuhkan dapat ditemukan di repositori di Github .
Konfigurasi untuk SeaFile juga tersedia di sana .
Pertama instal dan luncurkan NextCloud.
Untuk melakukan ini, salin konfigurasi ke /tank0/docker/services/nextcloud
dan jalankan:
# docker-compose up -d
Gambar baru berdasarkan Nextcloud 13.0.7 akan dibangun. Jika Anda ingin mengubah versi gambar dasar, lakukan di app/Dockerfile
. Saya menggunakan versi 15, tetapi perlu dicatat bahwa banyak plugin, seperti loader ocDownloader dan catatan, tidak berfungsi di dalamnya, dan saya belum mengembalikan fungsi OnlyOffice.
Saya tidak melihat adanya perbedaan kardinal atau peningkatan kinerja yang kuat.
Di bawah ini saya percaya bahwa Anda menggunakan versi 13+.
Selanjutnya, buka NextCloud dan pilih "Aplikasi" di menu di kanan atas, selesaikan pemasangan plug-in yang diperlukan.

Wajib:
- Pengguna dan kelompok backend LDAP - berpasangan dengan LDAP.
- Dukungan Penyimpanan Eksternal - dukungan untuk penyimpanan eksternal. Ini akan dibutuhkan lebih lanjut, dengan tujuan mengintegrasikan NextCloud dan berbagi file, serta memasangkan dengan penyimpanan cloud eksternal. Saya akan berbicara tentang menyiapkan penyimpanan eksternal di artikel lain.
- ocDownloader - pengunduh file. Memperluas fungsi cloud. Gambar Docker dibangun kembali secara khusus agar berfungsi.
- ONLYOFFICE - integrasi kantor. Tanpa aplikasi ini, file dokumen tidak akan terbuka di cloud.
- Enkripsi ujung ke ujung - Enkripsi ujung ke ujung pada klien. Jika beberapa pengguna menggunakan cloud, sebuah plugin diperlukan untuk memastikan keamanan file mereka.
Aplikasi yang Diinginkan:
- Pengaturan brute-force - perlindungan terhadap pemilihan kredensial. NextCloud sedang menjelajah Internet, jadi lebih baik untuk menginstal.
- Berpura - pura - memungkinkan administrator untuk masuk dengan pengguna lain. Berguna untuk debugging dan pemecahan masalah.
- Bicara - obrolan video.
- Kalender - berbicara sendiri, memungkinkan Anda menyimpan kalender di cloud.
- Kontrol Akses File - memungkinkan pengguna untuk membatasi akses ke file dan direktori berdasarkan tag dan aturan.
- Checksum - memungkinkan Anda untuk menghitung dan melihat checksum file.
- Situs eksternal - membuat tautan ke situs sewenang-wenang di panel di bagian atas.
Fitur wadah:
- Bootloader Aria2 diinstal.
- Bootloader Youtube-DL diinstal.
- Alat inotify yang dipasang.
- Batas memori yang ditingkatkan untuk PHP.
- Server web dikonfigurasi untuk bekerja lebih baik dengan LDAP.
Saya perhatikan bahwa jika Anda menginstal versi 13+, tetapi kemudian memutuskan untuk meningkatkan ke versi 15, Anda dapat melakukan ini dan lebih banyak lagi menggunakan utilitas occ .
LDAP
Mengkonfigurasi LDAP bukanlah hal sepele, karena saya akan memberi tahu Anda lebih banyak.
Pergi ke "Pengaturan-> Integrasi dengan LDAP / AD".
Tambahkan server 172.21.0.1 dengan port 389.
Login: cn=admin,dc=nas,dc=nas
.
NextCloud dapat mengelola pengguna di basis data LDAP dan untuk ini perlu administrator.

Tekan tombol "Periksa konfigurasi DN" dan, jika indikator verifikasi berwarna hijau, tombol "Selanjutnya".
Setiap pengguna memiliki atribut inetOrgPerson
dan merupakan anggota grup users_cloud
.
Filter akan terlihat seperti ini:
(&(|(objectclass=inetOrgPerson))(|(memberof=cn=users_cloud,ou=groups,dc=nas,dc=nas)))
Klik "Periksa database pengaturan dan hitung ulang pengguna", dan jika semuanya benar, jumlah pengguna harus ditampilkan. Klik Selanjutnya.
Pada halaman berikutnya, filter pengguna akan dikonfigurasikan oleh NextCloud yang akan mencarinya.
Saring:
๏ฟผ(&(objectclass=inetOrgPerson)(uid=%uid))
Pada halaman ini Anda harus memasukkan login seorang pengguna dan klik "Periksa Pengaturan".
Terakhir kali "Selanjutnya."
Kemudian klik "Advanced" dan periksa bahwa bidang "Group Tree Base" sama dengan bidang "User Tree Base" dan memiliki nilai dc=nas,dc=nas
.
Kembali ke grup dan centang kotak "Hanya kelas groupOfUniqueNames
ini" di sebelah groupOfUniqueNames
.
Filter terakhir di sini adalah ini:
(&(|(objectclass=groupOfUniqueNames)))
Bidang "Hanya dari grup ini" saya tidak menetapkan, karena Saya ingin melihat semua pengguna di antarmuka NextCloud, dan mereka yang bukan users_cloud
grup users_cloud
oleh filter pada tahap sebelumnya.
Hanya kantor

OnlyOffice adalah paket perkantoran lintas platform yang sangat baik yang mendukung dokumen MS Office. Ini gratis dan terbuka, serta LibreOffice dan juga dapat berfungsi sebagai server.
Tetapi pada saat yang sama, dukungan untuk format asli diimplementasikan jauh lebih baik, hampir seperti di kantor asli dari MS, itu lebih stabil, memiliki antarmuka yang lebih bijaksana.
Itu juga terintegrasi keluar dari kotak dengan NextCloud .
Omong-omong, ada versi Desktop dari OnlyOffice, termasuk untuk Linux. Secara umum, setelah tersiksa dengan Collabora yang berat dan tidak stabil (ini LibreOffice), saya memilih OnlyOffice dan sejauh ini saya cukup puas.
Konfigurasi OnlyOffice tersedia di Github dan di bawahnya, di bawah spoiler.
Github juga memiliki konfigurasi untuk 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
Saya akan menjelaskan beberapa poin:
- Anda perlu mengubah <JWT_SECRET_TOKEN> ke milik Anda, serta NAS atas nama zona DNS Anda.
- HTTPS tidak perlu dimasukkan di sini, karena meskipun kantor terlihat dari luar, pertukaran dengannya adalah melalui proxy terbalik, yang bekerja dengan pengguna secara eksklusif melalui HTTPS. Inilah bagaimana arsitektur NAS dibangun.
Sekarang Anda perlu menaikkan kantor:
docker-compose up -d
Dan, jika semuanya berfungsi, halaman berikut akan ada di office.NAS.cloudns.cc:

Kemudian, dalam pengaturan NextCloud, Anda harus memilih item "Administrasi-> ONLYOFFICE" dan masukkan alamat server dokumen di dua bidang pertama: https://office.NAS.cloudns.cc/
dan token JWT Anda.
Di bidang ketiga, masukkan alamat cloud.
Dimungkinkan untuk membuat token JWT, misalnya di sini .
Jika server dikonfigurasi dengan benar, item tambahan untuk dokumen kantor akan muncul di menu pembuatan dokumen cloud, dan file .docx
akan terbuka di kantor.
Kesimpulan
Penyimpanan cloud adalah tautan utama untuk interaksi pengguna antara mereka dan layanan lainnya.
Dalam peran ini, NextCloud sangat nyaman dan memiliki fungsionalitas yang luas.
Ini memiliki proses pembaruan antar versi, tetapi secara umum, repositori ini dapat direkomendasikan.