Nextcloud¶
В этой статье
Информация
Nextcloud - серверное программное обеспечение с открытым исходным кодом. Позволяет создавать собственный облачный сервис для хранения данных и коллаборации. Он основан на языке программирования PHP и предоставляет возможность использовать различные базы данных, такие как MySQL, PostgreSQL и SQLite. Nextcloud поддерживает шифрование данных на уровне клиента, что обеспечивает безопасность при передаче данных через интернет. С помощью Nextcloud можно синхронизировать данные между различными устройствами и работать в режиме онлайн и офлайн. 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 следуйте этой инструкции.