tocdepth

2

Организация хранилища файлов с доступом с мобильного (Nextcloud)

В этой лабораторной работе вы развернете решение для работы с личными файлами на основе продукта Nextcloud. После развертывания продукта вы сможете работать с файлами через веб-интерфейс или с помощью приложений (Windows, MacOS X, Linux, Android и iOS).

Для развертывания вы будете использовать следующие сервисы:

  • Виртуальная машина free tier — сервис, в рамках которого предоставляется бесплатная виртуальная машина с готовой конфигурацией.

  • Object Storage — объектное S3-хранилище с бесплатным хранением файлов, объемом до 15 ГБ. Подробнее об условиях free tier — в документации сервиса.

  • Публичный IP-адрес для доступа к веб-интерфейсу хранилища.

  • Бесплатный сервис nip.io для получения публичного доменного имени и сертификата. Вы также можете использовать собственное зарегистрированное доменное имя и SSL-сертификат для организации доступа.

Шаги:

  1. Разверните ресурсы в облаке

  2. Настройте группы безопасности

  3. Установите и настройте Nextcloud

  4. Настройте доменное имя

  5. Загрузите файлы в хранилище через Nextcloud

  6. Проверьте отображение файлов в Object Storage

1. Разверните ресурсы в облаке

На этом шаге вы создадите бесплатную виртуальную машину и бакет в хранилище Object Storage.

Создайте бесплатную виртуальную машину со следующими параметрами:

  1. В поле Название укажите название виртуальной машины, например, nextcloud-server.

  2. На вкладке Маркетплейс выберите образ Ubuntu 22.04.

  3. Назначьте публичный IP-адрес виртуальной машине — оставьте включенной опцию Подключить публичный IP. Для виртуальной машины будет арендован и назначен прямой публичный IP.

  4. В поле Имя пользователя укажите логин пользователя виртуальной машины, например, user1.

  5. Выберите метод аутентификации — пароль.

  6. В поле Имя хоста укажите уникальное имя устройства, по которому можно идентифицировать виртуальную машину в сети, например, nextcloud-server.

Создайте бакет в сервисе Object Storage со следующими параметрами:

  1. В поле Название укажите название бакета в формате {name}-nextcloud-data, например ivan-nextcloud-data.

  2. В поле Доменное имя укажите название домена в формате {name}-nextcloud-data, например ivan-nextcloud-data.

  3. Выберите Класс хранения по умолчанию — стандартный.

  4. (Опционально) Укажите значение в поле Максимальный размер бакета.

  5. Выберите из списка созданный бакет и сохраните ID тенанта.

Убедитесь, что в личном кабинете:

  1. На странице сервиса «Виртуальные машины»:

    • отображается виртуальная машина nextcloud-server;

    • статус виртуальной машины — «Запущена»;

    • виртуальной машине назначен публичный IP-адрес.

  2. На странице сервиса Object Storage отображается бакет nextcloud-data.

2. Настройте группы безопасности

Группы безопасности в облаке Cloud.ru Evolution позволяют контролировать входящий и исходящий трафик для создаваемых ресурсов.

Вы настроите правила фильтрации трафика — разрешите весь входящий трафик по порту 443 (HTTPS) и весь исходящий трафик. Создайте новую группу безопасности со следующими параметрами:

  1. Выберите Зону доступности, в которой необходимо разместить группу безопасности. Укажите ту же зону доступности, что выбрана для виртуальной машины nextcloud-server.

  2. Укажите Название группы безопасности, например, nextcloud-server

  3. Добавьте правила входящего и исходящего трафика.

    Правила входящего трафика:

    1. Правило 1:

      1. Протокол — TCP

      2. Порт — 443

      3. Тип источника — IP-адрес

      4. Источник — 0.0.0.0/0

    2. Правило 2

      1. Протокол — TCP

      2. Порт — 80

      3. Тип источника — IP-адрес

      4. Источник — 0.0.0.0/0

    Правила исходящего трафика:

    1. Протокол — любой

    2. Порт — оставьте пустым

    3. Тип адресата — IP-адрес

    4. Адресат — 0.0.0.0/0

  4. Назначьте созданную группу безопасности виртуальной машине wordpress-server. Если в группе безопасности присутствуют другие виртуальные машины, исключите их из группы.

Убедитесь, что в личном кабинете на странице сервиса «Виртуальные машины», в разделе Сетевые параметры отображается группа безопасности nextcloud-server.

../_images/img__nextcloud__security-groups.png

3. Установите и настройте Nextcloud

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

  1. Подключитесь к виртуальной машине nextcloud-server через серийную консоль.

  2. Обновите индекс пакетов ОС и установите обновления пакетов:

    sudo apt update -y
    sudo apt upgrade -y
    
  3. Установите пакет Nextcloud:

    sudo snap install nextcloud
    
  4. Выделите объем памяти для Nextcloud:

    sudo snap set nextcloud php.memory-limit=2048M
    
  5. Включите компрессию HTTP:

    sudo snap set nextcloud http.compression=true
    
  6. Создайте пользователя — укажите username и password:

    sudo nextcloud.manual-install username password
    
  7. Дождитесь появления надписи «Nextcloud was sucessfully installed».

Для настройки Object Storage:

  1. Подключитесь к виртуальной машине nextcloud-server через серийную консоль.

  2. Выполните построчно команды для настройки хранения данных в Object Storage. Замените {ID тенанта}, {Key ID} и {Key Secret} на значения, полученные ранее.

    sudo nextcloud.occ config:system:set objectstore class --value="\\OC\\Files\\ObjectStore\\S3"
    
    sudo nextcloud.occ config:system:set objectstore arguments bucket --value="nextcloud-data"
    
    sudo nextcloud.occ config:system:set objectstore arguments key --value="{ID тенанта}:{Key ID}"
    
    sudo nextcloud.occ config:system:set objectstore arguments secret --value="{Key Secret}"
    
    sudo nextcloud.occ config:system:set objectstore arguments hostname --value="s3.cloud.ru"
    
    sudo nextcloud.occ config:system:set objectstore arguments port --value="443"
    
    sudo nextcloud.occ config:system:set objectstore arguments use_ssl --value=true
    
    sudo nextcloud.occ config:system:set objectstore arguments region --value="ru-central-1"
    

Для проверки корректности настройки выполните команду:

snap changes nextcloud

В выводе команды вы должны увидеть информацию об установке Nextcloud и изменении его конфигурации.

4. Настройте доменное имя

В рамках лабораторной работы вы можете воспользоваться сервисом nip.io для создания доменного имени и SSL-сертификата. Или использовать собственный домен и SSL-сертификат.

  1. Подготовьте доменное имя вида {Публичный IP-адрес виртуальной машины nextcloud-server}.nip.io, например 1.1.1.1.nip.io.

  2. Настройте доверенное доменное имя:

    sudo nextcloud.occ config:system:set trusted_domains 1 --value={Публичный IP-адрес виртуальной машины nextcloud-server}.nip.io
    

    Вывод команды

    ../_images/img__nextcloud__domain-settings.png
  3. Настройте SSL-сертификат:

    sudo nextcloud.enable-https lets-encrypt
    
    1. Нажмите y в ответ на вопрос «Have you met these requirements?»

    2. Укажите свою почту.

    3. Укажите домен вида {Публичный IP-адрес виртуальной машины nextcloud-server}.nip.io, например 1.1.1.1.nip.io

      Вывод команды

      ../_images/img__nextcloud__ssl.png
  4. Укажите в браузере адрес {Публичный IP-адрес виртуальной машины nextcloud-server}.nip.io, например 1.1.1.1.nip.io.

    Откроется страница авторизации Nextcloud.

    ../_images/img__nextcloud__auth.png

5. Загрузите файлы в хранилище через Nextcloud

Для проверки работы системы загрузите файл через браузер:

  1. Откройте в браузере {Публичный IP-адрес виртуальной машины nextcloud-server}.nip.io, например 1.1.1.1.nip.io.

  2. Войдите, используя username и password, который вы задавали :ref:` на шаге 3 <nextcloud__step3>`.

  3. Перейдите в раздел Все файлы и загрузите любой файл.

  4. Убедитесь, что файл появился в Nextcloud.

Для работы с Nextcloud через мобильный телефон:

  1. Скачайте приложение Nextcloud.

  2. Нажмите Войти и укажите в качестве адреса сервера {Публичный IP-адрес виртуальной машины nextcloud-server}.nip.io, например 1.1.1.1.nip.io.

  3. В приложении отобразится загруженный через веб-интерфейс файл.

Загружайте файлы через браузер и мобильный телефон, работайте с ними с любого удобного устройства.

6. Проверьте отображение файлов в Object Storage

Проверьте, что в качестве хранилища для файлов используется Object Storage.

  1. В личном кабинете перейдите на страницу сервиса Object Storage.

  2. Выберите бакет, созданный на шаге 1.

    ../_images/img__nextcloud__s3e-bucket.png

    В бакете вы увидите файлы — служебные и загруженные. Реальные имена файлов при этом заменены на служебные.

    ../_images/img__nextcloud__bucket-objects.png

Что дальше

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

Дарим 20 000 бонусов на тест
для юрлиц и ИП
Подробнее