С помощью этого руководства вы развернете решение для работы с личными файлами на основе продукта Nextcloud. После развертывания продукта вы сможете работать с файлами через веб-интерфейс или с помощью приложений (Windows, MacOS X, Linux, Android и iOS).
Вы будете использовать следующие сервисы:
Виртуальная машина free tier — сервис, в рамках которого предоставляется бесплатная виртуальная машина с готовой конфигурацией.
Публичный IP-адрес для доступа к веб-интерфейсу хранилища.
Object Storage — объектное S3-хранилище с бесплатным хранением файлов, объемом до 15 ГБ.
(Опционально) Бесплатный сервис nip.io для получения публичного доменного имени и сертификата. Вы также можете использовать собственное зарегистрированное доменное имя и SSL-сертификат для организации доступа.
Шаги:
Перед началом работы
-
Если вы уже зарегистрированы, войдите под своей учетной записью.
1. Разверните ресурсы в облаке
На этом шаге вы создадите бесплатную виртуальную машину и бакет в хранилище Object Storage.
Создайте виртуальную машину со следующими параметрами:
Название — nextcloud-server.
Образ — на вкладке Публичные выберите образ с Ubuntu 22.04.
Публичный IP — оставьте Арендовать новый или выберите IP-адрес из списка арендованных.
Логин — оставьте значение по умолчанию или укажите новый.
Метод аутентификации — Публичный ключ и Пароль.
Пароль — задайте пароль пользователя.
Остальные параметры оставьте по умолчанию или выберите на свое усмотрение.
Уточните зону доступности, в которой была создана виртуальная машина.
Создайте группу безопасности с названием nextcloud-server в той же зоне доступности и добавьте в нее правила:
Трафик
Протокол
Порт
Тип источника/адресата
Источник/Адресат
Входящий
TCP
443
IP-адрес
0.0.0.0/0
Входящий
TCP
80
IP-адрес
0.0.0.0/0
Исходящий
Любой
—
IP-адрес
0.0.0.0/0
Создайте бакет в сервисе Object Storage со следующими параметрами:
Название — название бакета в формате <name>-nextcloud-data, например ivan-nextcloud-data.
Доменное имя — название домена в формате <name>-nextcloud-data, например ivan-nextcloud-data.
Класс хранения по умолчанию — стандартный.
(Опционально) Максимальный размер — включите опцию и укажите максимальный размер бакета. При выключенной опции размер бакета не будет ограничен.
Проверьте создание ресурсов:
Убедитесь, что в личном кабинете на странице Сети → Группы безопасности отображается группа безопасности nextcloud-server со статусом «Создана».
Убедитесь, что в личном кабинете на странице Инфраструктура → Виртуальные машины отображается виртуальная машина nextcloud-server со статусом «Запущена». Виртуальной машине назначен публичный IP-адрес.
Скопируйте и сохраните публичный IP-адрес, он понадобится далее.
Убедитесь, что в личном кабинете на странице Хранение данных → Object Storage отображается бакет <name>-nextcloud-data.
Скопируйте и сохраните ID тенанта, он понадобится далее.
2. Установите и настройте Nextcloud
На этом шаге вы установите и настроите Nextcloud на виртуальной машине, а также настроите хранение данных в Object Storage.
Обновите систему и установите утилиты:
sudo apt update && sudo apt upgrade -yУстановите пакет Nextcloud:
sudo snap install nextcloudВыделите объем памяти для Nextcloud:
sudo snap set nextcloud php.memory-limit=2048MВключите компрессию HTTP:
sudo snap set nextcloud http.compression=trueСоздайте пользователя — укажите <username> и <password>:
sudo nextcloud.manual-install <username> <password>Когда установка закончится, в консоли отобразится сообщение «Nextcloud was sucessfully installed».
Выполните построчно команды для настройки хранения данных в Object Storage:
sudo nextcloud.occ config:system:set objectstore class --value="\\OC\\Files\\ObjectStore\\S3"sudo nextcloud.occ config:system:set objectstore arguments bucket --value="<bucket_name>"sudo nextcloud.occ config:system:set objectstore arguments key --value="<tenant_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=truesudo nextcloud.occ config:system:set objectstore arguments region --value="ru-central-1"Где:
<bucket_name> — название бакета, созданного на предыдущем шаге, в формате <name>-nextcloud-data.
<tenant_id> — идентификатор тенанта в Object Storage.
<key_id>, <key_secret> — ключи доступа.
Проверьте корректность настройки:
snap changes nextcloudВ ответе вернется информация об установке Nextcloud и изменении его конфигурации.
3. Настройте доменное имя
На этом шаге вы создадите доменное имя и поучите SSL-сертификат, используя сервис nip.io.
Вы также можете использовать собственный домен и SSL-сертификат.
Подготовьте доменное имя вида <ip_address>.nip.io, где <ip_address> — публичный IP-адрес виртуальной машины nextcloud-server.
Настройте доверенное доменное имя:
sudo nextcloud.occ config:system:set trusted_domains 1 --value=<ip_address>.nip.ioНастройте SSL-сертификат:
Выполните команду:
sudo nextcloud.enable-https lets-encryptНажмите y в ответ на вопрос «Have you met these requirements?».
Укажите свой email.
Укажите домен <ip_address>.nip.io, подготовленный ранее.
4. Загрузите файлы в хранилище через Nextcloud
Для проверки работы системы загрузите файл через браузер:
Откройте браузер и перейдите по адресу <ip_address>.nip.io.
Откроется страница авторизации Nextcloud.
Авторизуйтесь в Nextcloud, используя username и password, которые вы задавали на шаге 2.
Перейдите в раздел Все файлы и загрузите любой файл.
Убедитесь, что файл появился в Nextcloud.
Для работы с Nextcloud через мобильное устройство:
Скачайте приложение Nextcloud.
Нажмите Войти и укажите в адрес сервера <ip_address>.nip.io.
В приложении отобразится загруженный через веб-интерфейс файл.
5. Проверьте отображение файлов в Object Storage
Проверьте, что в качестве хранилища для файлов используется Object Storage.
В личном кабинете на верхней панели слева нажмите
и выберите Хранение данных → Object Storage.
Выберите бакет, созданный на шаге 1.
В бакете отображаются служебные и загруженные файлы. Реальные имена файлов при этом заменены на служебные.
Результат
Вы настроили и запустили собственный сервер для работы и обмена файлами на базе Nextcloud, а также проверили его работу в браузере и на мобильном устройстве.
Теперь вы можете загружать и работать с файлами через браузер и мобильные приложения.
- Перед началом работы
- 1. Разверните ресурсы в облаке
- 2. Установите и настройте Nextcloud
- 3. Настройте доменное имя
- 4. Загрузите файлы в хранилище через Nextcloud
- 5. Проверьте отображение файлов в Object Storage
- Результат