Что такое Nextcloud

Зачастую пользователи хранят важные документы и файлы на компьютере или съемном носителе. Но что делать с файлами большого размера или корпоративными документами? Для них можно создать облачное хранилище — онлайн-платформу для загрузки информации. Существует большое количество ПО для создания облачных хранилищ. В их число входит и Nextcloud, о котором пойдет речь в статье.

Nextcloud: что это

Nextcloud (NC) — это набор программного обеспечения, который позволяет создать собственное облачное хранилище. Он имеет открытый исходный код и близок к Google Workspace по функционалу. Nextcloud можно установить на большую часть популярных операционных систем: Windows, macOS, а также системы семейства Linux (Ubuntu, Debian и другие).

Архитектура NC построена по принципу «клиент-сервер». Это значит, что программа состоит из двух частей:

  1. Клиентской части — той, с которой взаимодействует пользователь.
  2. Серверной части — той, к которой направляется запрос от клиента.

Изначально Nextcloud был написан на языках PHP и JavaScript в качестве форка OwnCloud. Его разработал Фрэнк Карличек после того, как покинул OwnCloud, Inc. Он продолжает обновлять сервис совместно с другими разработчиками. Поддержкой проекта занимается компания Nextcloud GmbH.

Особенности Nextcloud

Отличительная особенность Nextcloud — свободная архитектура. Благодаря этому вы можете установить дополнительное ПО на сервер и подготовить систему к удаленной работе. Также Nextcloud включает в себя:

  1. Контроль доступа к документам. Некстклауд позволяет скопировать ссылку на документ или папку и передать ее другому пользователю. Из соображений безопасности вы можете указать срок действия ссылки и создать пароль доступа.
  2. Режим совместной работы. Сервис позволяет просматривать и редактировать текстовые документы нескольким пользователям одновременно. Кроме того, после установки дополнительного ПО (например, OnlyOffice или MS Office Online) вы можете создавать таблицы, презентации и другие типы файлов.
  3. Потоковое вещание. Nextcloud поддерживает потоковую передачу мультимедиа. Это значит, что на сервере поддерживается медиаконтент: видео и аудио разных форматов, анимации и др.
  4. Функции органайзера. В веб-версии Некстклауд поддерживаются контакты, заметки, задачи и календарь. Этот функционал работает благодаря службам синхронизации: WebCAL (календари), DAVdroid (задачи и контакты) и Nextcloud Notes (заметки).
  5. Поддержка двухфакторной аутентификации. Для настройки безопасного доступа можно использовать резервные коды и приложения одноразовых паролей: FreeOTP, TOTP, LastPass Authenticator и многие другие.
  6. Автозагрузка медиа с мобильных устройств. Автоматическая загрузка в Nextcloud имеет отличительную особенность. Она заключается в том, что вы можете настроить выгрузку папок выборочно, а также назначать правила загрузки.
Источник: Shutterstock. Облачное хранилище — оптимальное решение для файлов больших размеров и корпоративных документов

Кому подходит Nextcloud

Основное назначение Nextcloud — создание облачного хранилища. Это решение подходит:

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

Nextcloud: как происходит установка и настройка

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

Какие действия нужно выполнить, чтобы начать пользоваться Nextcloud:

  1. Подготовить сервер: обновить пакеты, установить веб-сервер, СУБД, модули PHP и др.
  2. Установить Nextcloud.
  3. Настроить веб-сервер.
  4. Выпустить SSL-сертификат.

Каждый из этих этапов мы подробно описали ниже.

Подготовка сервера

Этап подготовки включает в себя обновление пакетов, установку дополнительного программного обеспечения и настройку СУБД.

Для предварительной подготовки:

  1. Подключитесь к серверу по протоколу SSH.
  2. Обновите пакеты. Для этого поочередно выполните команды:
  1. Установите СУБД MariaDB, Apache HTTP Server и модули PHP — они необходимы для корректной работы Nextcloud:
  1. Откройте консоль MySQL:
  1. Создайте пользователя баз данных:

Вместо username_nextcloud укажите имя пользователя БД.

  1. Создайте базу данных:

Вместо name_db укажите имя базы данных.

  1. Назначьте новому пользователю права доступа к базе данных:

Где:

  • username_nextcloud — имя пользователя, которому вы даете права;
  • name_db — название базы данных.
  1. Подтвердите изменения:

Затем закройте консоль MySQL:

Готово, вы подготовили сервер к установке Nextcloud.

Установка Nextcloud

Чтобы установить Nextcloud:

  1. Подключитесь к серверу по протоколу SSH.
  2. Обновите пакеты. Для этого поочередно выполните команды:
  1. Загрузите архив Nextcloud:

Далее распакуйте его:

Переместите распакованное приложение по пути /var/www:

Измените владельца каталога — это нужно для корректной работы веб-сервера в будущем:

Готово, вы установили Nextcloud.

Настройка Apache

Веб-сервер Apache требуется для корректной работы сервера с динамическим контентом. Чтобы внести настройки:

  1. Подключитесь к серверу по протоколу SSH.
  2. Создайте файл конфигурации:
  1. Добавьте строки:

Вместо test.ru укажите домен, который привязан к вашему серверу.

Затем сохраните изменения и закройте файл.

  1. Примените изменения в конфигурационном файле с помощью команды:

Активируйте несколько модулей Apache, чтобы Nextcloud работал корректно. Для этого поочередно выполните команды:

Перезапустите Apache:

Готово, вы настроили веб-сервер Apache.

Выпуск SSL-сертификата

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

Чтобы выпустить SSL-сертификат для сервера Nextcloud:

  1. Подключитесь к серверу по протоколу SSH.
  2. Обновите пакеты. Для этого поочередно выполните команды:

Установите утилиту для выпуска сертификата:

Инициируйте выпуск SSL-сертификата:

Вместо test.ru укажите ваше доменное имя.

После этого укажите актуальный email — на него будут приходить уведомления об окончании срока действия сертификата. Для обновления SSL в будущем используйте следующую команду:

  1. Включите модули Apache для работы SSL-сертификатов. Для этого поочередно выполните команды:
  1. Перезапустите веб-сервер:

Готово, вы выпустили SSL-сертификат. Установка и настройка Nextcloud завершена.

Чтобы начать работу в Nextcloud, необязательно устанавливать его вручную: многие хостинг-провайдеры предлагают готовые решения с предустановленным программным обеспечением. Например, в Рег.ру вы можете заказать облачное хранилище Nextcloud, которое полностью готово к работе.

Галина Петрова

Кейс Stworka: как создать ERP в облаке для 5000 строительных компаний

А также запустить маркетплейс для строителей и обрабатывать 1,5 млн артикулов ежедневно. Рассказываем, как компания Stworka развернула IT-инфраструктуру в Облаке...
Read More

Системы контроля версий: зачем они нужны и как их использовать

Мир разработки ПО издалека кажется непонятным и запутанным, но существуют инструменты, которые значительно упрощают жизнь и делают работу более эффективной....
Read More

Соглашение об уровне обслуживания (SLA)

Поговорим о документе, который может серьезно повлиять на успех проекта, будь то интернет-магазин, SaaS-платформа или любой другой онлайн-сервис. Речь пойдет...
Read More

Что такое S3 (Simple Storage Service)

Если вы только начинаете свой путь в разработке, вам обязательно нужно познакомиться с S3. Это краеугольный камень многих современных приложений...
Read More

Полный обзор NoSQL: особенности и использование

Развитие интернета диктует новые правила в разработке. Традиционные базы данных, которые называются реляционными (RDBMS), не справляются с задачами, которые требуют...
Read More

Как использовать DataSphere. Датасеты в DataSphere

Данные нужны в любой сфере: магазины анализируют продажи, в медцентры — истории болезней, ученые — результаты экспериментов. Чем больше информации,...
Read More

Основные задачи машинного обучения: классификация, регрессия, кластеризация и уменьшение размерности

Machine Learning ― это уже часть нашей повседневной жизни. От рекомендаций фильмов на Кинопоиске до спам-фильтров в почте — за...
Read More

Обзор CLI: командная строка и ее возможности

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

Шардирование в базах данных: обзор концепции

В условиях стремительного роста объемов данных и увеличения нагрузок на информационные системы эффективность их масштабирования становится критически важной. Одним из...
Read More

Графический процессор (GPU): что это, для кого, разновидности

Дизайнерам, проектировщикам и разработчикам требуются мощные вычислительные ресурсы для работы. Обычный процессор (CPU) не справится с такими задачами, как обработка...
Read More