Как установить и настроить Nextcloud в Ubuntu 16.04

Вступление

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

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

Предпосылки

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

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

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

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

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

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

Чтобы загрузить пакет Nextcloud + snap + и установить его в системе, введите:

sudo snap install nextcloud

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

snap changes nextcloud
OutputID   Status  Spawn                 Ready                 Summary
2        2017-10-03T20:03:09Z  2017-10-03T20:03:26Z

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

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

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

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

snap info nextcloud

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

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

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

cat /snap/nextcloud/current/meta/snap.yaml

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

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

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

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

sudo nextcloud.manual-install

Следующее сообщение указывает, что Nextcloud был настроен правильно. Первые несколько строк присутствуют, потому что расширение PCNTL не включено в оснастку Nextcloud. Это можно безопасно игнорировать:

OutputThe process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
Nextcloud is not installed - only a limited number of commands are available

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

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

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

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

sudo nextcloud.occ config:system:get trusted_domains
OutputThe process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php

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

sudo nextcloud.occ config:system:set trusted_domains 1 --value=
OutputThe process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php

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

sudo nextcloud.occ config:system:get trusted_domains
OutputThe process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php

Если вам нужно добавить другой способ доступа к экземпляру 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 80,443/tcp

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

sudo 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 80,443/tcp

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

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

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

https://

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

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

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

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

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

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

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

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

Заключение

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

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

Related