Создаем личное облако на 3 Тб

0:00, 19 мая 2020
Без рубрики 'Создаем личное облако на 3 Тб
0 29 мин.

Установка ownCloud для Debian

Буду иметь ввиду что Вы заказали или имеете свой выделенный  сервер, VDS или VPS  в зависимости от того сколько нужно будет места (объем ХДД) для ваших данных. В качестве ОС я выбираю именно Debian Ubuntu, однако можете установить и на другие ОС.

Устанавливаем веб сервер Apache с поддержкой  PHP и MySQL

Самый простой способ для этого — это использовать LAMP, который можно установить:

 

# apt-get install lamp-server%%%%%

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

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

 

# apt-get install smbclient curl libcurl3 php5-gd php-xml-parser php5-intl php5-curl

Сейчас мы немного настроим веб сервер Apache.

Первое что мы сделаем — это подключим модули mod_rewrite и mod_headers в апач:

 
 

# a2enmod rewrite
# a2enmod headers

Сейчас открываем файл с настройками веб-сервера апач в  вашем любимом текстовом редакторе  ( я предпочитаю использовать vim, но вы можете и открыть, например, nano)  и внесем небольшие изменение:

 

# vim /etc/apache2/sites-available/default

Находим в этом файлу секцию , тут нужно разрешить обработку .htaccess внутри директории /var/www, по этому изменим параметр AllowOverride с None на All, должно выглядеть следующим образом:

 
 
 
 
 
 

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

После этого сохраняем данный файл и перезагружаем сервер Apache:

 

# service apache2 restart

Нужно теперь настроить MySQL.

Подключаемся к серверу MySQL и создадим новую базу данных для нашего облачного сервиса (вам нужен будет  пароль, который вы задавали при установки MySQL):

 
 
 
 
 
 

# mysql -uroot -p
 
mysql>CREATE DATABASE owncloud;
mysql>GRANT ALL ON owncloud.*TO’owncloud’@’localhost’IDENTIFIED BY’your_pass_for_BD’;
mysql>FLUSH PRIVILEGES;
mysql>QUIT;

Все настройки сделали и теперь можно приступать к установке самого сервера ownCloud. Для этого перейдем в директорию, скачаем архив с  ownCloud и после чего распакуем его, это делается следующими командами:

 
 

# cd /var/www
# wget -O — http://download.owncloud.org/community/owncloud-latest.tar.bz2 | tar -xjf —

Выставляем права на папку, чтобы некто кроме нас не заходил в нее и не повредил что либо:

 

# chown -R www-data:www-data owncloud

Если не выставить права, то получите следующее сообщение об ошибке:Cannot create «data» directory (/var/www/owncloud/data)This can usually be fixed by giving the webserver write access to the root directory.

На этом и завершена установка и настройка нашего облачка. Теперь что делаем дальше, нужно перейти в браузер и открыть ссылку:http://your_IP_or_domain/owncloud/

Вводим логин и пароль для администратора вашего  облачного хранилища  owncloud и вводим параметры доступа к БД. Нажимаем по настройкам БД «Mysql/MariaDB» и прописываем все настройки ( имя пользователя, его пароль и имя БД), после чего нажимаем «Завершаем установку».

Можно скачать ПО для телефонов на ОС android, iOS и для десктопных компьютеров на ОС — Windows, Mac OS, Linux.

На этом я завершаю свою статью «Свое облачное хранилище ownCloud для Debian/Ubuntu/Mint», надеюсь все понятно было и полезно.

Выбор

У меня было примерно 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% времени диски простаивают и зачем им вентилятор я не понимаю.

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

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

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

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

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

Предварительная подготовка

Накатываем Linux

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

У меня как раз такой случай.

Установить DVD-Rom от старенького ноутбука HP не удалось — разъемы не совпадают. Искать донора или аналогичный привод не было желания.

Решение было следующим. Я достал 2,5» винт Mac mini, установил его в ноутбук на базе Windows. Загрузил дистрибутив Linux Debian (можно сделать это вот здесь), развернул образ на флешку и установил на HDD от Mac mini.

Потом HDD с уже накатанной Linux поставил обратно в Mac mini, включил и все заработало.

Linux неприхотлива к железу. Wi-Fi, Ethernet, графика — все заработало после первого запуска.

Все, теперь у Mac mini есть работающая операционка и можно приступать к дальнейшей настройке.

Покупаем «белый» IP

Без этого никак. Вам понадобится так называемый «белый» IP-адрес. То есть такой айпишник, который будет закреплен конкретно за вашим роутером.

Чтобы его получить, звоним провайдеру и просим активировать «белый статический IP-адрес». Обычно стоимость месяца такого IP не более 100 – 150 рублей.

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

Время активации зависит от провайдера. У меня был белый IP уже через 30 минут после звонка провайдеру.

Пробрасываем порты

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

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

Указываете домашний IP-адрес. На него поступает запрос, а дальше он должен связаться с вашим домашним сервером, «постучав» на конкретный сетевой порт.

Данная настройка зависит конкретно от вашей модели роутера. Логичнее будет почитать про проброс портов конкретно на ваш роутер отдельно. У меня этот пункт настроек выглядит так:

Я просто активировал DMZ (доступ к общедоступным сервисами) и прописал IP-адрес Mac mini в локальной сети.

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

Шаг 2. Распаковка NextCloud

NC написан на мегапопулярном языке программирования PHP, каких-то экзотических настроек не требует.

Поэтому сначала создаём каталог и конфигурацию сайта. В Webinoly выполняется командой

Webinoly создаст необходимую площадку для запуска сайта и услужливо покажет имя базы данных и логин с паролем к ней. Запишите их.

Затем, если купили домен и внесли в настройки DNS домена запись типа A с ip-адресом сервера, можно подключить сертификат для шифрования по протоколу HTTPS:

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

READ  Как сварить натуральное мыло дома

Если всё прошло успешно, появится надпись «SSL have been successfully enabled for site ***!». В противном случае будет указана ошибка, из-за чего не удалось получить сертификат Let’s Encrypt.

Затем нужно скачать и распаковать архив с файлами NextCloud.

Так как я создал каталог через Webinoly, у меня это /var/www/имя_сайта/htdocs. Перехожу в него в консоли, подключившись к серверу по SSH из-под учётной записи с правами root:

После качаю архив утилитой wget (если её нет, ставить так: ).

Распаковываю архив:

Так как всё распаковалось в подкаталог /nextcloud, нужно переместить содержимое в корневой каталог сайта. Если этого не сделать, будут проблемы с получением сертификата SSL (особенность конфига Webinoly). Заодно можно удалить бесполезный теперь архив.

Требуется назначить правильные права на файлы и каталоги и указать их владельца. Обычно всё запущено от имени www-data.

Затем нужно отредактировать файлы конфигурации сервера Nginx. Параметры по умолчанию не позволят Nextcloud нормально функционировать.

Вместо редактора nano может быть vi, mcedit или что-то ещё. Путь тоже может отличаться. Рекомендую установить Midnight Commander для удобной навигации по каталогам ().

Дефолтное содержимое конфигурации сайта будет примерно таким:

Нужно заменить на такой:

«АДРЕС_САЙТА» замените на свой домен или IP

Также обратите внимание на блок обработки *.php (который со множеством fastcgi_param) — у вас строка «fastcgi_pass» будет другой, если используется не Webinoly

Кстати, с моей конфигурацией Nginx в адресах NextCloud не будет подставляться «index.php», структура url станет «чистой». В конфиге из официальной документации почему-то не учли этот момент.

Затем выполните команды установки главного пользователя с правами администратора. Имя, логин и пароль для доступа к базе Webinoly сообщал при создании сайта.

Финальный штрих — установка задачи в Cron сервера, чтобы команды обслуживания запускались по расписанию. Редактирование запускается командой . Добавьте строку:

Напоминаю, что путь к файлу cron.php будет другой, как и пользователь www-data.

Теперь можно зайти в облако Nextcloud через браузер, чтобы проверить работоспособность.

Диск в Nextcloud

И заодно включите в настройках — «Основные настройки» Cron вместо AJAX.

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

А можно пойти дальше и расширить возможности.

Use OwnCloud to Manage Bookmarks

One advantage of incorporating your web habits into ownCloud is that your information can be persistent among multiple devices and locations.

A good example of this is the ability to store your bookmarks in ownCloud. You can then access them from any computer.

To enable bookmarks, click on your username in the upper-right corner, and then click “Apps”:

Here, you can enable modules, or “apps” to extend the functionality of your ownCloud.

Find the “Bookmarks” selection in the menu and the click the “Enable” button:

A button called “Bookmarks” will be added to the left-hand navigation bar. Click it.

Now drag the button from the center of the page and place it in the bookmarks bar of your browser.

Now, you have a button in your browser that says “Read later”. On any page you wish to book mark, click that button to create a bookmark within ownCloud.

A pre-populated bookmark will open up and you can edit it with tagging information.

Anything you save will be available within your Bookmarks tab:

Установим ownCloud

cd /var/www/
wget https://download.owncloud.org/community/owncloud-8.2.2.tar.bz2
tar -xvf owncloud-8.2.2.tar.bz2

Переименовываем папку /var/www/owncloud в cloud.by. Устанавливаем права:

sudo chown -R www-data:www-data /var/www/cloud.by/

Еще пока не все. Включаем mod_headers

a2enmod headers

В файл хоста /etc/apache2/sites-available/cloud.by.conf после DocumentRoot /var/www/cloud.by вставляем

Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"

Сохраняем и выполним

sudo a2ensite cloud.by.conf

Перезагружаем

service apache2 restart

Придумаем логин и пароль для админа.
Нажимаем «Хранилище и база данных», и выбираем MySQL/MariaDB, заполняем

Жмем «Завершить установку» и вот оно

Если надо, скачиваем себе клиентов для винды или андроида и т.д.

Осталось проверить наш сервер. Справа вверху клацаем по своему логину и заходим в Администрирование. Вверху получем сообщение

Опыт использования

Впервые я обратил внимание на Nextcloud в июне 2016 года, когда немецкий разработчик Фрэнк Карлитшек ушёл из основанной им компании ownCloud Inc и представил общественности Nextcloud — форк продукта, над которым работал ранее. Чтобы понять, почему он так поступил, я установил ownCloud и Nextcloud параллельно, сравнил их возможности и… снёс

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

Чтобы понять, почему он так поступил, я установил ownCloud и Nextcloud параллельно, сравнил их возможности и… снёс. Пользоваться ими было решительно невозможно. Они тормозили и глючили. Это странно, учитывая их нацеленность на энтерпрайз — компаниям стабильность нужна как воздух. С тех пор оба продукта развиваются параллельно, но вроде как в Nextcloud больше возможностей, разработчики открытого софта сконцентрировались на нём.

Сейчас (в 2018 году) Nextcloud работает почти стабильно. Главная проблема — маленькие (до мегабайта) файлы. Когда таковых в одном каталоге соберётся больше нескольких сотен, сервер начнёт тормозить. А если ещё кто-нибудь загрузит битую картинку, то из-за этого засранца сервер начнёт стабильно «падать», потому что Nextcloud будет пытаться раз за разом безуспешно генерировать иконку превью.

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

Предварительные требования

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

  • Пользователь sudo и брандмауэр на вашем сервере. Вы можете создать пользователя с привилегиями и настроить базовый брандмауэр в соответствии с указаниями руководства Начальная настройка сервера Ubuntu 18.04.
  • Стек LAMP. Для работы ownCloud требуются веб-сервер, база данных и PHP. Установка на сервер стека LAMP (Linux, Apache, MySQL и PHP) позволяет удовлетворить все эти требования. Воспользуйтесь этим руководством для установки и настройки данного программного обеспечения.
  • Сертификат SSL. Настройка сертификата зависит от того, присвоено ли вашему серверу доменное имя.

    • Если у вас есть доменное имя…, самым простым способом защиты вашего сайта будет использование Let’s Encrypt, который предоставляет бесплатные доверенные сертификаты. Воспользуйтесь нашим Руководством по Let’s Encrypt для Apache для выполнения настройки.
    • Если у вас нет домена… и вы просто используете данную конфигурацию для тестирования или в личных целях, вы можете использовать самоподписанный сертификат. Данный способ обеспечивает аналогичный тип шифрования, но без подтверждения домена. Следуйте указаниям руководства по настройке самоподписанного сертификата SSL для Apache, чтобы выполнить настройку.

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

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

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

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

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

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

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

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

READ  Когда санузел лучше совместить, а когда

Step 2 – MySQL Database Configuration

To get started, log into MySQL with the administrative account:

Enter the password you set for the MySQL root user when you installed the database server.

ownCloud requires a separate database for storing administrative data. While you can call this database whatever you prefer, we decided on the name to keep things simple.

Note: Every MySQL statement must end with a semi-colon (;). Be sure to check that this is present if you are experiencing an issue.

Next, create a separate MySQL user account that will interact with the newly created database. Creating one-function databases and accounts is a good idea from a management and security standpoint. As with the naming of the database, choose a username that you prefer. We elected to go with the name in this guide.

Warning: Be sure to put an actual password where the command states:

With the user assigned access to the database, perform the flush-privileges operation to ensure that the running instance of MySQL knows about the recent privilege assignment:

This concludes the configuration of MySQL, therefore we will quit the session by typing:

With the ownCloud server installed and the database set up, we are ready to turn our attention to configuring the ownCloud application.

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

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

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

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

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

Установка и настройка веб-сервера

PHP

Установка на CentOS 7 и 8 немного происходит по-разному. Рассмотрим оба варианта в отдельности.

а) На CentOS 7:

В репозитории CentOS 7 находится PHP версии 5.4. Для Owncloud требуется более новая версия php. Для этого установим репозиторий REMI.

Сначала устанавливаем репозиторий EPEL:

yum install epel-release

… и после — REMI:

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Устанавливаем PHP, PHP-FPM и необходимые для работы owncloud модули:

yum —enablerepo=remi-php72 install php php-fpm php-pdo php-zip php-dom php-intl php-gd php-mysqli php-mbstring php-json php-process

б) На CentOS 8:

В репозитории CentOS 8 есть требуемая версия пакета php. Просто вводим команду:

dnf install php php-fpm php-pdo php-zip php-dom php-intl php-gd php-mysqli php-mbstring php-json php-process

PHP-FPM

Сам пакет php-fpm мы установили на предыдущем шаге. Поэтому на данном этапе необходимо его настроить.

Открываем конфигурационный файл:

vi /etc/php-fpm.d/www.conf

Находим опции listen и listen.owner. Задаем им значения:

listen = /run/php-fpm/www.sock

listen.owner = nginx

Разрешаем автозапуск php-fpm и запускаем его:

systemctl enable php-fpm —now

NGINX

Owncloud можно развернуть на NGINX или Apache. В данной инструкции будем использовать первый.

Устанавливаем веб-сервер:

yum install nginx

* подробнее процесс установки описан в инструкции Установка NGINX на CentOS.

Новые версии owncloud работают по https — для правильной работы протокола создаем виртуальный домен и настраиваем его для работы с облачным сервисом в NGINX:

vi /etc/nginx/conf.d/owncloud.dmosk.ru.conf

server {
        listen 80;
        server_name owncloud.dmosk.ru;
        return 301 https://$server_name$request_uri;
}
server {
        listen 443 ssl;
        server_name owncloud.dmosk.ru;
        ssl_certificate /etc/nginx/ssl/cert.pem;
        ssl_certificate_key /etc/nginx/ssl/cert.key;
        root /var/www/owncloud;
        add_header Strict-Transport-Security «max-age=31536000; includeSubDomains» always;
        client_max_body_size 10G;
        fastcgi_buffers 64 4K;
        rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
        rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
        rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
        index index.php;
        error_page 403 = /core/templates/403.php;
        error_page 404 = /core/templates/404.php;
        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }
        location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
                deny all;
        }
        location / {
                rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
                rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
                rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
                rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
                rewrite ^(/core/doc/+/)$ $1/index.html;
                try_files $uri $uri/ index.php;
        }
        location ~ ^(.+?\.php)(/.*)?$ {
                try_files $1 = 404;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$1;
                fastcgi_param PATH_INFO $2;
                fastcgi_param HTTPS on;
                fastcgi_pass unix:/run/php-fpm/www.sock;
        }
        location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
                expires modified +30d;
                access_log off;
        }
}

* где dmosk.ru — домен, на котором будет работать сервис; owncloud.dmosk.ru — имя сервера, на котором будет работать owncloud; /etc/nginx/ssl — каталог, в котором будут храниться сертификаты; /var/www/owncloud — каталог с порталом.

Создаем каталог для хранения сертификатов и переходим в него:

mkdir /etc/nginx/ssl

cd /etc/nginx/ssl

Генерируем сертификат:

openssl req -new -x509 -days 1461 -nodes -out cert.pem -keyout cert.key -subj «/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=owncloud.dmosk.ru/CN=owncloud»

* данная команда создаст сертификат на 4 года для URL owncloud.dmosk.ru или owncloud.
* в данном примере мы, всего лишь, создали самоподписанный сертификат, который не будет приниматься браузером и нужно будет пропускать предупреждение. Данный метод подходит для тестирования, а для продуктивной среды стоит купить сертификат или получить его бесплатно от Let’s Encrypt.

Проверяем конфигурацию nginx, разрешаем его автозапуск и перезапускаем сервис:

nginx -t

systemctl enable nginx —now

Домашний 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 — супер комбайн, но хотелось бы научиться стримить телевизионный сигнал на телефон, чтобы смотреть ТВ не из дома. Этого еще не понял как сделать.
  • чтобы все это настроить пришлось покурить мануалы и подзаморочиться с установкой и наладкой.

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

Сценарии использования

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

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

READ  Сколько розеток должно быть в каждой комнате

Хранилище Nextcloud можно подключить как сетевой диск

Лайфхак: можно расширить объём места, отводимого под хранение файлов, любым облачным сервисом, поддерживающим протокол WebDAV. При желании можно всё зашифровать через EncFS, чтобы данные были в безопасности.

У Nextcloud есть клиенты для Windows и Linux, но до удобства использования Яндекс.Диска и Дропбокса им далеко. Работать с файлами можно, каталоги синхронизируются с локальными, но в целом проще подключить сетевой диск, ведь место на жёстком диске ПК не резиновое.

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

Увы, в NextCloud нет редактора документов, как в Гугл Диске, но можно связать с Onlyoffice — мощной системой, включающей в себя полноценный облачный офис с CRM, почтовым сервером и прочими фишками. Вариант подходит для крупных организаций с высокими требования к безопасности, не приветствующих сторонние сервисы.

Без расширений в Nextcloud можно редактировать только текстовые документы

Для качестве замены Evernote в каталоге Nextcloud доступно аж четыре приложения:

  • Carnet — хранилище заметок, похож на Google Keep.
  • Deck — планировщик задач, аналог Трелло.
  • Notes — простой сервис текстовых заметок.
  • Tasks — составление списков задач.

На момент написания этой заметки пользуюсь только двумя последними, самыми простыми.

Carnet неплох — поддерживает форматирование текста, добавление графики, но для меня эти функции избыточны.

Заметки Carnet

Менеджер задач Deck возможностями похож на известный сервис Trello. Интеграция с группами пользователей сделана хорошо, можно планировать работу команд людей, назначая группам задачи.

Сервис планирования задач Deck

Приложения ведения дел и заметок Notes и Tasks, по моему мнению, дополняют друг друга: один для ведения текстовых заметок, второй для составления «ту-ду» списков, в которых каждый пункт можно отмечать галочкой. Просто и эффективно.

3. Синхронизация контактов и ежедневника. На телефонах с Android можно заменить сервисы от Google на синхронизацию через NextCloud. Пока поддерживается хранение адресной книги и событий в календаре.

В календаре можно хранить список дел и важных дат (у меня пустой, так как не пользуюсь)

С помощью NC можно создать миниатюрную цифровую экосистему для членов семьи или сотрудников организации.

  • Tutorial

    Автор выбрал COVID-19 Relief Fund для получения пожертвования в рамках программы Write for DOnations. [BGP (таблица пограничного межсетевого…

  • Tutorial

    Автор выбрал фонд Организации Объединенных Наций для получения пожертвования в рамках программы Write for DOnations. *Оригинальная [версия…

  • Tutorial

    Автор выбрал фонд Open Internet/Free Speech для получения пожертвования в рамках программы Write for DOnations. Хороший системный администратор должен знать текущее состояние…

  • Tutorial
    Установка Jitsi Meet в Ubuntu 18.04

    Автор выбрал фонд Open Internet/Free Speech для получения пожертвования в рамках программы Write for DOnations. Jitsi Meet — приложение с открытым…

Install OwnCloud

The version of ownCloud available in Ubuntu 12.04’s default repositories is out of date by now. We will get the latest stable version that is built using openSUSE’s amazing build services.

We will first download the release key associated with the ownCloud software:

Now add the key to apt so that it can validate the files:

Add the ownCloud repositories in the openSUSE build service to apt’s source lists by typing:

Finally, update the package database and install ownCloud and MySQL:

You will be asked to set a root password for the MySQL database admin user during installation.

MySQL Configuration

We will be configuring our ownCloud server to take advantage of the more robust MySQL database instead of the SQLite default implementation. To do so, we must configure MySQL first.

Type the following commands to initialize the database and secure the system:

You will have to enter the administration password you selected during the MySQL installation. You will then be prompted for security settings. Press “Enter” to select yes for all of the settings except the first (about changing the root password again).

Now, sign into MySQL as the root user by typing:

Again, you will be prompted for the MySQL administration password.

Create a database with this command:

Create and assign privileges to a new MySQL user to handle database operations for ownCloud:

GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'select_database_password';

Exit MySQL by typing:

Final Configuration

Now, if you go to your IP address or domain name followed by “/owncloud” in your browser, you will see a page that looks like this:

You can fix these errors by installing an additional package. We’ll also install the PHP curl library for later:

Now, reload your page and you should be give a page that will ask you to create an administrative user:

Before doing so, click on the “advanced” button. Select “MySQL” from the available options. Enter the information you configured in the last step:

Create a user and password. You will be signed in and presented with a welcome message:

Click the “X” in the corner to get to the main interface:

Here, you can create or upload files to your personal cloud.

Step 3 – ownCloud Configuration

To access the ownCloud web interface, open a web browser and navigate to the following address:

If a self-signed certificate is being used, you will likely be presented with a warning because the certificate is not signed by one of your browser’s trusted authorities. This is expected and normal. We are only interested in the encryption aspect of the certificate, not the third-party validation of our host’s authenticity. Click the appropriate button or link to proceed to the ownCloud admin page.

You should see something like this:

Create an admin account by choosing a username and a password. For security purposes it is not recommended to use something like “admin” for the username.

Before clicking the Finish setup button, click on the Storage & database link:

Leave the Data folder setting as-is and click the MySQL/MariaDB button in the Configure the database section.

Enter the database information that you configured in the previous step. Below is an example, which matches the database credentials that we used in this guide:

Click the Finish setup button to sign into ownCloud. A safe home for all your data splash screen should appear:

Click the x in the top-right corner of the splash screen to access the main interface:

Here, you can create or upload files to your personal cloud.

Подготовка системы

Синхронизируем время.

Устанавливаем утилиту chrony:

yum install chrony

Запускаем ее службу:

systemctl enable chronyd —now

Выставляем нужный часовой пояс:

\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

* в данном примере московское время.

Настройка брандмауэра.

Выполняется следующими командами:

firewall-cmd —permanent —add-service=http

firewall-cmd —permanent —add-service=https

firewall-cmd —reload

Отключение SELinux.

Для отключения SELinux вводим две команды:

setenforce 0

sed -i «s/SELINUX=enforcing/SELINUX=disabled/» /etc/selinux/config

* первая команда отключает SELinux до перезагрузки, вторая — навсегда.
* подробнее об отключении SELinux. Подробнее о настройке SELinux.

Настройка сервера баз данных

В качестве СУБД используем MariaDB.

Устанавливаем:

yum install mariadb-server

Разрешаем автозапуск и стартуем сервис:

systemctl enable mariadb —now

Задаем пароль для суперпользователя mysql:

mysqladmin -u root password

Подключаемся к MariaDB, создаем базу данных и пользователя:

mysql -uroot -p

> CREATE DATABASE owncloud DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

> GRANT ALL PRIVILEGES ON owncloud.* TO [email protected] IDENTIFIED BY ‘owncloud’;

> \q

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

Настраиваем домен

Копируем файл для домена cloud.by

sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/cloud.by.conf

Откываем файл /etc/apache2/sites-available/cloud.by.conf

Удаляем 2 строки

ServerAdmin [email protected]
DocumentRoot /var/www/html

И вмеесто них вставляем это:

ServerAdmin [email protected]
ServerName cloud.by
DocumentRoot /var/www/cloud.by

Если у вас есть сертификаты для этого домена прописывайте из вместо наших.

SSLCertificateFile /etc/ssl/certs/2_cloud.obs.by.crt
SSLCertificateKeyFile /etc/ssl/private/cloud.obs.by.key

Сохраняем.

Оцените статью
Понравилась статья?
Комментарии (0)
Комментариев нет, будьте первым кто его оставит
Добавить комментарий
Ваш e-mail не будет опубликован. Обязательные поля помечены *