Перейти к содержанию

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 Nextcloud Ubuntu 22.04 + + + + 2 4 40 Да ЗАКАЗАТЬ

Для данного ПО есть возможность задания собственного домена при установке. Смотрите инструкцию

Информацию по особенностям сборки данного ПО можно посмотреть по ссылке

Примечание

Если не указано иное, по умолчанию мы устанавливаем последнюю релиз версию программного обеспечения с сайта разработчика или репозиториев операционной системы.

Настройка параметров установки через Cloud-init

При заказе сервера с Nextcloud вы можете заранее настроить основные параметры установки, используя cloud-init конфигурацию при оформлении заказа на этапе Автоматизация. Это позволяет автоматически задать учетные данные администратора, email и путь хранения данных:

Параметры конфигурации

Для настройки Nextcloud через cloud-init используйте следующий формат:

write_files:
  - path: "/opt/main.yml"
    permissions: "0644"
    content: |
      nextcloud_admin_name: "root"
      nextcloud_admin_pwd: "YOUR_PASSWORD"
      nextcloud_admin_email: "admin@localhost"
      nextcloud_data_path: "/opt/nextcloud-data"

Описание параметров

  • nextcloud_admin_name - имя учетной записи администратора (по умолчанию: admin);
  • nextcloud_admin_pwd - пароль администратора (укажите ваш надежный пароль);
  • nextcloud_admin_email - email администратора для уведомлений;
  • nextcloud_data_path - путь для хранения данных Nextcloud (по умолчанию: /opt/nextcloud-data).

Рекомендация

Используйте сложный пароль для nextcloud_admin_pwd и реальный email для nextcloud_admin_email, чтобы получать важные уведомления о работе системы.

Важно

После применения cloud-init конфигурации указанные параметры будут использоваться вместо стандартных. Сохраните эти данные в надежном месте.

Начало работы после развертывания Nextcloud

После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и APIInvapi.

Данные для авторизации, которые можно найти или во вкладке Информация >> Тэги панели управления сервером или в присланном e-mail:

  • Ссылка для доступа к панели управления Nextcloud с веб-интерфейсом: в теге webpanel;
  • Логин: admin;
  • Пароль: приходит в письме на вашу электронную почту при готовности сервера к работе после развертывания ПО.

После перехода в панель управления Nextcloud необходимо ввести логин и пароль:

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

Примечание

Подробная информация по основным настройкам Nextcloud содержится в документации разработчиков.

Внимание

Для заказа сервера с Nextcloud следует выбирать сервер в соответствии с рекомендациями разработчиков.

Изменение доменного имени

Перед началом работ по изменению доменного имени рекомендуется сделать резервную копию всех файлов, указанных в инструкции. Для создания резервных копий основных файлов выполните следующие команды:

  1. Создайте директорию для резервных копий

    mkdir -p /root/nextcloud_backup
    
  2. Копирование конфигурационного файла Nginx

    cp /opt/nginx/user_conf.d/nextcloud<ID сервера>.hostkey.in.conf /root/nextcloud_backup/
    
  3. Копирование файла Docker Compose

    cp /opt/nextcloud/compose.yml /root/nextcloud_backup/
    
  4. Копирование скрипта конфигурации

    cp /opt/nextcloud/set_configuration.sh /root/nextcloud_backup/
    
  5. Копирование конфигурационного файла Nextcloud

    cp /var/lib/docker/volumes/app_data/_data/config/config.php /root/nextcloud_backup/
    

Эти команды создадут резервные копии всех ключевых файлов, которые будут изменяться в процессе смены доменного имени. В случае возникновения проблем вы сможете восстановить исходную конфигурацию из резервных копий.

Восстановление из резервных копий и удаление после успешной миграции

Если процесс смены доменного имени прошел неудачно и вам нужно восстановить исходную конфигурацию, выполните следующие команды:

  1. Восстановление конфигурационного файла Nginx

    cp /root/nextcloud_backup/nextcloud<ID сервера>.hostkey.in.conf /opt/nginx/user_conf.d/
    
  2. Восстановление файла Docker Compose

    cp /root/nextcloud_backup/compose.yml /opt/nextcloud/
    
  3. Восстановление скрипта конфигурации

    cp /root/nextcloud_backup/set_configuration.sh /opt/nextcloud/
    
  4. Восстановление конфигурационного файла Nextcloud

    cp /root/nextcloud_backup/config.php /var/lib/docker/volumes/app_data/_data/config/
    
  5. Перезапуск контейнеров

    cd /opt/nextcloud
    docker compose down
    docker compose up -d
    
    6. Перезапуск nginx

    docker restart nginx-certbot
    
    Эти команды восстановят все файлы конфигурации в их исходное состояние и перезапустят необходимые сервисы.

Когда вы убедитесь, что смена доменного имени прошла успешно и все работает корректно (рекомендуется выждать не менее 24-48 часов для полного тестирования), вы можете безопасно удалить резервные копии:

  1. Проверить содержимое директории с резервными копиями

    ls -la /root/nextcloud_backup/
    
    2. Удалить всю директорию с резервными копиями

    rm -rf /root/nextcloud_backup/
    

Перед удалением рекомендуется проверить содержимое директории, чтобы убедиться, что вы удаляете именно те файлы, которые нужно.

Изменение конфигурационных файлов

  1. Подключитесь к серверу по SSH:

    ssh root@IP_АДРЕС
    
  2. Изменение имени хоста (опционально):

    hostnamectl set-hostname nextcloud_server
    
  3. Редактирование /etc/hosts:

    nano /etc/hosts
    
    Добавьте строку, связывающую новый домен с IP-адресом сервера:

    IP_АДРЕС ВАШЕ_ДОМЕННОЕ_ИМЯ
    
    (замените IP-адрес и доменное имя на ваши значения)

Настройка Nginx

  1. Найдите и отредактируйте файл конфигурации Nginx:

    nano /opt/nginx/user_conf.d/nextcloud<ID сервера>.hostkey.in.conf
    
    Замените все экземпляры старого доменного имени (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;
  2. Переименуйте конфигурационный файл:

    mv /opt/nginx/user_conf.d/nextcloud<ID сервера>.hostkey.in.conf /opt/nginx/user_conf.d/ВАШЕ_ДОМЕННОЕ_ИМЯ.conf
    
  3. Перезапустите Nginx-контейнер:

    docker restart nginx-certbot
    

Настройка Nextcloud

  1. Редактирование файла Docker Compose:

    nano /opt/nextcloud/compose.yml
    
    Замените все экземпляры старого доменного имени на новое (ВАШЕ_ДОМЕННОЕ_ИМЯ). Обратите внимание на строки, содержащие:

    • Строка 40: - OVERWRITECLIURL=https://nextcloud<ID сервера>.hostkey.in/
    • Строка 41: - OVERWRITEHOST=nextcloud<ID сервера>.hostkey.in
  2. Редактирование скрипта конфигурации Nextcloud:

    nano /opt/nextcloud/set_configuration.sh
    
    Замените все экземпляры старого доменного имени на новое. Особое внимание обратите на строки:

    • Строка 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/

Применение изменений

  1. Перейдите в директорию Nextcloud:

    cd /opt/nextcloud
    
  2. Остановите и удалите существующие контейнеры:

    docker compose down
    
    Эта команда остановит и удалит все контейнеры, определенные в файле compose.yml, но сохранит все данные в томах.

  3. Запустите контейнеры Nextcloud:

    docker compose up -d
    
  4. Запустите скрипт конфигурации:

    bash /opt/nextcloud/set_configuration.sh
    

Если скрипт выдает ошибку о том, что команда "maintenance:install" не определена, это нормально - Nextcloud уже установлен.

Проверка и отладка

  1. Проверьте, что Nextcloud доступен по новому доменному имени:

    Откройте в браузере https://ВАШЕ_ДОМЕННОЕ_ИМЯ

  2. Если возникают проблемы, проверьте логи:

    docker logs nginx-certbot
    docker logs app-server
    
  3. При необходимости, настройте trusted_domains вручную:

    docker exec -u www-data app-server php occ --no-warnings config:system:set trusted_domains 1 --value="ВАШЕ_ДОМЕННОЕ_ИМЯ"
    docker exec -u www-data app-server php occ --no-warnings config:system:set overwrite.cli.url --value="https://ВАШЕ_ДОМЕННОЕ_ИМЯ/"
    
  4. Если используется OnlyOffice, проверьте его настройки:

    docker exec -u www-data app-server php occ --no-warnings config:system:set onlyoffice StorageUrl --value="https://ВАШЕ_ДОМЕННОЕ_ИМЯ/"
    

Важные замечания

  • После внесения изменений обязательно очистите кэш браузера;
  • Все учетные данные пользователей остаются теми же, что и до смены доменного имени;
  • Если ваш DNS-провайдер требует время для обновления записей, может потребоваться некоторое время, прежде чем новое доменное имя начнет работать;
  • Убедитесь, что A-запись в DNS указывает на правильный IP-адрес вашего сервера;
  • PTR-запись (обратная DNS-запись) не является критичной для работы Nextcloud, но для полной согласованности может быть обновлена через панель управления

Заказ Nextcloud с помощью API

Для установки данного ПО с использованием API следуйте этой инструкции.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×