Об этом не все знают, но первоначально Nextcloud был частью проекта OwnCloud. За небольшой промежуток времени NC вырос и в 2016 году отделился. С того момента Nextcloud стал самостоятельным проектом с открытым исходным кодом. Благодаря этому любой заинтересованный пользователь может создать свое личное облачное хранилище, самостоятельно разместить ПО и собрать индивидуальное решение.
После установки Nextcloud в вашем распоряжении будет рабочее пространство с почтовыми программами, схожими с Gmail, различными документами (вроде Google Docs) и возможностью делиться файлами (как это позволяет Dropbox). Также календарь с заметками, планировщики задач и другие полезные вещи, которые помогают структурировать информацию.
Данное руководство поможет выполнить установку и последующую настройку облачного хранилища NextCloud максимально быстро. Из трех способов установки, упомянутых ниже, мы выбрали второй.
Способы установки NC:
Второй метод был выбран по нескольким причинам. Во-первых, он наиболее эффективный, доступный и быстрый. Во-вторых, существенную роль сыграли преимущества Snap-пакетов. Они полностью укомплектованы, содержат в себе все зависимости и автоматически обновляются. Чтобы все заработало, достаточно утилиты (менеджер пакетов snapd). Установить этот пакет можно прямо из Snap Store. Единственный минус этой системы в том, что пакет занимает много места на диске.
Мы будем использовать облачный сервер с Ubuntu.
Ниже мы расписали все этапы установки, последовательность которых необходимо соблюдать:
Для загрузки Nextcloud snap запустите команду с использованием утилиты sudo. Это позволит запускать программы без привилегий пользователя root и получить права администратора.
sudo snap install nextcloud
Проверяем установку приложения:
snap changes nextcloud
Сообщение подтверждает, что установка NextCloud осуществилась:
ID Status Spawn Ready
Summary
4 Done today at 10:30 UTC today at 10:30 UTC
Install "nextcloud" snap
Такое сообщение должно появиться и у вас.
vds
После установки NextCloud создаем аккаунт с логином и паролем.
sudo nextcloud.manual-install username password
Следом приходит сообщение, что запись настроена правильно. Теперь все права для работы с базой данных переданы пользователю username.
Nextcloud was successfully installed
Переходим к настройке доменного имени. Так NC будет воспринимать HTTP-запросы, которые поступают не только сервера localhost. Допустим, сервер доступен по адресу 192.168.0.15, но мы хотим, чтобы он был доступен по адресу «mycloud.com». Для этого мы изменяем запись trusted_domains в файле config.php. По умолчанию адрес домена в NextCloud дополняется файлом с расширением «index.php».
Проверим, какие настройки у нас есть сейчас:
sudo nextcloud.occ config:system:get trusted_domains
Вывод:
localhost
Из сообщения видим, что пока массив trusted_domains содержит только localhost. Попробуем добавить еще запись в массив, увеличив номер индекса на один и изменив значение value. Для этого скопируйте и вставьте в свою командную строку команду:
sudo nextcloud.occ config:system:set trusted_domains 1 --value=mycloud.com
Вывод:
System config value trusted_domains => 1 set to string mycloud.com
Проверяем, сколько значений содержит массив сейчас:
sudo nextcloud.occ config:system:get trusted_domains
Результат (в нашем случае должно быть два домена):
localhost
mycloud.com
Используя данный алгоритм, можно добавлять доверенные домены и IP-адреса. Следующим шагом необходимо защитить веб-интерфейс. Порт 80 предназначен для сайтов с незашифрованным HTTP-трафиком, а 443 используется для сайтов с защищенным соединением. Как защитить свои данные, вы узнаете ниже.
Чтобы между браузером и сервером (между клиентом и сервером) обеспечить безопасное соединение, необходимо произвести настройку SSL. При использовании SSL-сертификатов HTTPS заменяет HTTP в URL-адресе. SSL-сертификат информируют пользователей сайта о том, что соединение защищено, и сайту можно доверять. Подробнее об SSL мы писали в статье «Что такое SSL-сертификат и для чего он нужен».
Теперь о его получении. В начале этого руководства мы упоминали про два развития событий, которые зависят от привязки доменного имени к серверу.
Первый — когда серверу присвоено доменное имя. В этом случае рекомендуем пройти бесплатную сертификацию SSL от Let’s Encrypt. Ниже вы найдете подробную инструкцию как это сделать. Во втором варианте есть возможность произвести настройку сертификата с собственной подписью. Чем они отличаются друг от друга? Интернет-браузеры не доверяют самоподписанному сертификату по умолчанию, и при подключении внешнего посетителя выдает сообщение: «Сертификат безопасности не является доверенным!».
Сертификация от Let’s Encrypt
Срок действия сертификата составляет 90 дней, но по истечении этого промежутка времени он автоматически обновляется. Переходим к настройке.
Открываем порты брэндмауэра:
sudo ufw allow 80,443/tcp
Затем запрашиваем сертификат:
sudo nextcloud.enable-https lets-encrypt
И подтверждаем соответствие своего сервера условиям для запроса сертификата. В конце этого сообщения вопрос. Чтобы продолжить, вводим «Y»:
In 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)
В следующей строке указываем email, который потребуется для важных уведомлений.
Please enter an email address (for urgent notices or key recovery):
После чего, чтобы завершить, необходимо ввести само доменное имя.
Please enter your domain name(s) (space-separated): mycloud.com
Если все команды заданы верно, то сервер запросит SSL-сертификат и перезапустит веб-сервер Apache для NextCloud.
Attempting to obtain certificates... done Restarting apache... done
Дальше можно выполнять вход в собственное облачное хранилище.
Самоподписанный сертификат SSL
Такой способ шифрует данные, но не подтверждает домен.
Для создания сертификата с собственной подписью запустите команду:
sudo nextcloud.enable-https self-signed
Сообщение об активации сертификата:
Generating key and self-signed certificate... done Restarting apache... done
Чтобы войти в NC, открываем веб-порты брандмауэра:
sudo ufw allow 80,443/tcp
Этапы установки и настройки пройдены. Пора попробовать зайти на сервер. Для этого достаточно ввести в поисковую строку браузера доменное имя или IP-адрес. Мы попадем на главную страницу, где требуется ввод логина и пароля. Если веб-интерфейс защищен самоподписанным сертификатом, то первоначально появиться окошко с предупреждением о небезопасном подключении. Проигнорируйте данное сообщение. При наличии заверенного сертификата сразу открывается окно с приветствием. Закрыв это, сразу можно приступать к работе с файлами.
Разверните Nextcloud на своем VDS
Мы рассмотрели процесс установки Nextcloud на сервер с Ubuntu 20.04. После выполнения всех описанных шагов можно переходить к работе, настривать синхронизацию и обмениваться файлами. Узнать еще больше про облачные сервисы можно в блоге Timeweb Cloud.
Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.
Здравствуйте. Имеется сервер с Ubuntu 22.04. Также имеется сайт на этом сервере с доменом, например, example.com. Сайт и домен настроены в FastPanel. На сервер установил nextcloud, в процессе установки указал в качестве домена поддомен cloud.example.com Установка прошла успешно, но по ссылке cloud.example.com открывается сайт example.com. Какое перенаправление указать на поддомене cloud.example.com, чтобы открывался nextcloud? А то по-умолчанию в FastPanel в настройках поддомена cloud.example.com указана директория сайта example.com.
Команда sudo nextcloud.occ config:system:get trusted_domains выдает результат: localhost cloud.example.com
Добрый день! Это скорее вопрос по работе Fastpanel и настроек внутри панели, вы можете попробовать обратиться в их поддержку.
Также можно воспользоваться другим решением для установки Nextcloud:
cloud.example.com/setup-nextcloud.php
.на втором шаге после команды по установке логина и пароля , выдает ошибку
Command "maintenance:install" is not defined.
Did you mean one of these?
app:install
maintenance:data-fingerprint
maintenance:mimetype:update-db
maintenance:mimetype:update-js
maintenance:mode
maintenance:repair
maintenance:repair-share-owner
maintenance:theme:update
maintenance:update:htaccess
Добрый день! Попробовали воспроизвести — ошибка возникает при повторном выполнении команды:
Попробуйте продолжить настройку по инструкции и выполнить:
из следующего шага.
Также на всякий случай отметим, что у нас есть готовая сборка Nextcloud с Ubuntu 22.04, можно запустить Nextcloud в один клик вместо ручной установки :)