Личное облачное хранилище своими руками

Облако бесплатно. Как создать дома помойку файлов и пользоваться везде

Apple давно свернула подразделение и прекратила выпуск AirPort и Time Capsule. Довольно полезные девайсы еще распродаются в магазинах электроники, но с каждым годом они лишь устаревают.

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

Самый доступный вариант

У большинства из вас уже есть роутер с USB-разъемом. Если он поддерживает подключение внешнего накопителя (иногда USB выделяют для перепрошивки или настройки принт-сервера), то половина системы уже готова.

Некоторые маршрутизаторы придется перепрошить для создания сетевого файлового хранилища. Подробно о таких манипуляциях мы уже рассказывали.

Останется лишь найти емкий внешний накопитель, флешку или даже обычный жесткий диск с «карманом» для подключения по USB.

Общая схема настройки следующая:

1. Форматируем внешний диск или флешку в APFS (Apple File System), Mac OS Extended (HFS+) для систем старее macOS High Sierra либо exFAT. С NTFS заморачиваться не советуем, получите нестабильную работу и низкую скорость передачи данных из macOS.

2. Берем роутер с поддержкой внешних накопителей и подключаем к нему отформатированный диск. Маршрутизатор может не поддерживать APFS или HFS+ разделы. Иногда это решается при помощи прошивки, а иногда придется использовать файловую систему exFAT.

3. Подключаем сетевой диск к macOS.

4. Перенастраиваем место сохранения резервных копий в настройках Mac или через терминальную утилиту.

Преимущества:

  • система самая доступная среди аналогов;
  • все необходимое для сборки есть у большинства пользователей (роутер и флешка);

Недостатки:

  • система довольно требовательна к маршрутизатору, подойдут далеко не все роутеры;
  • у такого сетевого диска не будет практически никаких параметров, управлять им придется через корявое ПО роутера или вовсе через командную строку;
  • настроить диск для доступа через глобальную сеть получится не всегда;
  • организовать RAID-массив для большей надежности будет крайне сложно.

Самый простой вариант

Чтобы не заморачиваться с настройками роутера, не настраивать всевозможные сервисы и службы, можно приобрести так называемый NAS (Network Attached Storage).

Домашнее сетевое хранилище имеет множество возможностей, одна из которых – быстрый и удобный бекап Time Machine.

Большинство современных NAS прямо из коробки поддерживают такую возможность, нужно лишь активировать соответствующую опцию.

Общая схема настройки выглядит следующим образом:

1. Настраиваем NAS для работы в домашней сети.

2. Подключаемся к хранилищу через приложение или веб-интерфейс.

3. Выделяем часть накопителя для хранения резервных копий Time Machine.

4. Форматируем раздел или весь накопитель в подходящую файловую систему.

5. Подключаем сетевой диск в macOS.

6. Перенастраиваем сохранение резервных копий в Time Machine на созданный сетевой диск.

Минимум телодвижений – максимум эффективности, нужно лишь заплатить.

Преимущества:

  • готовая система работает из коробки с минимумом настроек;
  • кроме возможности создавать копии в Time Machine можно организовать собственное облако;
  • нет необходимости в дополнительном ПО;
  • система не зависит от маршрутизатора, позволяя использовать любой роутер и менять его при необходимости;
  • многие модели NAS позволяют организовать RAID-массив для большей надежности хранения бекапов.

Недостатки:

  • NAS система будет стоить дороже роутера с накопителем.

Система обладает и другим недостатком вроде увеличенной нагрузки на сеть. Однако, в домашних условиях это не так критично, как в небольшом офисе. Кроме того, любой аналог в виде системы роутер+флешка будет обладать аналогичным недостатком.

Самый облачный вариант

Есть возможность и вовсе хранить бекапы в облаке. Так надежность системы возрастает многократно, ведь сервера Dropbox, Яндекс.Диск или Облака Mail.ru имеют больше степеней защиты данных, чем NAS.

Другое дело, что простого и изящного решения для переноса бекапов в сторонние облака нет, придется пользоваться так называемыми костылями.

Читайте также:  Объемные картины своими руками с детьми

Нам нужно сохранить бекап на накопитель или даже на отдельный раздел компьютера, а потом сгрузить его в облако.

При использовании внешнего диска его придется постоянно подключать к компьютеру для обновления бекапа, а при хранении копии на Mac, под неё потребуется дополнительное пространство.

Тут каждый выберет более удобный вариант самостоятельно. Есть большой HDD – оставляем копию на Mac, есть объемная флешка или внешний диск – подключаем их регулярно для создания копий.

Общий алгоритм настройки выглядит так:

1. Определяемся с местом хранения резервной копии и настраиваем Time Machine.

2. Выбираем подходящий облачный сервис и устанавливаем его клиент на Mac.

3. Настраиваем синхронизацию с облаком для раздела (папки) с хранящимися резервными копиями.

Теперь все созданные бекапы будут улетать в облако.

Для тех, кто переживает за сохранность данных в сторонних сервисах, предлагаем настроить свое облако и действовать по приведенному выше алгоритму.

Преимущества:

  • для работы системы не потребуется дополнительное оборудование;
  • можно гибко менять одно облако на другое, установив соответствующий клиент на Mac;
  • бекапы будут доступны из любой точки с подключением к интернету;
  • при потере локального бекапа всегда останется облачный.

Недостатки:

  • потребуется регулярно подключать внешний накопитель или выделять место на внутреннем;
  • при отсутствии локального бекапа для доступа к облачному потребуется немало времени;
  • в большинстве облачных сервисов придется приобретать дополнительное пространство.

Вот так можно сделать подходящий аналог Time Capsule и хранить резервные копии в доступном и удобном для использования месте.

Источник

Персональное облако

Облачное хранилище позволяет не только хранить данные, но и обеспечивать совместную работу с ними в NAS.

Возможные решения

Существует несколько вариантов облачных сервисов: NextCloud, Seafile, Pydio и т.д…
Ниже рассмотрена часть из них.

OwnCloud

Реализован на PHP/Javascript.

  • Возможно расширять функционал, устанавливая приложения из репозитория облака.
  • Есть интеграция с офисом Collabora и OnlyOffice.
  • Возможно использовать существующие хранилища, такие как FTP, Swift, S3, Dropbox и т.п.,
    распределяя данные между ними и локальным облаком.
  • Шифрование на клиенте.
  • Возможность предоставлять файлы внешним пользователям по e-mail.
  • Есть автоматизация операций с файлами (например, автоматическое добавление тэгов).
  • LDAP.
  • Есть аудио плеер, музыкальная коллекция, галерея плагин чтения PDF.
  • Интеграция с Zimbra.
  • Есть календари, списки задач, текстовые редакторы и т.п.
  • Антивирус и защита от ransomware.
  • Двуфакторная аутентификация.
  • Возможность имперсонации под другого пользователя (с целью отладки).

NextCloud

Форк OwnCloud. Реализован на PHP/Javascript.

  • Хранение файлов с использованием обычных структур каталогов, или с использованием 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.
  • Модуль логирования.
  • Возможность создания свои Web-сайтов (на PicoCMS).
  • Интеграция с Outlook и Thunderbird.
  • Интеграция клиента в Gnome.
  • Возможность использовать внешнее хранилище.
  • Полнотекстовый поиск.
  • Интеграция с антивирусом.

SparkleShare

Реализован на C#.

  • Версионирование.
  • Шифрование на клиенте.
  • Прозрачная синхронизация между несколькими пользователями: удалённые изменения появятся в локальном каталоге, выделенном для SparkleShare.

Seafile

Реализован на C/Javascript.

  • Файлы могут быть организованы в библиотеки, которые могут быть синхронизированы между устройствами.
  • Есть клиент, позволяющий создать локальный «диск», отображённый на облако.
  • Встроенное шифрование. Все файлы шифруются клиентом и хранятся в облаке зашифрованными.
  • Поддержка мобильных устройств.
  • HTTS/TLS шифрование.
  • Есть LDAP.
  • Тонкая настройка прав.
  • Версионирование файлов.
  • Возможность создания снимка каталога, к которому потом возможно вернуться.
  • Дедупликация.
  • Поддержка блокировки файлов.
  • Совместное редактирование файлов онлайн.
  • Антивирус.
  • Тонкая настройка прав.
  • Периодический бэкап через rsync.
  • WebDAV.
  • REST API.
  • Возможность интеграции с Collabora.
Читайте также:  Кормушка с бункером кроликам своими руками

  • Быстрый и нетребовательный к ресурсам.
  • Считается надёжным.
  • Установка прав на подкаталоги поддерживается только в платной Pro версии.
  • Интеграция с антивирусом — только в Pro версии.
  • Аудит — только в Pro версии.
  • Полнотекстовый поиск — только в Pro версии.
  • Интеграция с S3 и Ceph — только в Pro версии.
  • Онлайн просмотр Doc/PPT/Excel — только в Pro версии.

Pydio

Реализован на PHP/Javascript.

  • Обмен файлами не только между пользователями, но и между несколькими экземплярами Pydio.
  • SSL/TLS шифрование.
  • WebDAV.
  • Возможность создать несколько рабочих пространств.
  • Обмен файлами с внешними пользователями, с тонкой настройкой обмена (например, прямые ссылки, пароль и т.п.).
  • Встроен офис Collabora.
  • Предосмотр и редактирование изображений.
  • Есть встроенный аудио и видео проигрыватель.

ProjectSend

Реализован на PHP/Javascript.

  • Возможно расшаривать файлы, как между конкретными пользователями, так и между группами.
  • Полный отчёт по операциям с файлами.
  • Возможность внешним пользователям загружать файлы (с целью обмена, например прикладывать баг-репорты).

SpiderOak

  • Экономия места в хранилище и времени выгрузки файлов за счёт дедупликации и внесения изменений в уже имеющиеся файлы (вместо перезаписи файлов целиком).
  • Настраиваемая мультиплатформенная синхронизация.
    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 и выполнить:

Будет собран новый образ на основе Nextcloud 13.0.7. Если вы хотите изменить версию базового образа, сделайте это в app/Dockerfile . Я использую версию 15, но стоит заметить, что в ней не работают многие плагины, такие как загрузчик ocDownloader и заметки, а также я ещё не восстановил работоспособность OnlyOffice.

Кардинальных отличий или сильного улучшения производительности я не заметил.

Ниже я считаю, что вы используете версию 13+.

Далее, зайдите в NextCloud и выбрав в меню справа вверху «Приложения», выполните установку необходимых плагинов.

  • LDAP user and group backend — сопряжение с LDAP.
  • External Storage Support — поддержка внешних хранилищ. Нужна будет далее, с целью интеграции NextCloud и общих файлов, а также сопряжения с внешними облачными хранилищами. Про настройку внешних хранилищ я расскажу в другой статье.
  • ocDownloader — загрузчик файлов. Расширяет функциональность облака. Docker образ специально пересобран так, чтобы он работал.
  • ONLYOFFICE — интеграция с офисом. Без этого приложения, файлы документов не будут открываться в облаке.
  • End-to-End Encryption — сквозное шифрование на клиенте. Если облако используют несколько пользователей, плагин необходим, чтобы удобно обеспечить безопасность их файлов.
Читайте также:  Опорные столбы для лестницы своими руками

  • Brute-force settings — защита от подбора учётных данных. NextCloud смотрит в Интернет, потому лучше установить.
  • Impersonate — позволяет администратору заходить под другими пользователями. Полезно для отладки и устранения проблем.
  • Talk — видеочат.
  • Calendar — говорит сам за себя, позволяет вести календари в облаке.
  • File Access Control — позволяет запрещать доступ к файлам и каталогам пользователям на основе тэгов и правил.
  • Checksum — позволяет вычислять и просматривать контрольные суммы файлов.
  • External sites — создаёт ссылки на произвольные сайты на панельке вверху.

  • Установлен загрузчик Aria2.
  • Установлен загрузчик Youtube-DL.
  • Установлены inotify-tools.
  • Увеличены лимиты памяти для PHP.
  • Web-сервер настроен под лучшую работу с LDAP.

Замечу, что если вы установите версию 13+, но потом решите обновиться на версию 15, это и многое другое вы сможете сделать с помощью утилиты occ.

Настройка LDAP не тривиальна, потому я расскажу подробнее.

Зайдите в «Настройки->Интеграция с LDAP/AD».
Добавьте сервер 172.21.0.1 с портом 389.
Логин: cn=admin,dc=nas,dc=nas .
NextCloud может управлять пользователями в базе LDAP и для этого ему потребуется администратор.

Нажимайте кнопку «Проверить конфигурацию DN» и, если индикатор проверки зелёный, кнопку «Далее».

Каждый пользователь имеет атрибут inetOrgPerson и состоит в группе users_cloud .

Фильтр будет выглядеть так:

Нажимайте «Проверить базу настроек и пересчитать пользователей», и если всё корректно, должно быть выведено количество пользователей. Нажимайте «Далее».

На следующей странице будет настроен фильтр пользователей, по которому NextCloud их будет искать.

На этой странице надо ввести логин какого-либо пользователя и нажать «Проверить настройки».
Последний раз «Далее».

Тут нажмите «Дополнительно» и проверьте, что поле «База дерева групп» равно полю «База дерева пользователей» и имеет значение dc=nas,dc=nas .

Вернитесь в группы и установите в поле «Только эти классы объектов» галочку напротив groupOfUniqueNames .

Итоговый фильтр здесь такой:

Поле «Только из этих групп» я не устанавливал, т.к. хочу увидеть в интерфейсе NextCloud всех пользователей, а те кто не входит в группу users_cloud , отсеиваются фильтром на предыдущем этапе.

OnlyOffice

OnlyOffice — это прекрасный кроссплатформенный офисный пакет, который поддерживает работу с документами MS Office. Он бесплатный и открытый, также как и LibreOffice и также способен работать, как сервер.

Но при этом, поддержка оригинального формата у него реализована гораздо лучше, почти как в оригинальном офисе от MS, он более стабилен, имеет более продуманный интерфейс.

Кстати, есть и Desktop версия OnlyOffice, в том числе под Linux. В общем, намучавшись с тяжёлой и нестабильной Collabora (это LibreOffice), я выбрал OnlyOffice и пока вполне доволен.

Конфигурация OnlyOffice доступна на Github и ниже, под спойлером.

Поясню некоторые моменты:

  • Вам надо изменить на свой, также как и NAS на имя своей DNS зоны.
  • HTTPS здесь не требуется включать, потому что хотя офис и виден снаружи, обмен с ним идёт через обратный прокси, который работает с пользователем исключительно по HTTPS. Так построена архитектура NAS.

Теперь надо поднять офис:

И, если всё работает, по адресу office.NAS.cloudns.cc будет следующая страница:

Затем, в настройках NextCloud требуется выбрать Пункт «Администрирование->ONLYOFFICE» и прописать в первых двух полях адрес сервера документов: https://office.NAS.cloudns.cc/ и ваш JWT token.

В третьем поле надо прописать адрес облака.

JWT токен возможно сгенерировать, например здесь.

Если сервер настроен правильно, в меню создания документов облака появятся дополнительные пункты для офисных документов, а .docx файлы будут открывать в офисе.

Выводы

Облачное хранилище является центральным звеном для взаимодействия пользователей между собой и другими сервисами.

В этой роли NextCloud весьма удобен и обладает широким функционалом.

У него есть свои в процессе обновления между версиями, но в целом, это хранилище возможно рекомендовать.

Источник

Оцените статью
Своими руками