Nextcloud¶
В этой статье
Информация
Nextcloud - серверное программное обеспечение с открытым исходным кодом. Позволяет создавать собственный облачный сервис для хранения данных и коллаборации. Он основан на языке программирования PHP и предоставляет возможность использовать различные базы данных, такие как MySQL, PostgreSQL и SQLite. Nextcloud поддерживает шифрование данных на уровне клиента, что обеспечивает безопасность при передаче данных через интернет. С помощью Nextcloud можно синхронизировать данные между различными устройствами и работать в режиме онлайн и офлайн. Cервер с Nextcloud предлагает обширный набор инструментов для коллаборации, например, он предоставляет функции для обмена документами, управления задачами, календарями и контактами. Также Nextcloud может быть интегрирован с другими сервисами, такими как Google Drive, Dropbox и Microsoft OneDrive.
Nextcloud. Основные возможности¶
У Nextcloud множество особенностей, которые делают его эффективным инструментом для хранения и обработки данных:
- Хранение файлов. Nextcloud позволяет хранить файлы на сервере и обеспечивает доступ к ним через веб-интерфейс или с помощью приложений для настольных компьютеров и мобильных устройств.
- Синхронизация файлов. Возможность синхронизировать файлы между различными устройствами делает сервис удобным инструментом для работы в различных условиях.
- Контроль версий. Nextcloud позволяет сохранять несколько версий одного и того же файла, что позволяет восстановить предыдущие версии, если это необходимо.
- Доступ к файлам через веб-интерфейс. Nextcloud имеет веб-интерфейс, который позволяет получать доступ к файлам через браузер, что делает его удобным инструментом для работы на любом устройстве.
- Управление календарями и задачами. Nextcloud позволяет создавать и управлять календарями и задачами, что делает его полезным организационным инструментом.
- Управление контактами. Nextcloud позволяет создавать и управлять контактами, что делает его удобным инструментом для управления коммуникацией.
- Доступ к файлам через приложения. Nextcloud имеет приложения для настольных компьютеров и мобильных устройств, которые позволяют получать доступ к файлам через них.
- Расширяемость. Nextcloud имеет множество дополнительных приложений, которые можно установить и использовать для расширения функционала, таких как приложения для онлайн-коллаборации, редактирования документов, управления проектами и т. д.
Особенности сборки¶
| ID | Совместимые ОС | VPS | BM | VGPU | GPU | Мин. ЦПУ (Ядер) | Мин. ОЗУ (Гб) | Мин. HDD/SDD (Гб) | Доступно | 
|---|---|---|---|---|---|---|---|---|---|
| 16 | Ubuntu 22.04 | + | + | + | + | 2 | 4 | 40 | ЗАКАЗАТЬ | 
Примечание
Если не указано иное, по умолчанию мы устанавливаем последнюю релиз версию программного обеспечения с сайта разработчика или репозиториев операционной системы.
- Nextcloud включен в состав ядра и его дополнительная установка не требуется. Мы предоставляем веб-интерфейс, посредством которого происходит установка и настройка сервиса.
- Конфигурационные файлы расположены в:- /opt/nextcloud- установка настройка Nextcloud;
- /opt/nginx- установка и настройка Nginx сервиса;
- /opt/nextcloud/compose.yml- запуск docker compose, который запускает связку из контейнеров Nextcloud + Onlyoffice.
 
- Генерация SSL-сертификата основана на сборке jonasal/nginx-certbot.
-  Данные команды могут быть необходимы для обновления версий контейнеров, правки конфигурационного файла. - Для остановки контейнеров необходимо выполнить команду
 Затем - Для включения контейнеров необходимо выполнить команду
 Затем 
-  При выполнении docker compose up -dзапускаетсяcompose.ymlфайл, который скачивает и запускает следующие контейнеры:- db - контейнер, скачивается PotgreSQL и проводятся следующие настойки:- создается база Nextcloud;
- создается пользователь Nextcloud;
- пароль от SSH (приходит в письме на вашу электронную почту при готовности сервера к работе после развертывания ПО);
- стандартный порт 5432.
 
- redis - контейнер, хранение обращений к Nextcloud в памяти и только после запись в базу данных PostgreSQL;
- app - контейнер, сервис Nextcloud прописаны следующие параметры:- Доступ к приложению осуществляется из веб-браузера или мобильного приложения по ссылке https://nextcloud(id сервера).hostkey.in(например,https://nextcloud16094.hostkey.in);
- логин: admin;
- пароль: от ssh;
 
- Доступ к приложению осуществляется из веб-браузера или мобильного приложения по ссылке 
- onlyoffice-document-server - контейнер, сервис OnlyOffice работает на 80 порту.
 Внимание Этот контейнер запускается от 6 минут. В это время можно зайти в веб-интерфейс Nextcloud, заливать и скачивать файлы, но возможность редактировать документы появится только через 6 минут или более после выполнения docker compose up -d(требуется некоторое время для запуска ряда компонентов).- nginx - контейнер, сервис Nginx, принимающий запросы на 80 и 443 порту и перенаправляет запросы на контейнер Nextcloud.
 
- db - контейнер, скачивается PotgreSQL и проводятся следующие настойки:
Начало работы после развертывания Nextcloud¶
После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и API — Invapi.
Данные для авторизации, которые можно найти или во вкладке Информация >> Тэги панели управления сервером или в присланном e-mail:
- Ссылка для доступа к панели управления Nextcloud с веб-интерфейсом: в теге webpanel;
- Логин: admin;
- Пароль: приходит в письме на вашу электронную почту при готовности сервера к работе после развертывания ПО.
После перехода в панель управления Nextcloud необходимо ввести логин и пароль:

После успешной авторизации можно приступать к использованию сервиса:

Примечание
Подробная информация по основным настройкам Nextcloud содержится в документации разработчиков.
Внимание
Для заказа сервера с Nextcloud следует выбирать сервер в соответствии с рекомендациями разработчиков.
Изменение доменного имени¶
Перед началом работ по изменению доменного имени рекомендуется сделать резервную копию всех файлов, указанных в инструкции. Для создания резервных копий основных файлов выполните следующие команды:
-  Создайте директорию для резервных копий 
-  Копирование конфигурационного файла Nginx 
-  Копирование файла Docker Compose 
-  Копирование скрипта конфигурации 
-  Копирование конфигурационного файла Nextcloud 
Эти команды создадут резервные копии всех ключевых файлов, которые будут изменяться в процессе смены доменного имени. В случае возникновения проблем вы сможете восстановить исходную конфигурацию из резервных копий.
Восстановление из резервных копий и удаление после успешной миграции¶
Если процесс смены доменного имени прошел неудачно и вам нужно восстановить исходную конфигурацию, выполните следующие команды:
-  Восстановление конфигурационного файла Nginx 
-  Восстановление файла Docker Compose 
-  Восстановление скрипта конфигурации 
-  Восстановление конфигурационного файла Nextcloud 
-  Перезапуск контейнеров 6. Перезапуск nginx Эти команды восстановят все файлы конфигурации в их исходное состояние и перезапустят необходимые сервисы.
Когда вы убедитесь, что смена доменного имени прошла успешно и все работает корректно (рекомендуется выждать не менее 24-48 часов для полного тестирования), вы можете безопасно удалить резервные копии:
-  Проверить содержимое директории с резервными копиями 2. Удалить всю директорию с резервными копиями
Перед удалением рекомендуется проверить содержимое директории, чтобы убедиться, что вы удаляете именно те файлы, которые нужно.
Изменение конфигурационных файлов¶
-  Подключитесь к серверу по SSH: 
-  Изменение имени хоста (опционально): 
-  Редактирование Добавьте строку, связывающую новый домен с IP-адресом сервера: (замените IP-адрес и доменное имя на ваши значения)/etc/hosts:
Настройка Nginx¶
-  Найдите и отредактируйте файл конфигурации Nginx: Замените все экземпляры старого доменного имени (nextcloud<ID сервера>.hostkey.in) на новое (ВАШЕ_ДОМЕННОЕ_ИМЯ):- Строка 4: server_name nextcloud<ID сервера>.hostkey.in;→server_name ВАШЕ_ДОМЕННОЕ_ИМЯ;
- Строка 15: server_name nextcloud<ID сервера>.hostkey.in;→server_name ВАШЕ_ДОМЕННОЕ_ИМЯ;
- Строка 17: ssl_certificate /etc/letsencrypt/live/nextcloud<ID сервера>.hostkey.in/fullchain.pem;→ssl_certificate /etc/letsencrypt/live/ВАШЕ_ДОМЕННОЕ_ИМЯ/fullchain.pem;
- Строка 18: ssl_certificate_key /etc/letsencrypt/live/nextcloud<ID сервера>.hostkey.in/privkey.pem;→ssl_certificate_key /etc/letsencrypt/live/ВАШЕ_ДОМЕННОЕ_ИМЯ/privkey.pem;
- Строка 19: ssl_trusted_certificate /etc/letsencrypt/live/nextcloud<ID сервера>.hostkey.in/chain.pem;→ssl_trusted_certificate /etc/letsencrypt/live/ВАШЕ_ДОМЕННОЕ_ИМЯ/chain.pem;
 
- Строка 4: 
-  Переименуйте конфигурационный файл: 
-  Перезапустите Nginx-контейнер: 
Настройка Nextcloud¶
-  Редактирование файла Docker Compose: Замените все экземпляры старого доменного имени на новое (ВАШЕ_ДОМЕННОЕ_ИМЯ). Обратите внимание на строки, содержащие:- Строка 40: - OVERWRITECLIURL=https://nextcloud<ID сервера>.hostkey.in/
- Строка 41: - OVERWRITEHOST=nextcloud<ID сервера>.hostkey.in
 
- Строка 40: 
-  Редактирование скрипта конфигурации Nextcloud: Замените все экземпляры старого доменного имени на новое. Особое внимание обратите на строки:- Строка 11: if ! grep -q "nextcloud<ID сервера>.hostkey.in" trusted_domain.tmp; then
- Строка 13: docker exec -u www-data app-server php occ --no-warnings config:system:set trusted_domains $TRUSTED_INDEX --value="nextcloud<ID сервера>.hostkey.in"
- Строка 23: docker exec -u www-data app-server php occ --no-warnings config:system:set onlyoffice StorageUrl --value="https://nextcloud<ID сервера>.hostkey.in/
 
- Строка 11: 
Применение изменений¶
-  Перейдите в директорию Nextcloud: 
-  Остановите и удалите существующие контейнеры: Эта команда остановит и удалит все контейнеры, определенные в файле compose.yml, но сохранит все данные в томах.
-  Запустите контейнеры Nextcloud: 
-  Запустите скрипт конфигурации: 
Если скрипт выдает ошибку о том, что команда "maintenance:install" не определена, это нормально - Nextcloud уже установлен.
Проверка и отладка¶
-  Проверьте, что Nextcloud доступен по новому доменному имени: Откройте в браузере https://ВАШЕ_ДОМЕННОЕ_ИМЯ 
-  Если возникают проблемы, проверьте логи: 
-  При необходимости, настройте trusted_domains вручную: 
-  Если используется OnlyOffice, проверьте его настройки: 
Важные замечания¶
- После внесения изменений обязательно очистите кэш браузера;
- Все учетные данные пользователей остаются теми же, что и до смены доменного имени;
- Если ваш DNS-провайдер требует время для обновления записей, может потребоваться некоторое время, прежде чем новое доменное имя начнет работать;
- Убедитесь, что A-запись в DNS указывает на правильный IP-адрес вашего сервера;
- PTR-запись (обратная DNS-запись) не является критичной для работы Nextcloud, но для полной согласованности может быть обновлена через панель управления
Заказ Nextcloud с помощью API¶
Для установки данного ПО с использованием API следуйте этой инструкции.