Создать свое облако linux

/4te.me

Из-за очередного приступа параноии, я решил сменить Google Drive на собственное решение и хранить свои файлики поближе к телу. Выбор был между: поднимать в каком-нибудь DigitalOcean виртуалку и хранить там, или собрать дома свое хардварное решение. Подсчитав сколько будет стоить виртуалка с нужным объемом диска, выбор был сделан в пользу домашнего NAS-сервера.

Выбор

У меня было примерно 100 ГБ данных на момент съезда из Google Drive. Виртуалка в DigitalOcean на 160ГБ стоит 40$ в месяц, то есть в год будет выходить

500$. Дорого. За эти деньги можно дома собрать NAS на терабайт с SSD дисками. Есть ещё вариант брать маленькую виртуалку, и к нему подключить S3 хранилище, но софт, который я планировал использовать, не умеет работать с S3.

Итак, вариант с виртуалкой в облаке я отмёл и пошел смотреть, что нынче есть на рынке домашних NAS серверов. Так как я живу в маленькой квартире, NAS я планировал ставить в жилой комнате, и, если он будет шуметь вентиляторами и вибрировать HDD-дисками, то житья в комнате не будет. Поэтому я хотел найти NAS с пассивным охлаждением и вставить туда SSD диски. Не самое дешевое решение, но за тишину приходится платить.

Как выяснилось, на рынке практически нет NAS с пассивным охлаждением. Почему так я не понимаю, по опыту использования — максимальная температура дисков за год использования у меня была 47.0 C (наверно когда я переносил все данные), в покое — 36.0 C, крышка NAS-а чуть теплая. 90% времени диски простаивают и зачем им вентилятор я не понимаю.

Вот модели с пассивным охлаждением которые я смог найти — QNAP HS-210 , QNAP HS-251 , QNAP HS-251+ (он же QNAP S2 ), QNAP HS-453 . У всех моделей обычный x64-процессор, не ARM. Получается маленькая такая desktop-тачка с местом для двух HDD.

  • HS-210 — 512 МБ ОЗУ мало.
  • HS-251 — 1ГБ ОЗУ мало
  • HS-251+ — 2ГБ ОЗУ норм
  • HS-453 — 4 или 8 ГБ ОЗУ. Ultimate решение, но не продается в России и стоит космос.

У Synology бесшумных решений я не нашел. Собирать системник тоже не хотелось — он не получится таким же маленьким и бесшумным как QNAP. В общем выбрал золотую середину — QNAP HS-251+ (QNAP S2).

Из дисков я выбрал WD BLUE 3D NAND SATA SSD 1 TB (WDS100T2B0A). Взял две штуки. Они без проблем заходят в NAS. Итого вышло:

Не самое дешевое решение для NAS, но самое дешевое из подходящих под требования. Кроме этого, чтобы создать свое облако потребуется статический “белый” IP-адрес дома. Чтобы подключаться из интернета к домашнему серверу. Обычно такая услуга есть у любого провайдера.

Программная часть

После покупки и установки самого NAS-а, решил попробовать использовать софт от самого QNAP. Стоит сказать, что он очень разнообразный — полностью заменяет публичные облака и даже умеет запускать виртуальные машины. Из себя он представляет некую ОС (на основе Debian, кажется), с веб-интерфейсом а-ля iPad и проприетарными приложениями.

Читайте также:  Что такое домашняя директория linux

К сожалению все работает довольно медленно, да и менять один проприетарный продукт на другой, внутренний параноик мне не позволил, поэтому я установил на NAS обыкновенный чистый Linux.

Так как это обычный x86_64 ПК, я записал на флешку свежий дистрибутив, зашел в BIOS и загрузился с нее:

В этом NAS-е есть постоянная память размером 512 МБ куда установлена дефолтная прошивка. Ее я не перезаписывал (при желании можно будет вернуться на нее), и поставил Ubuntu 18.04 на software RAID, собранный из двух установленных дисков. На каждом диске создается по партиции одинакового размера, и они объединяются в RAID1. На одном диске также раздел для загузчика и /boot:

Домашнее облако

Для замены Google Drive (Яндекс.Диск, Dropbox и тд.) я выбрал Seafile — https://www.seafile.com/en/home/

Выбор был между ним и Nextcloud/ownCloud, но после тестовых установок выбрал Seafile. До 3-х пользователей можно использовать Enterprise версию — её и взял. В ней есть поиск по файлам и еще несколько полезных функций, вот здесь есть сравнение бесплатной и enterprise версий. Разворачивал с помощью Docker — очень просто и быстро, на сайте есть подробный мануал

У Seafile есть веб-интерфейс, desktop-приложение для всех ОС и мобильный клиент.

Nextcloud/ownCloud гораздо богаче по функционалу и хранят файлы в открытом виде, то есть их можно интегрировать в другие серверные приложения, но жуткие тормоза при аплоаде файлов и на веб-интерфейсе делают их неработопригодными.

Seafile тоже не идеален, всё что он умеет — просто хранить файлы. Особенности использования:

    хранит данные в бинарных файлах. То есть их нельзя просматривать на диске. Получаем высокую скорость при доступе к данным, но теряем в гибкости. Вот так выглядят данные на ФС:

есть приложение для Android/iOS. Довольно скромное, но заливать фотки с телефона и просматривать файлы умеет.

Домашний NAS и медиа-плеер

Так как в NAS-е есть HDMI выход, я его подключил к телевизору и сделал из него медиа-плеер. В комплекте также есть пульт ДУ:

С помощью очень классной программы Kodi (https://kodi.tv/) можно полностью заменить smartTV, онлайн-кинотеатр и приставку для проигрывания IPTV. Он устанавливается на linux и на экран выводит свой интерфейс. Навигация пультом ДУ или приложением Kore. С пультом были проблемы, не заводился из коробки, пришлось немного потанцевать с бубном.

Вот так выглядит интерфейс Kodi на телевизоре:

Как я использую Kodi:

  • плеер фильмов, которые лежат на NAS-диске
  • плеер IPTV вместо MAG-250. Умеет показывать multicast-потоки
  • проигрыватель YouTube (приложение не очень удобное, но юзабельное)
  • в поездках с помощью приложения Kodi для Android подключаюсь к своему NAS и смотрю с него фильмы. Получается такой self-hosted онлайн-кинотеатр
  • для скачивания новых фильмов на NAS установил Transmission + web-интерфейс

Также на NAS поставил FTP и Samba, чтобы подключаться с девайсов в локальной сети и NFS для монтирования сетевого диска.

Такой схемой я пользуюсь около года и вот какие выводы сделал:

  • приложения Яндекс.Диск/Google Photo удобнее и быстрее. Да, opensource-аналоги не дают такого удобства использования — то тут, то там встречаются мелкие косяки (например в android-приложении seafile фотки при просмотре скачиваются полностью, т.е. не превью сжатое, а фото если весит 5МБ — оно все полетит на телефон, это медленно и занимает место на телефоне; хотя в веб-морде есть превьюхи). Ну и поиск в Гугл.фото по содержанию фотографий (когда в поиске вводишь “горы”, и он показывает все фотографии гор из вашей библиотеки) — это вообще киллер фича, такого в бесплатные аналоги не знаю когда завезут.
  • скорость загрузки файлов в Seafile гораздо выше, чем в публичные облака
  • смотреть фильмы теперь супер удобно. Особенно в поездках. 4G есть практически везде в России, и теперь не надо закачивать кучу фильмов на телефон — смотрю онлайн, подключаясь с телефона к домашнему серверу. В случае отсутствия связи, например в поезде, подключаюсь по FTP и скачиваю перед отправлением.
  • Kodi — супер комбайн, но хотелось бы научиться стримить телевизионный сигнал на телефон, чтобы смотреть ТВ не из дома. Этого еще не понял как сделать.
  • чтобы все это настроить пришлось покурить мануалы и подзаморочиться с установкой и наладкой.
Читайте также:  Intel ssd toolbox linux

Хочу ли я вернуться в публичные облака (Google Drive, Яндекс.Диск)? Нет, не хочу. На мой взгляд, плюсов в такой схеме все же больше, чем минусов. А внутренний параноик теперь спит сладким сном.

Источник

Облако в Ubuntu своими руками

В этой статье не будет долгой и порой скучной теории о том, что такое OpenStack, зачем его использовать Мы сразу приступим к самому интересному — к установке OpenStack в Ubuntu 16.04.

Прежде, чем приступить сразу отметим цель этого руководства — установка OpenStack на личные компьютеры или облачные виртуальные машины. Мы не будем строить , а просто покажем процесс установки OpenStack в Ubuntu.

Устанавливать OpenStack можно, как на физический компьютер, например, на личный ноутбук или на виртуальную машину в облаке. Мы будем использовать собственные виртуальные машины.

Как минимум, понадобится машина с двумя процессорами, 4 Гб «оперативки», доступом к Интернету, а также доступными извне портами 22 и 80. Для установки OpenStack мы будем использовать DevStack, который предоставляет набор инструментов для установки основных сервисов OpenStack из исходников, необходимых для разработки и тестирования. Так вот, DevStack поддерживает Ubuntu 16.04/17.04, Fedora 24/25, CentOS 7, а также некоторые версии Debian и OpenSUSE. Если у вас нет особых предпочтений, то наиболее тщательно тестировалась работа DevStack на Ubuntu 16.04, именно поэтому данная версия и выбрана в качестве целевой (хотя уже доступна 18.04).

Конфигурация нашей виртуальной машины будет превышать минимальные системные требования — 4 процессора, 8 Гб памяти:

Конфигурация виртуальной машины

Сразу нужно заметить, что машина, на которую будет установлен DevStack, должна быть выделенной для него и только для него. Никаких других функций машина выполнять не должна. Желательно выполнять установку DevStack на чистую машину, на которую не устанавливалось другое ПО.

  1. Добавляем пользователя для DevStack

После создания виртуальной машины войдите на нее по ssh. Первым делом нам нужно создать пользователя и предоставить ему права sudo. Сделаем это:

sudo useradd -s /bin/bash -d /opt/stack -m stack
echo «stack ALL=(ALL) NOPASSWD: ALL» | sudo tee /etc/sudoers.d/stack

Первая команда создает пользователя с именем stack. Вторая – предоставляет ему sudo-права.

В результате вы должны увидеть вывод:

stack ALL=(ALL) NOPASSWD: ALL

Пользователь stack создан

Войдите под пользователем stack и загрузите DevStack:

Данная команда клонировала релиз Pike. При желании вы можете загрузить более свежие релизы Rocky или Queens. Список релизов доступен по адресу https://releases.openstack.org/.

После клонирования сразу перейдите в каталог devstack:

Читайте также:  Приложения для очистки mac os

Источник

NextCloud: Создаем свое облачное хранилище

NextCloud – больше чем облачное хранилище

NextCloud – веб-платформа, позволяющая создать свое собственное облачное хранилище.

Набор функций NextCloud часто сравнивают с функциональностью таких облачных файловых хостингов как Dropbox, OneDrive и т.д. Но на самом деле, NextCloud предлагает гораздо большую функциональность. В своем хранилище NextCloud вы можете создать не только файловый хостинг, но и закрытое сообщество в котором можно совершать аудио/видео звонки (NextCloud Talk), переписываться, создавать рабочие задачи и совместно работать (по типу Trello).

Расширение функциональности легко достигается с помощью добавления приложений из магазина приложений apps.nextcloud.com.

Для управления облачным хранилищем доступны настольные (для Windows, macOS и Linux) и мобильные приложения (для Android и iOS):

Содержание

Установка NextCloud с помощью snap-пакета

NextCloud доступен в магазине snap-пакетов snapcraft, поэтому процесс установки будет максимально простым.

В качестве серверной системы мы использовали Ubuntu 20.04.

Обновим систему и включим поддержку snap-пакетов:

Установка пакета snap NextCloud:

Проверяем установку пакета:

Посмотреть сетевые интерфейсы пакета:

Посмотреть список служб пакета:

Настройка учетной записи NextCloud

Создание учетной записи Администратора:

Вместо «имя» вводим имя администратора учетной записи и вместо слова «пароль» вводим непосредственно придуманный пароль для учетной записи.

По умолчанию NextCloud работает только с внутренним доменом localhost, проверить можно командой:

Поэтому мы зададим доменное имя или IP-адрес сервера:

Вместо example.com указываем свой домен или IP-адрес. Для добавления еще одного домена нужно изменить индекс на 1. Пример:

Проверяем доверенные домены:

В настройках DNS (А-запись) учетной записи регистратора доменного имени не забудьте добавить IP-адрес сервера.

Шифрование домена NextCloud с помощью сертификата SSL от Let’s Encrypt

Для нашего домена добавим бесплатный SSL сертификат от Let’s Encrypt.

Если вы пользуетесь ufw в качестве настройки системного фаервола, то сначала откройте порты 80 и 443:

sudo nextcloud.enable-https lets-encrypt

В ходе установки сертификата нужно будет указать свою электронную почту и указать доменное имя.

После установки сертификата откройте доменное имя или IP-адрес в браузере.

Интерфейс NextCloud по умолчанию.

Дополнительные настройки NextCloud

Если вам потребуется доступ к консоли mysql, то сначала нужно узнать название базы. Сделать это можно следующей командой:

Отобразить список баз:

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

Список команд и приложений доступен по ссылке: nextcloud-snap.

В NextCloud доступно огромное количество приложений для расширения функциональности.

Отдельно хочу выделить следующие приложения (кстати, устанавливаются они легко через веб-интерфейс):

  • Auto Groups – автоматическое добавление пользователей в группы.
  • Checksum – вычисление хеш-сумм файлов (md5, sha1, sha256, sha384, sha512 и crc32).
  • Music – удобный аудио плеер.
  • Group folders – расшаривание папок для групп со стороны администратора.
  • News – приложение для чтения новостей с помощью формата RSS/Atom.
  • ONLYOFFICE – офисное приложение для создания и редактирования документов. Созданные документы автоматически сохраняются в облаке.
  • Registration – добавление опции регистрации на главной странице.
  • Social login – регистрация с помощью соц.сетей.
  • Social – чат.
  • Talk – видео и аудио звонки, создание комнат для обсуждения. Для мобильных устройств доступно отдельное приложение.

NextCloud – это однозначно интересное решение, которое подойдет не только для создания личного облачного хранилища, но и в качестве создания облачного хранилища для сообществ, ведения обсуждений и совершения звонков внутри сообщества.

Источник

Оцените статью