Nextcloud установка и настройка debian 11

Обновлено: 06.07.2024

Nextcloud - платформа, предлагающая набор программ для создания собственного облачного хранилища.

Вы можете установить Nextcloud с помощью snap пакета: NextCloud: Создаем свое облачное хранилище.

Автоматическая установка и оптимизация Nextcloud 21 (nginx, MariaDB)

Скрипт поддерживает установку в операционных системах Debian 10.8+ (AMD64) и Ubuntu 20.04.1+ (AMD64). Для работы скрипта необходима установка пакета sudo.

Рассматривается установка на чистую систему, в которой не установлены другие инструменты, необходимые для веб-приложений.

В ходе работы скрипта будут подключены следующие репозитории для использования последних версий пакетов: ppa ondrej для установки php 7.4, ppa mainline для установки последней версии nginx, а так же репозиторий mariadb для установки MariaDB 10.5.

Важно. В качестве домена скрипт укажет имя хост системы . Поэтому перед началом работы скрипта, измените имя хоста системы и перезагрузите систему.

Имя хоста можно поменять следующим образом:

А так же, дополнительно измените имя хоста в файле hosts:

Создайте папку, в которой будут сохраняться все пользовательские файлы Nextcloud:

Необходимые права доступа (www-data) будут заданы скриптом. Эту папку нужно будет указать в ходе работы скрипта, при появлении соответствующего вопроса.

В терминале выполняем следующие команды:

Для системы Debian:

Для системы Ubuntu:

Разархивируем архив со скриптом:

Важно: на сервере не должны быть установлены веб-сервер Apache2 или NGINX, управление базой данных MariaDB / MySQL или PHP.

Отметьте скрипт как «исполняемый»:


В ходе установки Nextcloud будут заданы некоторые вопросы.

При создании базы данных MariaDB, соглашаемся со всеми вопросами, выбрав Y, задаем пароль пользователя root для базы данных.


Будет создана база данных с именем пользователя nextcloud, паролем nextcloud.

Задайте имя Администратора Nextcloud и пароль.


Укажите расположение папки, в которой будут сохраняться все пользовательские файлы Nextcloud. Можно указать папку, которую создали в самом начале (/nextcloud-data).


Установка и оптимизация Nextcloud 21 завершены.


Настройка шифрования домена с помощью сертификата SSL от Let's Encrypt

Для работы по добавлению шифрования создаем технического пользователя и добавляем его в группу www-data:

Можно не добавлять имя пользователя, а оставить по умолчанию, нажав на Enter.

Задаем техническому пользователю необходимые полномочия для инициирования необходимого запуска веб-сервера при обновлении сертификата:

Проверяем чтобы в середине файла была следующая запись (если ее нет, то добавляем):

А так же добавляем строку:


Сохраните и закройте файл с помощью комбинации клавиш CTRL+O, затем CTRL + X.

Переключитесь в оболочку технического пользователя (acmeuser), чтобы установить программное обеспечение необходимое для сертификата, а затем снова выйдите из этой оболочки:

Настройте соответствующие разрешения, чтобы иметь возможность сохранять в нем новые сертификаты:

Снова переключитесь в оболочку технического пользователя:

А затем подайте заявку на получение сертификатов SSL:


Выходим из оболочки нового пользователя:

Затем создайте скрипт, который будет проверять и исправлять разрешения (permissions.sh):

Скопируйте и вставьте все строки в файл (в строке /nextcloud-data измените на расположение вашей пользовательской папки Nextcloud):

Сохраните изменения и выйдите из редактора nano с поомщью комбинации клавиш CTRL+0, CTRL+X.


Отметьте скрипт как исполняемый и затем запустите его:

Удалите использованные ранее самозаверяющие сертификаты из nginx и активируйте новые, полноценные и уже действующие SSL-сертификаты от Let's Encrypt:

Задайте задание cron:


С этого момента ваши SSL-сертификаты будут регулярно и полностью автоматически обновляться.

Пожалуйста, найдите время и проверьте статус безопасности вашего сервера. Целью должно быть как минимум следующий результат "А +":


Оптимизируйте и обновляйте Nextcloud с помощью скрипта

Создаём скрипт для обновления, оптимизации Nextcloud и установленных приложений:

Вставляем следующее содержимое:

Сохраните изменения и закройте редактор nano комбинацией клавиш CTRL+O, CTRL+X.

Отметьте скрипт как исполняемый и периодически запускайте его от имени привилегированного пользователя:

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

Сегодня в статье рассмотрим пример по установке и настройке домашнего облака NextCloud в среде Linux, также установим базу данных PostgreSQL и Web-сервер Nginx с PHP-FPM. Установка будет производиться на чистую Ubuntu Server 20.04 LTS.

Системные требования для NextCloud:

  • База данных: MySQL 5.7+, или MariaDB 10.2, или PostgreSQL 9.5+
  • Веб-сервер: Apache с mod_php или php-fpm или nginx с php-fpm
  • Php: 7.3+
  • ОЗУ: 512Мб+ или 2ГБ+, если использовать пакета Collabora или OnlyOffice

Установка

Разобьем установку на части. Установим базу данных PostgreSQL, интерпретатор PHP, далее web-сервер Nginx, ну и последним пунктом наше облако NextCloud:

Установка PostgreSQL

Для установки базы данных в терминале набираем:

Установка PHP

Для установки PHP для начала добавим более новый репозиторий:

После этого устанавливаем PHP и необходимые зависимости для NextCloud.

Предупреждение: в данный момент NextCloud поддерживает PHP версии не выше 7.4

Установка Web-сервера Nginx

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

Теперь можно установить наш web-сервер. Устанавливать будем сборку в которую включен модуль для проигрывания потокового видео с нашего сервера (поддержка модуля mp4). Открываем терминал и набираем:

Установка NextCloud

После всех пунктов выше приступим к установки нашего домашнего облака NextCloud. Для этого переходим в директорию /var/www :

Скачиваем последнюю версию NextCloud (на момент написания статьи версия NextCloud была 21.0.0), а также сразу распакуем и изменим права на директорию NextCloud:

Настройка

Как и в пункте с установкой, настройка также будет разбита по пунктам. Давайте приступим.

Настройка Nginx для NextCloud

Приступим к настройке web-сервера nginx. Создадим файл конфигурации для NextCloud, работать наш сервер будет на порту 80. И так начнем:

Заполняем в соответствии с моим листингом:

Настройка PHP

Настроим PHP для работы с NextCloud. В терминале набираем:

Находим и редактируем следующие строки:

Настройка PostgreSQL

Сперва настроим наш PostgreSQL для прослушивания всех внутренних адресов сервера. Для этого открываем следующий файл:

Находим и редактируем данную строчку к такому виду:

Теперь можно создать нашу БД для NextCloud, а также создадим пользователя БД и пароль для него. Подключаемся к postgresql:

Создаем базу данных и пользователя для nextcloud

install-nextcloud

Из скриншота видим, что на самом верху нам предлагается придумать учетную запись и пароль администратора nextcloud.

Далее идет поле для выбора каталога с данными. Данное поле отвечает за размещение всех данных пользователей в директории на сервере. Я оставляю без изменений.

Последняя группа полей ответственна за подключение к базе данных. Чуть выше мы создавали и настраивали БД PostgreSQL, вот эти данные и вводим сюда. И нажимаем кнопку продолжить.

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

nextcloud

Замечание: В панели администратора в пункте общие сведения Вы можете наблюдать различные ошибки и предупреждения от системы. Как их устранить я писал тут.

На этом наша настройка домашнего облака NextCloud завершается. Всем удачи.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.


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

Как ни странно, множество дистрибутивов, включая Debian и Ubuntu, не включают клиент Nextcloud в свои репозитории.

Это руководство проведет вас через процесс установки официального клиента Nextcloud в вашей системе.

В этом уроке вы узнаете:

  • Как добавить PPA на Ubuntu.
  • Как добавить репозиторий в Debian.
  • Как установить клиент Nextcloud.

Как добавить PPA на Ubuntu

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

Они поддерживают каждый выпуск Ubuntu за последние несколько лет, с пакетами, созданными для каждого выпуска.

У вас не возникнет проблем с получением необходимых пакетов.

Добавьте PPA в вашу систему.

Затем обновите Apt.

Как добавить репозиторий в Debian

Nextcloud говорит, что они поддерживают Debian с помощью Ubuntu PPA, и в некотором роде они не дают дополнительного объяснения того, как на самом деле настроить систему в системах Debian.

Обычно это не имеет большого значения, но требования клиента Nextcloud на самом деле довольно специфичны, и они не будут работать без идеального соответствия версии Ubuntu.

К счастью, мы уже разобрались в этом для вас.

Начните с создания нового файла конфигурации для хранилища.

Затем добавьте в файл вариант, соответствующий вашей версии Debian.

Stretch(Stable)

Testing(Buster)/Sid

Независимо от используемой версии ключ, который необходимо импортировать в Apt, один и тот же.

Сделай это дальше.

Обновите Apt для внесения изменений.

Как установить клиент Nextcloud

Пакет должен быть легко доступен с Apt.

Интерфейс действительно прост.

Введите адрес своего сервера и войдите в систему.

Оттуда вы сможете настроить резервные копии и создать любое необходимое расписание.

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

Если вы работаете в Debian и что-то перестает работать, вы всегда можете попробовать разные выпуски Ubuntu, чтобы посмотреть, решит ли это проблему.

Обидно, что Nextcloud не установит репозиторий Debian, даже если он содержит те же пакеты.

Стоимость хранения информации в облаках непрерывно снижается, но до сих пор иметь под рукой большие облачные ёмкости было не дёшево. Но вот, один за другим, хостеры стали обновлять линейки тарифов на так называемые StorageVPS. Это виртуальные машины с небольшой производительностью, но большой ёмкостью диска. Сегодня арендовать виртуалку с отказоустойчивым терабайтом стоит всего 5 евро!


Для начала установим операционную систему Debian 9 x64.



Для начала настроим репозитарии следующим набором команд:

Обновим наш сервер командами:

И установим необходимые пакеты:

Тут нас, возможно, попросят придумать пароль для рутовой учётки MariaDB.


Вводим пароль (символы не отображаются), жмём Enter и повторно вводим тот-же пароль и жмём Enter. Если запроса не было, ничего страшного.

Доустановим ещё пакетов командами:

Запустим и добавим в автозагрузку наши Web-сервер и СУБД:


Выполним первичную настройку безопасности СУБД:

Если ранее был запрос пароля (см. выше), то вводим его. Нам зададут ряд вопросов, отвечаем так:


Если запроса пароля ранее не было, то тут просто жмём Enter и далее соглашаемся на смену пароля, придумываем его и отвечаем на вопросы:


Теперь зайдём в консоль MariaDB командой:

Вводим пароль от MariaDB и попадаем в консоль.


Создадим базу данных (точка с запятой в конце команд обязательны):

Создадим учётную запись, с которой на Nextcloud будет обращаться к базе данных. Вместо password придумываем и вставляем в команду новый пароль:

Дадим этой учётной записи права на базу данных

Обновим таблицу привилегий, чтобы изменения применились:

И выходим из консоли:

Теперь пора установить сам Nextcloud. Посмотреть список доступных версий можно на этой странице. Выбираем самую свежую. На дату написания статьи это nextcloud-12.0.2

И переносим к месту постоянного обитания:

Обязательно нужно дать права web-серверу на папку:

Теперь любым удобным способом (например с помощью WinSCP) создадим в папке /etc/apache2/sites-available/ файл с именем nextcloud.conf со следующим содержимым:

По тексту конфига исправляем под себя адрес электронной почты и домен (ServerAdmin, ServerName)

Сохраняем файл и применяем настройки командами:


В общем-то наш сервер уже работает. Осталось настроить безопасность и затюнинговать.


Отлично, сертификаты получены и лежат в папке /etc/letsencrypt/live/nc.mydomen.ml/

Этот процесс можно автоматизировать с помощью Cron. Пример приведён в статье про ownCloud.

Донастроим Apache. Включим ssl модуль командой:

Включим дефолтный конфиг для ssl:

Теперь любым удобным способом (например с помощью WinSCP) создадим в папке /etc/apache2/sites-available/ файл с именем nextcloud-ssl.conf со следующим содержимым:

Сохраняем файл и применяем настройки командами:


Откройте файл /etc/apache2/sites-available/nextcloud.conf и добавим две строчки с директивой Rewrite:

Канал защитили. Теперь оптимизируем производительность сервера за счёт кэширования.

С помощью WinSCP откроем файл /etc/sysctl.conf и добавим в конце строчку:

Сохраним и закроем файл. Перезагрузим сервер, чтобы настройка применилась

Запустим и добавим в автозагрузку сервер Redis:

Проверить, что Redis работает и слушает порт 6379 можно командой:


В WinSCP откроем файл /usr/share/nextcloud/config/config.php. Смотрим на последнюю строчку, она выглядит так:

Перед ней добавим строчки

Сохраним и закроем файл. Зайдите в свой Nextcloud, страницы должны корректно отображаться.

Сделаем еще одну настройку. Включим модуль headers:

В файл /etc/apache2/sites-available/nextcloud-ssl.conf добавим между тегами <VirtualHost и </VirtualHost; в любое место строчку

Сохраним и закроем файл.

Заходим в Nextcloud и проверяем, что всё работает.

1. Не используйте созданную выше учётную запись администратора для постоянной работы. Зайдите в настройки пользователей, создайте группу(ы) для обычных пользователей, создайте пользователей с ограниченными правами, установите квоты.


2. Зайдите в приложения (см. скриншот выше) и добавьте функциональности вашему облачному хранилищу. Особенно обратите внимание на возможность зашифровать ваши данные и включить двухфакторную авторизацию. Про включение шифрования можно почитать в конце статьи про ownCloud.

3. Включите использование системного Cron для фоновых заданий.


На этом всё. Вопросы можно задавать в Telegram @SecFAll_adm.

Рубрики: Хранение данных, Личная безопасность Теги: VPS, хостинг, настройка Linux, StorageVPS, Time4VPS, nextcloud

Читайте также: