Пожалуй можно начать небольшой цикл статей о RasрberryPi. О том что такое RasрberryPi вы можете почитать в моей статье. В данной статье мы рассмотрим как с помощью малинки сделать свое собственное облачное хранилище.
В целом облачные сервисы сейчас очень популярны. Они избавляют от необходимости носить с собой флешки, жесткие диски и т.п. Все ваши файлы доступны вам при наличии интернета и смартфона\ноутбука\ПК. Хранящиеся там файлы и папки можно сделать доступными и для других, причем в различных конфигурациях: скачать, редактировать, только просмотреть и тд. Некоторые сервисы плотно интегрируются с другими, например, DropBox и MS Office.
Все это хорошо, но сервисы хотят не только приносить пользу людям, но и зарабатывать деньги. В целом у все сервисы зарабатывают примерно по одной схеме: вы бесплатно можете использовать некоторое дисковое пространство, вас ограничивают в скачке файлов (если файл скачивается очень часто). Если у вас была платная подписка и вы ее не продлили, о через какое-то время часть ваших файлов может потеряться.
Если вам не хочется платить подписку за какой-либо сервис, или же вы не хотите хранить свои файлы на чужих серверах, или, например, вы хотите сделать домашнее облако для своих домочадцев, то это легко можно седлать с помощью RasberryPi и Nextcloud.
Честно сказать, что использование RasberryPi не обязательно, вы можете взять любой ПК с возможностью установить туда Linux, но использование малинки очень удобно. Она компактна, она не издает звуков (вентиляторов охлаждения, например) и вполне подходит для выполнения данной задачи.
Nextcloud
Изначально проект Nextcloud начинался с проекта ownCloud, который, в свою очередь, был инициирован разработчиками KDE (одно из популярных графических окружений под Linux) с целью создания платформы для развертывания Dropbox-подобного хранилища данных на своих мощностях. Проект оказался настолько успешным, что сначала вышел из под патронажа KDE, а затем перешел под крыло компании, названной в свою же честь – ownCloud, Inc. К сожалению, ключевые разработчики ownCloud не смогли договориться со своими инвесторами, что стало причиной форка под названием Nextcloud.
Написан Nextcloud на PHP и JS. Это значить что для его работы нам необходим классический веб-сервер и СУБД.
Nextcloud имеет веб-интерфейс, а так же клиентские приложения под Android, iOS, Windows, macOS, Linux. На момент написания статьи оба приложения является бесплатными для скачки.
Установка Nextcloud
Чтобы развернуть Nextcloud нам понадобится:
- RasрberryPi
- Дистрибутив Nextcloud Ubuntu от Appliance for Raspberry Pi. Или UbuntuServer (В конце установки можно установить все необходимые пакеты для NextCloud). Или исходные файлы с официального сайта
- Карта памяти MicroSD
- Маршрутизатор
- Переносной жесткий диск (или подобное устройство хранения, которое можно подключить по USB) - опционально
- Статичный IP адрес (если вы хотите чтобы ваше облако умело работать в интернет) - желательно что бы не париться с DDNS
- Доменное имя с SSL (опять же для комфортного использования в интернет) - желательно
В зависимости от того, что вы вобрали в пункте 2 процесс установки может отличаться. В первом случае вам просто необходимо залить дистрибутив на SD карту и запустить малинку, во втором случае залить дистрибутив, установить LinuxSever и в конце установки выбрать дополнительно скачать все необходимы пакеты для Nextcloud. В третьем случае (в целом надо сначала поднять на малинке веб-сервер) вы можете или на сайте Nextcloud вы можете скачать исходные файлы и развернуть самостоятельно, или скачать там же автоматический скрипт установки.
Сама установка ничего сложного в себе не несет, кроме того что для окончания установки вам нужно зайти на ip адрес малинки на порт 8001. IP адрес можно узнать в маршрутизаторе, например.
В моем случае это был адрес 192.168.1.5:8001. Вам нужно придумать логин и пароль администратора и после этого вы увидите свое облако.
На этом процесс установки можно завершить.
Для того что бы ваше облако было доступно в интернет вам нужно:
- при отсутствии статичного IP придётся использовать DDNS. Настройка DDNS зависит от вашего роутера, так как относительно новые руотеры умеют DDNS из коробки.
Конфигурация Nextcloud
Поскольку данная система многопользовательская, вам необходимо (если это необходимо) разграничить права пользователей. В Nextcloud присутствует удобная система разграничений пользователей по группам. Для групп пользователей вы можете ограничивать квоту использования дискового пространства. Ну и самостоятельно создавать пользователей и определять их в группы.
Итого
поднять облако у себя дома - задача вполне выполнимая. Установка Nextcloud (особенно готового дистрибутива) делается очень легко. остальные типы установки предполагают наличие небольшого умения администрировать Linux. Для настройки доступа к облаку через инертен дополнительно нужно понимания маршрутизации и настройки веб сервера.
Официальная документация NextCloud (на английском языке)
Admin manual
User manual