Последняя версия NextCloud поставляется с NextCloud Hub 7. Она содержит множество новых функций. Последняя версия NextCloud не работает без действующего SSL-сертификата и доменного имени. В более старых версиях NextCloud таких требований не было. Итак, настройка последней версии NextCloud немного сложна для новых пользователей.
Чтобы немного упростить настройку NextCloud, NextCloud предлагает докерный образ NextCloud AIO (All-in-One). Вы можете использовать ее для простой установки, обновления, резервного копирования/восстановления NextCloud без потери ваших данных.
В этой статье мы покажем вам, как легко установить последнюю версию NextCloud AIO (все в одном) на Ubuntu, Debian, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream и другие популярные дистрибутивы Linux. Поскольку для работы последней версии NextCloud требуется действующий SSL-сертификат, мы будем использовать SSL-сертификат Let’s Encrypt, который мы сгенерировали на нашем компьютере/сервере, и свяжем его с контейнерами NextCloud Docker, чтобы NextCloud мог получить к ним доступ и использовать их.
Чтобы установить Docker CE на свой компьютер/сервер, вам нужен CURL. Вы можете очень легко установить CURL в свой любимый дистрибутив Linux, поскольку он доступен в официальном репозитории пакетов каждого дистрибутива Linux.
В Ubuntu, Debian, Linux Mint, Kali Linux и других дистрибутивах Linux на базе Ubuntu/Debian вы можете установить CURL с помощью следующих команд:
$ sudo $ sudo apt install curl -y
В Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream и других дистрибутивах Linux на базе RHEL вы можете установить CURL с помощью следующих команд:
$ sudo dnf makecache $ sudo dnf install curl -y
После установки CURL вы можете проверить, доступен ли CURL с помощью следующей команды. Если CURL доступен, команда напечатает версию CURL, установленную вами на вашем компьютере/сервере.
$ curl --version
Чтобы установить последнюю версию Docker CE и Docker Compose в Ubuntu, Debian, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream и другие популярные дистрибутивы Linux, выполните следующую команду:
$ curl -fsSL https://get.docker.com | sudo sh
Устанавливаются последние версии Docker CE и Docker Compose. Для завершения требуется некоторое время.
Добавьте своего пользователя для входа в группу docker, чтобы при необходимости вы могли запускать команды Docker без прав root/суперпользователя.
$ sudo usermod -aG docker $(whoami)
Чтобы изменения вступили в силу, перезагрузите свой компьютер/сервер следующим образом:
$ sudo reboot
После загрузки вашего компьютера/сервера вы можете проверить, доступны ли команды Docker с помощью следующих команд. Если доступны команды Docker, следует распечатать версии Docker и Docker Compose, которые вы установили на свой компьютер/сервер.
$ docker version $ docker compose version
Для корректной работы NextCloud необходимо настроить статический IP-адрес на своем компьютере/сервере.
Для правильной работы NextCloud у вас также должно быть доменное имя, которое указывает на IP-адрес вашего компьютера/сервера. Для этого вы должны добавить запись A (для IPv4) на DNS-сервере вашего домена, которая указывает на IP-адрес вашего компьютера/сервера, на котором вы хотите установить NextCloud.
После того, как вы установите статический/фиксированный IP-адрес и добавите DNS-запись для NextCloud на свой DNS-сервер, вы сгенерируете действительный SSL-сертификат с помощью Let’s Encrypt или купите действительный SSL-сертификат в авторизованном центре сертификации (CA).
Если вы хотите получить бесплатный SSL-сертификат Let’s Encrypt для своего доменного имени с помощью проверки CloudFlare DNS-01, у нас есть статья об этом. Не стесняйтесь прочитать ее для получения дополнительной информации.
Поскольку NextCloud AIO запускает NextCloud в контейнерах Docker, вам необходимо создать несколько файлов для настройки вашей установки NextCloud. Лучше хранить их все организованными в одной папке.
Вы можете создать каталог проекта для NextCloud AIO, который будет “/ opt/nextcloud-aio” (допустим) следующим образом:
$ sudo mkdir /opt/nextcloud-aio
Теперь перейдите в каталог “/opt/nextcloud-aio” следующим образом:
$ cd /opt/nextcloud-aio
Создайте файл Docker Compose “compose.yaml” в каталоге “/opt/nextcloud-aio” и откройте его с помощью текстового редактора nano следующим образом:
$ sudo nano compose.yaml
Скопируйте и вставьте следующие строки в файл “compose.yaml”:
version: "3" volumes: nextcloud_aio_mastercontainer: name: nextcloud_aio_mastercontainer services: nextcloud: image: nextcloud/all-in-one:latest restart: always container_name: nextcloud-aio-mastercontainer volumes: - nextcloud_aio_mastercontainer:/mnt/docker-aio-config - /etc/letsencrypt/live/nodekite.com/fullchain.pem:/etc/apache2/certs/ssl.crt - /etc/letsencrypt/live/nodekite.com/privkey.pem:/etc/apache2/certs/ssl.key - /var/run/docker.sock:/var/run/docker.sock:ro ports: - 8080:8080 environment: - SKIP_DOMAIN_VALIDATION=true - APACHE_PORT=11000 - APACHE_IP_BINDING=127.0.0.1 - NEXTCLOUD_DATADIR=/mnt/nextcloud-data # - NEXTCLOUD_ENABLE_DRI_DEVICE=true caddy: image: caddy:alpine restart: always ports: - 443:443 volumes: - ./Caddyfile:/etc/caddy/Caddyfile - /etc/letsencrypt/live/nodekite.com/fullchain.pem:/certs/fullchain.pem - /etc/letsencrypt/live/nodekite.com/privkey.pem:/certs/privkey.pem network_mode: "host"
Создайте файл Caddyfile в каталоге “/opt/nextcloud-aio” и откройте его с помощью текстового редактора nano следующим образом:
nanosudo $ Caddyfile
Скопируйте и вставьте следующие строки в файл Caddyfile:
https://nextcloud.nodekite.com:443 { tls /certs/fullchain.pem /certs/privkey.pem reverse_proxy localhost:11000 }
Здесь, в файле “compose.yaml”, ”/etc/letsencrypt/live/nodekite.com/fullchain.pem“ и “/etc/letsencrypt/live/nodekite.com/privkey.pem” – это полный путь к нашим SSL-сертификатам Let’s Encrypt. Они связаны с контейнерами nextcloud-aio-mastercontainer и caddy (обратный прокси).
Файлы сертификатов “fullchain.pem” и “privkey.pem” привязаны к путям “/etc/ apache2/certs/ssl.crt” и “/etc/apache2/certs/ssl.key” соответственно в контейнере Docker “nextcloud_aio_mastercontainer”[1]. Если вы не передадите SSL-сертификаты в контейнер Docker “nextcloud_aio_mastercontainer”, рано или поздно вы получите ошибку MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT (в Mozilla Firefox) и/или другие ошибки SSL (в других веб-браузерах) при попытке получить доступ к интерфейсу управления NextCloud AIO.
Файлы сертификатов “fullchain.pem” и “privkey.pem” смонтированы привязкой по путям “/certs/fullchain.pem” и “/certs/ privkey.pem” соответственно в контейнере caddy Docker[2]. Контейнер caddy будет использоваться в качестве обратного прокси-сервера для NextCloud.
Другим важным параметром конфигурации NextCloud являются переменные окружения NEXTCLOUD_DATADIR и NEXTCLOUD_ENABLE_DRI_DEVICE.
NEXTCLOUD_DATADIR – это каталог на вашем компьютере/сервере (где установлен Docker/NextCloud), где NextCloud хранит все пользовательские файлы. Здесь мы подключим выделенное запоминающее устройство к пути “/mnt/nextcloud-data” и будем использовать его для хранения пользовательских файлов NextCloud.
Если включена опция NEXTCLOUD_ENABLE_DRI_DEVICE, NextCloud будет использовать ваш графический процессор для перекодирования медиафайлов (например, видео). Итак, если вы хотите использовать свой графический процессор для перекодирования медиафайлов, удалите “#” из строки, чтобы включить переменную окружения NEXTCLOUD_ENABLE_DRI_DEVICE.
В этом разделе мы покажем вам основы подключения устройства хранения данных в вашей системе Linux, чтобы вы могли использовать его для хранения пользовательских файлов NextCloud.
У нас есть запоминающее устройство в формате EXT4 “/dev/sdb1” с UUID dda44238-4527-42b8-969e-bd81cb03c6c8 (обратите на это внимание, поскольку оно вам нужно для монтирования файловой системы). Мы монтируем ее в каталог “/mnt/nextcloud-data” (где мы настроили NextCloud для хранения пользовательских файлов) для демонстрации.
$ sudo blkid /dev/sdb1
Сначала откройте файл “/etc/fstab” в текстовом редакторе nano следующим образом:
$ sudo nano /etc/fstab
Введите следующую строку в конце файла “/etc/fstab”, чтобы смонтировать устройство хранения “/dev/sdb1″, используя его UUID в каталоге “/mnt/nextcloud-data”. Как только вы закончите, нажмите <Ctrl> + X, затем “Y” и <Enter>, чтобы сохранить файл “/etc/fstab”.
UUID=<storage-device-UUID> /mnt/nextcloud-data ext4 defaults 0 0
Создайте путь монтирования “/mnt/nextcloud-data” следующим образом:
$ sudo mkdir /mnt/nextcloud-data
Смонтируйте настроенное устройство хранения данных в каталог “/mnt/nextcloud-data” следующим образом:
$ sudo mount /mnt/nextcloud-data/
Как вы можете видеть, запоминающее устройство “/dev/sdb1”[1] установлено по пути “/mnt/nextcloud-data”.
В каталоге проекта NextCloud “/opt/nextcloud-aio” у вас должен быть файл “compose.yaml” и файл Caddyfile.
$ ls
Чтобы запустить контейнер NextCloud AIO, выполните следующую команду:
sudo$ docker compose up
Должен быть запущен контейнер NextCloud AIO.
Теперь перейдите на страницу https://your-nextcloud-domain.com:8080 из вашего любимого веб-браузера, чтобы получить доступ к NextCloud AIO.
Вы увидите пароль для входа в NextCloud AIO при первом доступе к NextCloud AIO из веб-браузера[1]. Его нужно записать. Это очень важно. Если вы потеряете этот пароль, вам придется сбросить главный контейнер NextCloud AIO и начать все сначала.
После того, как вы запишете пароль для входа в NextCloud AIO, нажмите “Открыть NextCloud AIO login”[2].
Как только отобразится страница входа в NextCloud AIO, введите пароль NextCloud AIO[1] и нажмите “Войти”[2].
Вы должны войти в интерфейс управления NextCloud AIO.
Сначала введите доменное имя, которое вы хотите использовать для NextCloud, и нажмите “Отправить домен”.
ПРИМЕЧАНИЕ: Вы должны использовать то же доменное имя, для которого вы сгенерировали SSL-сертификаты.
После настройки доменного имени для NextCloud NextCloud AIO попросит вас настроить установку NextCloud.
Прокрутите вниз до раздела “Изменение часового пояса”, введите свой часовой пояс в формате идентификатора TZ и нажмите “Отправить часовой пояс”[1]. Если вы не знаете формат идентификатора TZ вашего часового пояса, нажмите на ссылку, указанную на следующем скриншоте[2], и вы найдете список идентификаторов TZ для всех часовых поясов по всему миру:
Нажмите “ОК”, чтобы подтвердить часовой пояс.
Должен быть установлен желаемый часовой пояс.
Перейдите к разделу “Дополнительные контейнеры”. По умолчанию выбраны только контейнеры, необходимые для полнофункционального сервера NextCloud. Вы можете выбрать другие контейнеры из списка, чтобы добавить больше функциональности NextCloud.
ClamAV: Если вы хотите сканировать пользовательские файлы NextCloud на наличие вирусов, вы можете включить этот контейнер.
Полнотекстовый поиск: Если вы хотите использовать функцию полнотекстового поиска NextCloud для поиска файлов, выберите этот контейнер.
Сервер записи разговоров Nextcloud: Если вы хотите записывать свои звонки NextCloud Talk, выберите этот контейнер.
Прокси-сервер сокета Docker: Если вы хотите использовать NextCloud API, выберите этот контейнер.
Чтобы установить последнюю версию NextCloud (NextCloud Hub 7), отметьте “Установить Nextcloud 28”[1] и нажмите “Загрузить и запустить контейнеры”[2].
NextCloud AIO должен начать загрузку всех необходимых контейнеров Docker и запустить их. Это займет некоторое время.
Вы можете обновить страницу NextCloud AIO, чтобы увидеть ход установки NextCloud. Контейнеры, которые загружены и запущены правильно, должны быть отмечены зеленым цветом. Загружаемые или настраиваемые контейнеры отмечены желтым цветом.
После установки NextCloud NextCloud AIO покажет вам пароль администратора вашей установки NextCloud.
Чтобы получить доступ к NextCloud, посетите https://your-nextcloud-domain.com из веб-браузера, и вы должны увидеть страницу входа в NextCloud.
Введите “admin” в качестве имени пользователя[1] и пароль администратора (который вы видели на странице NextCloud AIO)[2] и нажмите “Войти”[3].
Вы должны войти в NextCloud как администратор. Как администратор вы можете создавать новых пользователей NextCloud, настраивать квоты для пользователей NextCloud и выполнять другие административные задачи.
Ниже представлен интерфейс управления файлами NextCloud Hub 7:
Просмотр документа Word в NextCloud Hub 7:
В этой статье мы показали вам, как установить последнюю версию NextCloud AIO (все в одном) на Ubuntu, Debian, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream и другие популярные дистрибутивы Linux на основе Ubuntu/Debian или RHEL. Поскольку для последней версии NextCloud требуется действительное доменное имя и действительный SSL-сертификат, это немного затрудняет установку для большинства людей. Мы упростили процесс установки последней версии NextCloud в ваш любимый дистрибутив Linux, используя действующий SSL-сертификат Let’s Encrypt и доменное имя.