NextCloud – что это, возможности и настройка персонального облака

Что такое персональное облако NextCloud

Тирекс
Тирекс Самый зубастый автор
18 мая 2023

В статье рассмотрим особенности и основные функции облачной платформы NextCloud, а также коснемся некоторых моментов, связанных с установкой и безопасным использованием сервиса.

Изображение записи

NextCloud (или NC) — это ПО с открытым исходным кодом, которое позволяет организовать собственное облачное хранилище и контролировать хранение данных. Наиболее функциональной является веб-версия NextCloud, однако десктопные и мобильные приложения также предоставляют немало возможностей.

Окно регистрации в сервисе.
Окно аутентификации. Источник 

Возможности облака NextCloud: общий доступ и управление версиями

Среди основных возможностей облачной платформы — управление версиями файлов и предоставление общего доступа к ним. Также NextCloud — это кроссплатформенное ПО, которое поддерживает ряд функций планировщика.

Расскажем о них подробнее.

Управление версиями файлов. Система контроля версий дает возможность пользователю откатить файл до любой нужной версии. Также поддерживается автоматическое удаление старых версий файлов в соответствии с заданным пользователем шаблоном.

Общий доступ к файлам. Доступ предоставляется через веб-ссылку: создается URL, который, в зависимости от настроек, может быть доступен как зарегистрированным, так и не зарегистрированным пользователям NC.

Функции планировщика. Сюда относятся календарь, блок контактов, заметки, а также задачи. Синхронизация функций обеспечивается за счет расширений: для календарей это WebCAL, для контактов и задач – DAVDroid, а для заметок – NextCloud Notes. Добавим, что календарь дает возможность отображения задач и событий для разных групп пользователей, также можно импортировать календарь из других систем (например, из iOS через функцию Import Calendar в NC). Остальные функции выглядят вполне стандартно, но все вместе представляют достаточно удобное решение для планирования.

Кроссплатформенность. Все приложения и расширения NC одинаково стабильно работают из-под любой операционной системы, а удобное управление облачным хранилищем выполняется при помощи веб-интерфейса.

NextCloud — кроссплатформенное приложение. Доступно как с десктопа, так и с мобильного телефона.
Приложение доступно как с десктопа, так и с мобильного телефона. Источник: GitHub

Особенности установки и настройки приложения NextCloud

Для установки NextCloud вам понадобится физический или виртуальный сервер с установленной операционной системой из семейства Linux (например, Ubuntu, Debian, CentOS) — их можно арендовать у хостинг-провайдера. Также не забудьте, чтобы на сервере был установлен PHP с нужными зависимостями (NC написан на PHP).

Разработчики ПО предлагают уже готовые решения: 

  • уже настроенный сервер NC; но такая услуга обойдется дороже, чем самостоятельная установка, 
  • ограниченный бесплатный вариант (demo NextCloud) с 8 ГБ свободного пространства, доступный после регистрации учетной записи на платформе. 

Теперь рассмотрим некоторые моменты, связанные с установкой и запуском сервиса.

Установка SSL-сертификата от Let’s Encrypt. Если вы планируете хранить в облаке ценные или конфиденциальные данные, утечка которых нежелательна, потребуется установить SSL-сертификат. Для этого понадобится домен или IP-адрес (может предоставить облачный провайдер), который будет перенаправлять трафик на ваш сервер NC с установленным сертификатом. Далее необходимо зайти на сервер по SSH (из-под Windows это можно сделать с помощью интеграции дополнительного софта: PuTTY, Puttygen или Pageant). После у вас появится возможность установить там сертификат и секретный ключ. Также можно использовать простые инструкции Let’s Encrypt Certbot. При этом через него можно настроить автоматическое обновление сертификатов Let’s Encrypt с нужной периодичностью.

Настройка веб-сервера. Для этого можно использовать Apache, но, если планируются серьезные нагрузки на облако, лучше всего подойдет Nginx. Проще всего поставить Nginx через панель управления Webinoly, в которую он уже «вшит».

Распаковка NextCloud. Для этого через Webinoly создается директория для NC и конфигурационные файлы. Здесь поможет следующая инструкция в sudo: site url/ip -mysql=default, где вместо url/ip нужно поставить доменное имя сайта или цифровой адрес соответственно). Далее нужно будет придумать и пару логин/пароль. После установки SSL-сертификата (если это необходимо) скачивается и распаковывается архив NC. Разумеется, можно и просто скачать архив с NextCloud и распаковать его в нужную директорию (по умолчанию это обычно /var/www).

Кэширование. Для кэширования лучше всего использовать Redis – быструю и экономичную нереляционную СУБД. Если вы работаете в Windows и NC у вас периодически зависает, то в конфигурационном файле Redis обратите внимание на строку bulkupload.enabled и поменяйте ее значение с true на false.

Перенос каталога. Это понадобится для того, чтобы пользователи не смогли получить доступ к файлам путем перебора URL. Для этого можно отредактировать файл Nginx или переименовать и перенести каталог data на более высокий уровень, не забыв отредактировать путь в файле config.php (строка datadirectory).

Создание директории для файлов. Это делается с помощью кнопки + в панели управления NC. После нажатия появится меню, где нужно выбрать пункт Folder (папка).

MySQL. Базы данных также могут без проблем храниться в облачном хранилище NC. Но для работы с ними нужно установить на сервере MySQL (либо другую СУБД для работы с реляционными базами данных: PostgreSQL, MariaDB и т.п.). В панели управления Webinoly уже установлена СУБД MariaDB, которая довольно удобна и проста в освоении.

Простота использования

Как видим, настройка NextCloud может потребовать времени и некоторых специальных знаний, однако уже настроенный NC очень прост в размещении и использовании.

Для корпоративного использования NextCloud будет эффективнее интегрировать ПО с с офисным пакетом — например, ONLYOFFICE. Это также сервис с открытым исходным кодом. 

Десктопное приложение

Файлы, помещенные в каталог NextСloud, доступны с любых устройств за счет синхронизации. Вы можете загрузить что-то с мобильного приложения, а после работать с файлами на десктопе — и наоборот. При этом можно выбрать, какие именно каталоги нужно синхронизировать. 

Также перед загрузкой больших файлов можно настроить запрос подтверждения — так ли вам нужно загружать эти данные (пороговое значение можно установить самостоятельно). Для Windows также доступна функция расшаривания из меню, вызываемого правой кнопкой мыши.

Интерфейс персонального облака NextCloud.
Интерфейс NextCloud. Источник

Мобильное приложение

Есть полная поддержка Android и iOS, причем пользователи Android-устройств могут скачать NC и не через сервис Google. Из минусов мобильного приложения отметим отсутствие синхронизации по умолчанию, однако все можно настроить вручную, указав нужные директории.

Веб-интерфейс

Функции NextCloud в веб-интерфейсе целиком зависят от установленных приложений: напомним, что это может быть календарь, интерфейс для контактов и задач, заметки. Также пользователь с правами администратора может кастомизировать платформу как угодно, устанавливая и настраивая нужные расширения.

Сценарии использования облачного хранилища NextCloud

Существует три основных сценария работы с облаком NextCloud:

  • Совместная работа с файлами. После установки расширения Collabora Online в NextCloud можно организовать совместную работу с файлами в различных форматах (документы, таблицы, презентации). Без установки этого инструмента доступно редактирование только файлов в текстовом формате.
  • Потоковая передача мультимедиа-файлов. Серверных функций платформы достаточно для обеспечения потокового вещания. Также в приложении есть встроенный медиаплеер, а воспроизводить видеофайлы позволяют веб- и мобильная версии NextCloud.
  • Автоматический импорт фотографий. Вы можете выгружать целые папки с изображениями со своего мобильного устройства и таким образом очищать память телефона.

Защита и конфиденциальность персонального облака

Вопросы безопасности уже частично были затронуты выше, когда мы писали о SSL-сертификатах. Теперь рассмотрим моменты, связанные с конфиденциальностью, и чуть подробнее остановимся на алгоритмах шифрования и защите при помощи 2FA.

Юрисдикция. NextCloud — продукт немецких разработчиков, но это неважно с точки зрения безопасности, поскольку NC — ПО с открытым исходным кодом. Однако при работе с платформой важно учитывать местное законодательство. В России это в первую очередь 152-ФЗ «О персональных данных», который регулирует обработку личных данных пользователей, включая cookie. 

Если ваш проект подразумевает сбор, хранение и/или обработку персональных данных, то ПО должно отвечать требованиям российских законодательных актов. Проблема заключается в том, что NextCloud не входит в Единый реестр российских программ, что существенно ограничивает его использование в проектах, связанных с обработкой персональных данных.

Политика конфиденциальности. Компания-разработчик собирает статистику о пользователях NC, однако в обезличенном виде. Кроме того, данные никуда не отправляется. Тем не менее, если вы используете расширения, созданные другими разработчиками, необходимо ознакомиться с их политикой конфиденциальности.

Шифрование. По умолчанию все данные защищены при помощи протокола TLS, который использует HTTPS. Также возможно и шифрование на стороне сервера по протоколу AES-256, однако ключи шифрования хранятся совместно с данными в экземпляре NC и даже в оперативной памяти сервера. Это облегчает доступ к ключам в случае целенаправленных хакерских атак.

Кроме того, NC не шифрует имена файлов и дерево каталога. Поэтому при хранении конфиденциальных данных и для обеспечения законодательных требований нужно использовать полное шифрование в облаке и алгоритмы сквозного шифрования. Последнее есть и в NC, однако его нужно включать отдельно. Более подробно с возможностями сквозного шифрования в NC можно ознакомиться на сайте разработчиков. Добавим, что в NC не используется шифрование в браузере типа E2EE, что хорошо, так как эта технология уязвима.

2FA. Двухфакторная аутентификация подразумевает использование различных приложений для создания одноразовых паролей (типа TOTP или Yubikey). При этом платформа обеспечивает легкую и гибкую настройку 2FA. Для этого, например, можно поставить расширение Two Factor TOTP Provider, которое поддерживает Google Authenticator и FreeOTP.

Возможности бесплатной версии NextCloud

Версия NextCloud free, которую получает пользователь после регистрации на сайте, предлагает полный функционал. Но в ней есть ограничение на пространство диска. Тем не менее сама программа полностью бесплатна, и вы можете развернуть NC, если у вас есть сервер с установленным необходимым программным обеспечением. Готовый выделенный сервер по выгодной цене вы можете найти в Selectel.

Заключение

NextCloud — не самое простое в установке, но весьма функциональное программное решение. Способ развернуть собственное облачное хранилище фактически где угодно. А имеющиеся бесплатные расширения позволят вам кастомизировать сервис, добавив нужные функции.