Русский
Русский
English
Статистика
Реклама

Nextcloud на VirtualBox с хранилищем в общей папке

Идея иметь собственное домашнее облако у меня была давно. Рассматривал варианты NAS на основе бесплатных дистрибутивов типа FreeNAS, NAS4Free, OpenMediaVault и пр. Но хотелось, чтобы был мобильный клиент, простой и красивый webUI. Раньше как-то баловался с разными решениями и понравился проект ownCloud. Но на текущий момент у него платное мобильное приложение. Сейчас стоит около 30 рублей, но хотелось иметь что-то более бесплатное. Вспомнил про хороший форк ownCloud Nextcloud. Мобильное приложение бесплатное (+ для есть и дополнительные приложения) и есть декстопные клиенты (Win, Mac, Linux). Сам Nextcloud имеет множество настроек, интеграций, а также возможность установки расширений (приложений).

Распространяется Nextcloud несколькими вариантами:

  1. Архив серверного приложения для web-сервера;

  2. Web-инсталлер;

  3. Образами для VirtualBox, Docker и Snap-пакет.

Я решил реализовать схему на VirtualBox, с подключением общей папки, как хранилища.

Предусловие: На сервере должен быть установлен VirtualBox (далее VB) и VirtualBox Extension Pack (далее VBEP).

Импорт виртуальной машины

1. Скачиваем образ виртуальной машины Nextcloud-VM.ova.

Другие варианты образов представлены на сайте Hansson IT.

2. Двойным кликом запускаем скаченный образ, после чего откроется импорт VirtualBox.

В настройках можно указать для создаваемой виртуальной машины (далее ВМ) Имя, Описание и Папку. Характеристики железа уменьшать не стоит, иначе при установке Nextcloud могут появиться ошибки о недостаточности ресурсов. Все настройки ВМ, в т.ч. общие папки, лучше настраивать после завершения установки Nextcloud.

3. После нажимаем Импорт и ждём завершения создания нашей ВМ.

4. После успешного импорта, ВМ отобразиться в списке ВМ VB.

Первоначальная настройка Nextcloud

Образ ВМ основан на Ubuntu Server 20.04.1 LTS в котором предустановлены скрипты разворачивания Nextcloud.

1. Запускаем ВМ.

2. После запуска ВМ появляется приглашение авторизации. По умолчанию пользователь (админ) сервера ncadmin, с паролем nextcloud.

Смена пароля будет предложена после завершения конфигурации Nextcloud.

3. Авторизовываемся на сервере.

4. После авторизации появляется приветственное сообщение первого запуска с прделожением запустить скрипт установки. Для запуска необходимо ввести пароль пользователя ncadmin.

Вводим пароль, нажимаем Enter и запускается процесс установки Nextcloud.

5. После проверки конфигурации ВМ будет отображено сообщение о выборе варианта хранения данных. В образе ВМ подключено 2 жестких диска (динамические по 40 Гб):

  • disk1 диск с ОС, файловая система ext4.

  • disk2 диск с файловой системой ZFS.

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

Ознакомившись с сообщением, нажимаем Ок.

6. Открывается окно выбора жесткого диска для хранения.

Стрелками встаем на позицию 1 Disk, активируем её пробелом.

Клавишей Tab переходим к блоку кнопок, выбираем Ok и нажимаем Enter.

7. На следующем шаге открывается окно выбора DNS сервера:

  • Quad9

  • Cloudflare

  • Local локальный сервер (по DHCP)

Я предпочитаю использовать Cloudflare. Выбираю его и нажимаю Ok.

8. Следующее окно сообщение о выборе зеркала обновлений.

Ознакомившись с сообщением, нажимаем Ок.

9. Следующее сообщение информирует о текущем сервере обновлений http://archive.ubuntu.com/ubuntu.

Ознакомившись с сообщением, нажимаем Ок.

10. В следующем окне предлагается найти лучшее зеркало будет произведен тест доступности и скорости соединения нескольких зеркал, после чего, необходимо выбрать понравившееся.

Я решил остаться на стандартном, хотя по тестам есть зеркала и получше (выше скорость, меньше пинг, шире канал). Поэтому на этом шаге выбираю No и нажимаю Enter.

После чего начнется установка Nextcloud (+PostgreSQL, PHP, Apache).

11. По завершению установки будет предложено изменить пароль ncadmin

Нажимаем любую клавишу. Вводим новый пароль, нажимаем Enter, подтверждаем новый пароль ещё раз и нажимаем Enter.

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

Нажимаем любую клавишу. Вводим имя пользователя, нажимаем Enter, вводим пароль, нажимаем Enter, подтверждаем пароль ещё раз и нажимаем Enter.

13. Далее появляется окно с выбором местоположения

Выбираем Europe, и нажимаем Ok.

14. В следующем окне необходимо выбрать город. Выбираем необходимый и нажимаем Ok.

15. Может появиться следующее сообщение о том, что существует обновленная версия файла '/etc/sysemd/resolved.conf' и нужно принять решение что делать:

Y или I установить обновленную (основную действующую) версию;

N или O оставить текущую установленную версию;

D показать изменения между версиями;

Z запустить shell

Я решил установить обновленную версию: ввожу Y и нажимаю Enter.

После обновления файла ВМ будет перезагружена.

16. После перезагрузки ВМ необходимо авторизоваться (на этом этапе можно пользоваться PuTTY). После авторизации будет приветственное окно, которое сообщит, что мы все установили и это окно можно отключить удалив файл /home/ncadmin/welcome.sh (иначе оно будет постоянно появляться).

Нажимаем Ok. Nextcloud установлен.

Настройка ВМ

Для работы расширений VB установим соответствующий пакет sudo apt install virtualbox-guest-utils

После установки выключим ВМ для её настройки sudo shutdown -h now

После того, как ВМ будет выключена, в VB зайдем в настройки.

1. Можно включить двунаправленный буфер обмена (но лучше пользоваться PuTTY)

2. Я уменьшил оперативную память до 1024 Гб и отключил гибкий диск

3. Установил использование одного ядра процессора

4. Создал общую папку (folder): указал путь и включил авто-подключение

Сохраняем настройки и запускаем ВМ.

Изменение папки хранения данных

Основной гайд для этого блока взял отсюда https://enk2x.ru/2019/09/21/datanew/

После запуска ВМ, авторизуемся.

1. Проверяем наличие общей папки

cd /media

ls

Должно отобразиться наименование sf_folder (на гостевой машине у общей папки префикс sf_), где folder имя общей папки на хост машине.

2. Включаем в группу vboxsf (группа-владелец общей папки) пользователей ncadmin и www-data (пользователь Apache).

sudo usermod -aG vboxsf ncadmin

sudo usermod -aG vboxsf www-data

После включения в группу перезагружаем ВМ

sudo shutdown -r now

3. После перезагрузки авторизуемся и переводим приложение nextcloud в режим обслуживания

sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on

Папка nextcloud расположена в корне папки www, а не внутри html

4. Копируем файлы настроек и пользовательские файлы в общую папку

sudo cp -R /mnt/ncdata /media/sf_folder

5. Убеждаемся что всё скопировано

cd /media/sf_folder/ncdata

ls

Так же можно проверить на хост машине в общей папке

6. Изменяем путь к папке данных в конфиг-файле

sudo nano /var/www/nextcloud/config/config.php

Откроется файл config.php, где для параметра 'datadirectory' необходимо изменить значение '/mnt/ncdata' на '/media/sf_folder/ncdata' (где folder имя общей папки)

После внесения изменений нажимаем Ctrl+X, на вопрос о сохранении изменений вводим y и нажимаем Enter.

7. Выключаем режим обслуживания

sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off

Результат

Проверим работоспособность.

1. Авторизуемся на сервере Nextcloud через web-интерфейс под пользователей admin и добавим картинку в папку Photos

2. Проверим наличие файла в общей папке на хост-машине

3. Проверим наличие файла в мобильном приложении.

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

4. Обратный порядок копирования

Если мы сначала вручную закидываем файлы в общую папку (без использования приложения), то в приложении они не будут видны. Для того, чтобы они отобразились, нужно пересканировать папки командой

sudo -u www-data php /var/www/nwxtcloud/occ files:scan all

После сканирования, добавленный файлы отобразятся в приложении.

Источник: habr.com
К списку статей
Опубликовано: 17.01.2021 18:05:05
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Хранилища данных

Nextcloud

Virtualbox

Домашний сервер

Гайд

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru