Как установить и настроить Nextcloud на Debian 9

Вступление

Nextcloud, ответвление ownCloud, - это сервер обмена файлами, который позволяет хранить ваше личное содержимое, такое как документы и изображения, в централизованном месте, очень похожем на Dropbox. Разница с Nextcloud заключается в том, что все его функции с открытым исходным кодом. Он также возвращает вам контроль и безопасность ваших конфиденциальных данных, исключая тем самым использование стороннего облачного хостинга.

В этом руководстве мы установим и настроим экземпляр Nextcloud на сервере Debian 9.

Предпосылки

Чтобы выполнить шаги, описанные в этом руководстве, вам потребуется следующее:

  • * Пользователь sudo и брандмауэр настроены на вашем сервере *: Вы можете создать пользователя с привилегиями + sudo + и настроить базовый брандмауэр, следуя https://www.digitalocean.com/community/tutorials/initial-server- setup-with-debian-9 [Руководство по первоначальной настройке сервера Debian 9].

  • * (Необязательно) Доменное имя, указывающее на ваш сервер *: Мы будем защищать подключения к установке Nextcloud с использованием TLS / SSL. Nextcloud может настроить и управлять бесплатным доверенным SSL-сертификатом с Let’s Encrypt, если на вашем сервере есть доменное имя. В противном случае Nextcloud может установить самозаверяющий SSL-сертификат, который может шифровать соединения, но по умолчанию в веб-браузерах ему не доверяют. Если вы используете DigitalOcean, вы можете следовать нашему руководству на how для настройки доменного имени для вашего сервера, если вы намерены использовать Let’s Encrypt.

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

Шаг 1 - Установка Nextcloud

Мы будем устанавливать Nextcloud с использованием системы упаковки snappy. Эта система упаковки, устанавливаемая в Debian 9 через репозитории по умолчанию, позволяет организациям поставлять программное обеспечение вместе со всеми связанными зависимостями и конфигурацией в отдельном модуле с автоматическими обновлениями. Это означает, что вместо установки и настройки веб-сервера и сервера базы данных, а затем настройки приложения Nextcloud для запуска на нем мы можем установить пакет + snap +, который автоматически обрабатывает базовые системы.

Для установки и управления пакетами + snap + нам сначала нужно установить пакет + snapd + на сервере. Обновите локальный индекс пакета для + apt +, а затем установите программное обеспечение, набрав:

sudo apt update
sudo apt install snapd

Затем либо выйдите из системы и снова войдите в систему, либо создайте скрипт + / etc / profile.d / apps-bin-path.sh +, чтобы добавить + / snap / bin + в переменную сеанса + PATH +:

source /etc/profile.d/apps-bin-path.sh

После установки + snapd + вы можете скачать пакет + snap + Nextcloud и установить его в системе, набрав:

sudo snap install nextcloud

Пакет Nextcloud будет загружен и установлен на вашем сервере. Вы можете подтвердить, что процесс установки прошел успешно, перечислив изменения, связанные с + snap +:

snap changes nextcloud
OutputID   Status  Spawn               Ready               Summary
1        today at 20:18 UTC  today at 20:18 UTC

Состояние и сводка показывают, что установка была завершена без проблем.

Получение дополнительной информации о Nextcloud Snap

Если вам нужна дополнительная информация о Nextcloud + snap +, есть несколько полезных команд.

Команда + snap info + может показать вам описание, доступные команды управления Nextcloud, а также установленную версию и отслеживаемый канал привязки:

snap info nextcloud

Моментальные привязки могут определять поддерживаемые ими интерфейсы, которые состоят из слота и разъема, которые при подключении обеспечивают мгновенный доступ к определенным возможностям или уровням доступа. Например, снимки, которые должны действовать как сетевой клиент, должны иметь интерфейс + network +. Чтобы увидеть, какие «интерфейсы» привязки определяет эта привязка, введите:

snap interfaces nextcloud
OutputSlot           Plug
:network       nextcloud
:network-bind  nextcloud
-              nextcloud:removable-media

Чтобы узнать обо всех конкретных службах и приложениях, которые предоставляет эта оснастка, вы можете взглянуть на файл определения оснастки, набрав:

less /snap/nextcloud/current/meta/snap.yaml

Это позволит вам увидеть отдельные компоненты, включенные в оснастку, если вам нужна помощь с отладкой.

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

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

Чтобы настроить Nextcloud с новой учетной записью администратора, используйте команду + nextcloud.manual-install +. Вы должны передать имя пользователя и пароль в качестве аргументов:

sudo -i nextcloud.manual-install

Следующее сообщение указывает, что Nextcloud настроен правильно:

OutputNextcloud is not installed - only a limited number of commands are available

Теперь, когда Nextcloud установлен, нам нужно настроить доверенные домены так, чтобы Nextcloud отвечал на запросы, используя доменное имя или IP-адрес сервера.

Настройка доверенных доменов

При установке из командной строки Nextcloud ограничивает имена хостов, на которые будет реагировать экземпляр. По умолчанию служба отвечает только на запросы, сделанные к имени хоста «localhost». Мы будем получать доступ к Nextcloud через доменное имя или IP-адрес сервера, поэтому нам нужно изменить этот параметр, чтобы принимать запросы такого типа.

Вы можете просмотреть текущие настройки, запросив значение массива +rust_domains +:

sudo -i nextcloud.occ config:system:get trusted_domains
Output

В настоящее время только + localhost + присутствует в качестве первого значения в массиве. Мы можем добавить запись для доменного имени или IP-адреса нашего сервера, набрав:

sudo -i nextcloud.occ config:system:set trusted_domains 1 --value=
Output

Если мы снова запросим доверенные домены, мы увидим, что теперь у нас есть две записи:

sudo -i nextcloud.occ config:system:get trusted_domains
Output

Если вам нужно добавить другой способ доступа к экземпляру Nextcloud, вы можете добавить дополнительные домены или адреса, повторно запустив команду + config: system: set + с увеличенным порядковым номером («1» в первой команде) и настроив '+ - значение + `.

Защита веб-интерфейса Nextcloud с помощью SSL

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

Если у вас есть доменное имя, связанное с вашим сервером Nextcloud, оснастка Nextcloud может помочь вам получить и настроить доверенный сертификат SSL из Let’s Encrypt. Если ваш сервер Nextcloud не имеет доменного имени, Nextcloud может настроить самозаверяющий сертификат, который будет шифровать ваш веб-трафик, но не сможет проверить подлинность вашего сервера.

Имея это в виду, следуйте приведенному ниже разделу, который соответствует вашему сценарию.

Вариант 1. Настройка SSL с Let’s Encrypt

Если у вас есть доменное имя, связанное с вашим сервером Nextcloud, лучшим вариантом для защиты вашего веб-интерфейса является получение SSL-сертификата Let Encrypt.

Начните с открытия портов в брандмауэре, которые Let’s Encrypt использует для проверки владения доменом. Это сделает вашу страницу входа Nextcloud общедоступной, но поскольку у нас уже настроена учетная запись администратора, никто не сможет взломать установку:

sudo ufw allow "WWW Full"

Затем запросите сертификат Let Encrypt, набрав:

sudo -i nextcloud.enable-https lets-encrypt

Сначала вас спросят, отвечает ли ваш сервер условиям, необходимым для запроса сертификата в службе Let Encrypt:

OutputIn order for Let's Encrypt to verify that you actually own the
domain(s) for which you're requesting a certificate, there are a
number of requirements of which you need to be aware:

1. In order to register with the Let's Encrypt ACME server, you must
  agree to the currently-in-effect Subscriber Agreement located
  here:

      https://letsencrypt.org/repository/

  By continuing to use this tool you agree to these terms. Please
  cancel now if otherwise.

2. You must have the domain name(s) for which you want certificates
  pointing at the external IP address of this machine.

3. Both ports 80 and 443 on the external IP address of this machine
  must point to this machine (e.g. port forwarding might need to be
  setup on your router).

Have you met these requirements? (y/n)

Введите * y *, чтобы продолжить.

Далее вам будет предложено указать адрес электронной почты, который будет использоваться для операций восстановления:

OutputPlease enter an email address (for urgent notices or key recovery):

Наконец, введите доменное имя, связанное с вашим сервером Nextcloud:

OutputPlease enter your domain name(s) (space-separated):

Будет запрошен сертификат Let Let Encrypt, и при условии, что все прошло хорошо, внутренний экземпляр Apache будет перезапущен для немедленной реализации SSL:

OutputAttempting to obtain certificates... done
Restarting apache... done

Теперь вы можете перейти к ссылке: # logging-in-the-nextcloud-web-interface [войти в Nextcloud в первый раз].

Вариант 2. Настройка SSL с самоподписанным сертификатом

Если ваш сервер Nextcloud не имеет доменного имени, вы все равно можете защитить веб-интерфейс, создав самозаверяющий сертификат SSL. Этот сертификат разрешит доступ к веб-интерфейсу через зашифрованное соединение, но не сможет проверить подлинность вашего сервера, поэтому ваш браузер, скорее всего, отобразит предупреждение.

Чтобы создать самозаверяющий сертификат и настроить Nextcloud для его использования, введите:

sudo nextcloud.enable-https self-signed
OutputGenerating key and self-signed certificate... done
Restarting apache... done

Приведенный выше вывод указывает, что Nextcloud сгенерировал и включил самозаверяющий сертификат.

Теперь, когда интерфейс защищен, откройте веб-порты в брандмауэре, чтобы разрешить доступ к веб-интерфейсу:

sudo ufw allow "WWW Full"

Теперь вы готовы войти в Nextcloud в первый раз.

Вход в веб-интерфейс Nextcloud

Теперь, когда Nextcloud настроен, посетите доменное имя или IP-адрес вашего сервера в веб-браузере:

https://

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

изображение: https: //assets.digitalocean.com/articles/nextcloud_1804/login_page.png [страница входа в Nextcloud]

Нажмите кнопку * Вход *, чтобы войти в веб-интерфейс Nextcloud.

При первом входе вы увидите окно со ссылками на различные клиенты Nextcloud, которые можно использовать для взаимодействия с вашим экземпляром Nextcloud и управления им:

изображение: https: //assets.digitalocean.com/articles/nextcloud_1804/modal.png [Модал клиента Nextcloud]

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

изображение: https: //assets.digitalocean.com/articles/nextcloud_1804/main_page.png [главная страница Nextcloud]

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

Заключение

Nextcloud может воспроизводить возможности популярных сторонних облачных сервисов хранения. Контент может делиться между пользователями или внешне с общедоступными URL-адресами. Преимущество Nextcloud заключается в том, что информация надежно хранится в месте, которое вы контролируете.

Изучите интерфейс и для дополнительной функциональности установите плагины с помощью Nextcloud’s store store.

Related