Что такое Nextcloud
Зачастую пользователи хранят важные документы и файлы на компьютере или съемном носителе. Но что делать с файлами большого размера или корпоративными документами? Для них можно создать облачное хранилище — онлайн-платформу для загрузки информации. Существует большое количество ПО для создания облачных хранилищ. В их число входит и Nextcloud, о котором пойдет речь в статье.
Nextcloud: что это
Nextcloud (NC) — это набор программного обеспечения, который позволяет создать собственное облачное хранилище. Он имеет открытый исходный код и близок к Google Workspace по функционалу. Nextcloud можно установить на большую часть популярных операционных систем: Windows, macOS, а также системы семейства Linux (Ubuntu, Debian и другие).
Архитектура NC построена по принципу «клиент-сервер». Это значит, что программа состоит из двух частей:
- Клиентской части — той, с которой взаимодействует пользователь.
- Серверной части — той, к которой направляется запрос от клиента.
Изначально Nextcloud был написан на языках PHP и JavaScript в качестве форка OwnCloud. Его разработал Фрэнк Карличек после того, как покинул OwnCloud, Inc. Он продолжает обновлять сервис совместно с другими разработчиками. Поддержкой проекта занимается компания Nextcloud GmbH.
Особенности Nextcloud
Отличительная особенность Nextcloud — свободная архитектура. Благодаря этому вы можете установить дополнительное ПО на сервер и подготовить систему к удаленной работе. Также Nextcloud включает в себя:
- Контроль доступа к документам. Некстклауд позволяет скопировать ссылку на документ или папку и передать ее другому пользователю. Из соображений безопасности вы можете указать срок действия ссылки и создать пароль доступа.
- Режим совместной работы. Сервис позволяет просматривать и редактировать текстовые документы нескольким пользователям одновременно. Кроме того, после установки дополнительного ПО (например, OnlyOffice или MS Office Online) вы можете создавать таблицы, презентации и другие типы файлов.
- Потоковое вещание. Nextcloud поддерживает потоковую передачу мультимедиа. Это значит, что на сервере поддерживается медиаконтент: видео и аудио разных форматов, анимации и др.
- Функции органайзера. В веб-версии Некстклауд поддерживаются контакты, заметки, задачи и календарь. Этот функционал работает благодаря службам синхронизации: WebCAL (календари), DAVdroid (задачи и контакты) и Nextcloud Notes (заметки).
- Поддержка двухфакторной аутентификации. Для настройки безопасного доступа можно использовать резервные коды и приложения одноразовых паролей: FreeOTP, TOTP, LastPass Authenticator и многие другие.
- Автозагрузка медиа с мобильных устройств. Автоматическая загрузка в Nextcloud имеет отличительную особенность. Она заключается в том, что вы можете настроить выгрузку папок выборочно, а также назначать правила загрузки.
Кому подходит Nextcloud
Основное назначение Nextcloud — создание облачного хранилища. Это решение подходит:
- физическим лицам. При помощи Nextcloud можно подготовить собственное хранилище для важных файлов: например, памятных фотографий и видео, музыки, фильмов, учебных документов (курсовых и дипломных работ), личных заметок и многого другого;
- компаниям. Помимо работы с документами, Nextcloud включает в себя функции органайзера: календарь, постановку задач, заметки, контакты и другие опции. Всё это позволяет организовать рабочие места для сотрудников компании и перевести их на удаленный режим работы.
Nextcloud: как происходит установка и настройка
При настройке сервера важно установить не только Nextcloud, но и вспомогательное программное обеспечение.
Какие действия нужно выполнить, чтобы начать пользоваться Nextcloud:
- Подготовить сервер: обновить пакеты, установить веб-сервер, СУБД, модули PHP и др.
- Установить Nextcloud.
- Настроить веб-сервер.
- Выпустить SSL-сертификат.
Каждый из этих этапов мы подробно описали ниже.
Подготовка сервера
Этап подготовки включает в себя обновление пакетов, установку дополнительного программного обеспечения и настройку СУБД.
Для предварительной подготовки:
1. Подключитесь к серверу по протоколу SSH.
2. Обновите пакеты. Для этого поочередно выполните команды:
1 |
sudo apt update |
1 |
sudo apt upgrade |
3. Установите СУБД MariaDB, Apache HTTP Server и модули PHP — они необходимы для корректной работы Nextcloud:
1 2 3 |
sudo apt install apache2 mariadb-server libapache2-mod-php php-gd php-mysql php-curl php-mbstring php-intl php-gmp php-bcmath php-xml php-imagick php-zip unzip |
4. Откройте консоль MySQL:
1 |
sudo mysql |
5. Создайте пользователя баз данных:
1 |
CREATE USER 'username_nextcloud'@'localhost' IDENTIFIED BY 'password'; |
Вместо username_nextcloud укажите имя пользователя БД.
6. Создайте базу данных:
1 |
CREATE DATABASE IF NOT EXISTS name_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
Вместо name_db укажите имя базы данных.
7. Назначьте новому пользователю права доступа к базе данных:
1 |
GRANT ALL PRIVILEGES ON name_db.* TO 'username_nextcloud'@'localhost'; |
Где:
- username_nextcloud — имя пользователя, которому вы даете права;
- name_db — название базы данных.
8. Подтвердите изменения:
1 |
FLUSH PRIVILEGES; |
Затем закройте консоль MySQL:
1 |
quit; |
Готово, вы подготовили сервер к установке Nextcloud.
Установка Nextcloud
Чтобы установить Nextcloud:
1. Подключитесь к серверу по протоколу SSH.
2. Обновите пакеты. Для этого поочередно выполните команды:
1 |
sudo apt update |
1 |
sudo apt upgrade |
3. Загрузите архив Nextcloud:
1 2 |
wget https://download.nextcloud.com/server/releases/latest.zip |
Далее распакуйте его:
1 |
unzip latest.zip |
4. Переместите распакованное приложение по пути /var/www:
1 |
sudo cp -r nextcloud /var/www |
5. Измените владельца каталога — это нужно для корректной работы веб-сервера в будущем:
1 |
sudo chown -R www-data:www-data /var/www/nextcloud |
Готово, вы установили Nextcloud.
Настройка Apache
Веб-сервер Apache требуется для корректной работы сервера с динамическим контентом. Чтобы внести настройки:
1. Подключитесь к серверу по протоколу SSH.
2. Создайте файл конфигурации:
1 |
sudo nano /etc/apache2/sites-available/nextcloud.conf |
3. Добавьте строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<VirtualHost *:80> DocumentRoot /var/www/nextcloud/ ServerName test.ru <Directory /var/www/nextcloud/> Require all granted AllowOverride All Options FollowSymLinks MultiViews <IfModule mod_dav.c> Dav off </IfModule> </Directory> </VirtualHost> |
Вместо test.ru укажите домен, который привязан к вашему серверу.
Затем сохраните изменения и закройте файл.
4. Примените изменения в конфигурационном файле с помощью команды:
1 |
a2ensite nextcloud.conf |
5. Активируйте несколько модулей Apache, чтобы Nextcloud работал корректно. Для этого поочередно выполните команды:
1 2 3 4 5 |
a2enmod rewrite a2enmod headers a2enmod env a2enmod dir a2enmod mime |
6. Перезапустите Apache:
1 |
service apache2 restart |
Готово, вы настроили веб-сервер Apache.
Выпуск SSL-сертификата
SSL-сертификат — это цифровой документ, который удостоверяет безопасность сайта или веб-приложения. При наличии SSL-сертификата вся информация между клиентом и сервером передается в зашифрованном виде: это защищает данные от несанкционированного доступа и кражи.
Чтобы выпустить SSL-сертификат для сервера Nextcloud:
1. Подключитесь к серверу по протоколу SSH.
2. Обновите пакеты. Для этого поочередно выполните команды:
1 |
sudo apt update |
1 |
sudo apt upgrade |
3. Установите утилиту для выпуска сертификата:
1 |
sudo apt install certbot |
4. Инициируйте выпуск SSL-сертификата:
1 |
sudo certbot --nginx -d test.ru |
Вместо test.ru укажите ваше доменное имя.
После этого укажите актуальный email — на него будут приходить уведомления об окончании срока действия сертификата. Для обновления SSL в будущем используйте следующую команду:
1 |
sudo certbot renew --quiet |
5. Включите модули Apache для работы SSL-сертификатов. Для этого поочередно выполните команды:
1 2 |
a2enmod ssl a2ensite default-ssl |
6. Перезапустите веб-сервер:
1 |
service apache2 reload |
Готово, вы выпустили SSL-сертификат. Установка и настройка Nextcloud завершена.
Чтобы начать работу в Nextcloud, необязательно устанавливать его вручную: многие хостинг-провайдеры предлагают готовые решения с предустановленным программным обеспечением. Например, в Рег.ру вы можете заказать облачное хранилище Nextcloud, которое полностью готово к работе.
Галина Ашмарина