Программа nextcloud для чего

Содержание

Персональное облако Nextcloud: что это такое, настройка

Что такое NextCloud

Флешки понемногу отживают своё. Проще делиться файлом через Яндекс.Диск или Дропбокс, чем скидывать на флешку и куда-то нести. Благо даже в глухомани можно словить 2G, интернет доступен везде.

Чем же отличается Nextcloud от остальных коллег по цеху? Тем, что это личная облачная флешка. Вы арендуете сервер для себя, ставите эту софтину и пользуетесь в своё удовольствие.

Если вопрос приватности стоит не на первом месте, становится непонятно, чем такое решение лучше того же Яндекс.Диска, Облака Мейл.ру или OneDrive, ведь ими можно пользоваться бесплатно и без ковыряния в конфигурационных файлах: зарегистрируйся и пользуйся сколько хочешь. А тут настраивать надо!

Но если копнуть глубже, выясняется, что Nextcloud – целая платформа для хранения любых данных. Она даёт возможность избавиться от цифрового “рабства”, отвязаться от Гугла и прочих корпораций, храня списки контактов и событий в календаре на подконтрольном только вам серверу. Никто не сможет использовать ваши данные для показа рекламы, копаться в файлах и отслеживать действия.

“Из коробки” доступно хранение трёх видов информации:

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

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

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

Кстати: сервера всемирно известного хостинга Digital Ocean подходят для организации собственного облака. Вы можете получить аккаунт со 100$ на счету через мою реферальную ссылку.

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

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

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

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

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

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

Увы, в NextCloud нет редактора документов, как в Гугл Диске, но можно установить и настроить Collabora Online Development Edition (об этом расскажу ниже).

Collabora Online

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

Onlyoffice

Без интеграций в облаке доступен разве что аналог Блокнота из Windows, но пользоваться им можно только в крайнем случае – очень уж примитивен этот текстовый редактор.

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

Carnet неплох – поддерживает форматирование текста, добавление картинок, назначение тегов. Если сравнивать с GKeep, функций больше. Но любители Эверноута, привыкшие к фишкам сервиса, будут разочарованы. Впрочем, компенсировать часть могут другие приложения.

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

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

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

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

Способы установки

Доступны три версии:

За готовый инстанс NextCloud Enterprise просят от 36 евро на пользователя в год на самом дешёвом тарифе. Это на самом деле не дёшево ни разу, потому что итоговая цена наверняка будет выше. Так что оставим Enterprise вариант для компаний, готовых себе это позволить.

Остается устанавливать Nextcloud самостоятельно. Это не бесплатно, но денег будет уходить не так уж много.

О том, как выбрать хостинг, я рассказал в заметке “Как выбрать VPS хостинг – несколько советов”.
Не можете поставить сами? Купите сторонний сервер и наймите админа, всё равно дешевле предложения авторов.

Внутренне NextCloud ничем не отличается от большинства сайтов, написанных на языке программирования PHP. При желании можно установить на дешёвый shared хостинг за 99 рублей в месяц. Нужны только поддержка PHP, MySQL и место на жёстком диске. Хотя страницы на шареде будут открываться крайне медленно, “поиграться” можно.

Чтобы понять, насколько полезен в быту Nextcloud, я решил поставить его на сервер за 3,99 евро в месяц (цена не актуальна, сервис подорожал в 2020-м), хостинг Scaleway. 2 ядра ЦП, 2 Гб ОЗУ, 50 Гб довольно быстрого диска – неплохие возможности за низкую цену.

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

Если же нужен именно Nextcloud, можно поставить Docker (доступен практически на любом хостинге VPS) и установить туда искомый образ. Вот только в готовых образах Nextcloud работает на жадным до ресурсов вебсервере Apache. То есть на дешёвом VPS облако как бы работает, но при одновременном подключении более двух пользователей ОЗУ уже не хватает, сервер MySQL отключается, страницы начинают сыпать 50* ошибками. Мне это не понравилось и я решил заморочиться, задействовав Ubuntu 18.04 и Nginx.

Моя инструкция – не для начинающих пользователей. Подразумевается, что вы умеете работать в командной строке сервера с Linux.

Итак, существует три способа установки NextCloud:

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

Доменное имя или цифровой адрес?

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

Шаг 1. Установка веб-сервера

Самое главное – вместо Apache нужен Nginx, способный выдержать сотни и тысячи запросов в секунду.

Чтобы не ковыряться в файлах конфигурации и ставить софт вручную, я использую Webinoly (“Webinoly: управляем VPS с Ubuntu Server 18.04”). Вместе с ней ставится веб-сервер Nginx с PHP новейшей версии и сервер баз данных MariaDB.

В инструкции ниже буду упоминать именно Webinoly, но в целом выбор панелей управления сервером велик и вам ничто не мешает использовать что-то другое или всё сделать вручную. Инструкция от авторов NC здесь. Далее будет мой вариант настройки.

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

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

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

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

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

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

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

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

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

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

Посмотреть свежую версию можно и нужно на странице загрузки NC: https://nextcloud.com/install/#instructions-server.

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

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

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

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

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

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

“АДРЕС_САЙТА” замените на свой домен или IP. Также обратите внимание на блок обработки *.php (который со множеством fastcgi_param) – у вас строка “fastcgi_pass” будет другой, если используется не Webinoly.

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

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

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

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

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

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

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

Шаг 3. Допиливание

1. Кэширование

NC работает с APCu, Memcache и Redis. Рекомендую использовать только Redis, так меньше проблем (Memcache при кэшировании запрашивает неоправданно много места в ОЗУ):

Затем отредактируйте файл /config/config.php. Привожу готовый файл. Пожалуйста, не копируйте его целиком, так как в вашем конфиге есть уникальные строки.

2. Перенос каталога /data для защиты данных

Без тщательной настройки Nginx допускает обращение по прямым именам файлов. Зная ваш логин и имя файла в вашем файловом хранилище можно получить доступ без пароля. Исправить можно двумя путями:

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

И отредактировал в /config/config.php значение “datadirectory”.

Теперь перебором адресов к файлам не подобраться.

3. Шифрование на стороне сервера

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

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

Зайдите в раздел “Приложения”:

Включите модуль шифрования:

Затем в “Настройки” – “Администрирование” включите шифрование на стороне сервера:

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

Если сомневаетесь, потянет ли ваш сервер шифрование, можно включить шифрование и загрузить файл весом мегабайт в 300 (через веб-интерфейс или WebDAV), поглядывая в консоль на запущенный htop :

Можно наблюдать в реальном времени, насколько нагружен ЦП. В момент окончания загрузки файла происходит шифрование, поэтому будет всплеск потребления ресурсов. Если 300-мегабайтный файл вызывает нагрузку выше 50% больше пяти секунд – шифрование будет мешать (выяснил эмпирически).

4. Интеграция с Collabora Online

Для редактирования документов, не выхода за пределы браузера, в NextCloud есть приложения интеграции. Облако можно подружить с Onlyoffice, Microsoft Office Online и Collabora Online. Я остановился на последнем варианте как на самом доступном.

В последние пару лет Collabora Online допили до вменяемого состояния, добавили поддержку русского языка и решили много проблем с производительностью и стабильностью. Прокрутка документов все ещё бывает слишком неторопливой, интерфейс неказист, но пользоваться можно. Можно закричать “вот она, вот она, замена Гугл Дооокс!” и в принципе это будет правдой. С оговорками, ибо возможность совместного редактирования документов отсутствует.

Что интересно, CODE – это не онлайн-приложение, а форк LibreOffice с дополнениями, представляющими интерфейс в виде страницы. Раньше это ощущалось – интерфейс дико тормозил. Сейчас с этим лучше.

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

Поставьте docker. Хотя я стараюсь избегать этот инструмент, потому что он даёт иллюзию безопасности там, где безопасности нет, здесь без контейнеризации не обойтись, потому что слишком уж много компонентов надо ставить в системе. Воспользуйтесь этой инструкцией для установки: Как установить и использовать Docker в Ubuntu 18.04. Шага №1 будет достаточно.

Затем создайте домен для Collabora Online. Он необходим, так как CODE – отдельный сервис вне Nextcloud, к которому нужно обращаться по протоколу HTTPS. Так как у меня на сервере Webinoly, делаю так:

Естественно, IP на поддомен office должен быть прописан в записях DNS, иначе сертификат для работы HTTPS не получить. Вы можете выделить домен или поддомен любого уровня – без разницы какого, лишь бы хоть какой-то имелся.

С тем, чтобы запустить контейнер, в котором будет работать Collabora Online Development Edition, у меня, как и у некоторых других админов серверов, возникли трудности: с параметрами по умолчанию CODE отказывался работать. Это странно, но уж как есть. Ошибок было две:

Итак, весь процесс установки Collabora Online Development Edition на сервер сводится к выполнению одной-единственной строки:

Не забудьте изменить nextcloud\\.domain\\.com на адрес своего облака. Не домена, где находится онлайн-офис, а именно облака, сохранив слеши “\\” перед точками. Пароль для админки 12345 смените на что-то безопасное.

После запуска можете проверить, доступна ли админка CODE по адресу https://domain.com/loleaflet/dist/admin/admin.html

Установите интеграцию с Collabora Online в приложениях Nextcloud:

Установка Collabora Online в Nextcloud

А также указать в настройках облака путь до поднятого сервиса:

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

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

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

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

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

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

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

А что делаете вы для защиты своих данных?

Источник

Установка NextCloud на Ubuntu 20.04 (Apache, MariaDB)

Возможности NextCloud

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

Установка NextCloud (Apache, MariaDB)

Установим Apach и MariaDB:

Установим необходимые PHP модули:

Войдем в консоль базы данных. Поскольку MariaDB теперь использует плагин unix_socket для аутентификации входа пользователя, нет необходимости вводить пароль root MariaDB. Нам просто нужно добавить к команде mysql префикс sudo:

Создаем базу данных, пользователя и задаем свой пароль:

Выходим из консоли базы данных:

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

Создаём виртуальный хост Apache для Nextcloud:

Где example.com – это название вашего домена.

Меняем владельца каталога:

Устанавливаем NextCloud, задаем нашу базу данных, создаем администратора:

Добавляем свой домен в базу доверенных доменов NextCloud:

Шифрование домена NextCloud:

Не забудьте открыть порты 80 и 443:

Удаление index.php с домена NextCloud

В строке ‘overwrite.cli.url’ => ‘http://localhost’ заменяем http://localhost на свой домен: https://example.com

И под ним добавляем следующую строку:

Пример на скриншоте.

Известные ошибки

Решение ошибки: Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения в 512 МБ

Решение ошибки: Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «15552000» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим подсказкам по безопасности

В конце, под блоком SSL добавляем следующий параметр:

И перезапускаем веб-сервер:

Решение ошибки: Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информации

Добавляем следующий параметр:

Перезапускаем Apache и PHP-FPM:

Увеличиваем предел размера загружаемого файла

При использовании модулей Apache PHP, по умолчанию задан предел загружаемого файла в 2 МБ. Обходим данное ограничение, увеличиваем предел загружаемого файла по своему усмотрению (в этом примере мы задаем предел в 5024 МБ):

Решение ошибки: В базе данных отсутствуют некоторые индексы. Из-за того, что добавление индексов в большие таблицы могло занять некоторое время, они не добавлялись автоматически

Решение ошибки: В некоторых столбцах базы данных отсутствует преобразование в большой тип int. Из-за того, что изменение типов столбцов в больших таблицах могло занять некоторое время, они не менялись автоматически

Переводим NextCloud в режим обслуживания:

И вводим следующую команду:

Отключаем режим обслуживания:

После этого Проверка безопасности и параметров, скорее всего не выявит проблем.

Источник

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 доступно огромное количество приложений для расширения функциональности.

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

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

Источник

Операционные системы и программное обеспечение