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

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.
  • Данные команды могут быть необходимы для обновления версий контейнеров, правки конфигурационного файла.

    • Для остановки контейнеров необходимо выполнить команду
    cd /opt/nextcloud/
    

    Затем

    docker compose down
    
    • Для включения контейнеров необходимо выполнить команду
    cd /opt/nextcloud/
    

    Затем

    docker compose up -d
    
  • При выполнении docker compose up -d запускается compose.yml файл, который скачивает и запускает следующие контейнеры:

    • db - контейнер, скачивается PotgreSQL и проводятся следующие настойки:
      • создается база Nextcloud;
      • создается пользователь Nextcloud;
      • пароль от SSH (указан в теге “Password”);
      • стандартный порт 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.

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

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

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

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

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

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

Примечание

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

Внимание

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

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

Для изменения доменного имени необходимо:

  1. Изменить текущий домен (nextcloud.hostkey.in) на новый в файле /opt/nginx/user_conf.d/nextcloud<server_id>.hostkey.in.conf в следующих строках:

    4 строка:

    server_name nextcloud<server_id>.hostkey.in;
    

    15 строка:

    server_name nextcloud<server_id>.hostkey.in;
    

    17 строка:

    ssl_certificate /etc/letsencrypt/live/nextcloud<server_id>/fullchain.pem;
    

    18 строка:

    ssl_certificate_key /etc/letsencrypt/live/nextcloud<server_id>/privkey.pem;
    

    19 строка:

    ssl_trusted_certificate /etc/letsencrypt/live/nextcloud<server_id>/chain.pem;
    

    Также следует переименовать сам файл, заменив в его названии старый домен на новый. Например: если новый домен example.com, то новое имя файла будет /opt/nginx/user_conf.d/example.com.conf.

    Следует убедиться, что во всех указанных строках старый домен заменен на новый. Это критично для корректной работы Nextcloud с новым доменным именем.

  2. Изменить текущий домен (nextcloud.hostkey.in) на новый в файле /opt/nextcloud/compose.yml в следующих строках:

    40 строка:

    - OVERWRITECLIURL=https://nextcloud<server_id>.hostkey.in/
    

    41 строка:

    - OVERWRITEHOST=nextcloud<server_id>.hostkey.in
    
  3. Изменить текущий домен (nextcloud.hostkey.in) на новый в файле /opt/nextcloud/set_configuration.sh в следующих строках:

    11 строка:

    if ! grep -q "nextcloud<server_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<server_id>.hostkey.in"
    

    23 строка:

    docker exec -u www-data app-server php occ --no-warnings config:system:set onlyoffice StorageUrl --value="https://nextcloud<server_id>.hostkey.in/"
    
  4. Перейти в директорию /opt/nextcloud и выполнить:

    docker compose down && docker compose up -d
    
  5. Затем запустить:

    bash /opt/nextcloud/set_configuration.sh
    

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

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