Установка домашнего сервера NextCloud в Hyper-V для чайников
Собственно говоря, раз в несколько лет мне приходится ставить NextCloud по той или иной причине, например, переезд на новый ПК или железо, и я каждый раз с трудом вспоминаю, что нужно делать и приходится лезть гуглить. Причем обычно проблемы не с самой установкой, а с некоторыми нюансами, о которых напишу ниже.
Вы скажете, что на Пикабу уже есть мануалы по NextCloud и я с Вами соглашусь, но фишка в том, что способ установки, который я опишу ниже, существенно проще и реально доступен для «чайников». В данном мануале мы будем устанавливать NextCloud через снапы, что намного проще для неподготовленных пользователей.
Теперь отвечу на вопрос, почему через Hyper-V? Всё просто. У большинства дома только один ПК и как правило, он на Windows. Установка через Hyper-V позволяет использовать один ПК одновременно на Windows и на Linux, причем, если машина довольно мощная, то и виртуалок можно запустить приличное количество. Лично мне один круглосуточно работающий ПК нужен по работе и запилить такой домашний сервер дома, куда как дешевле, чем арендовать VPS/VDS, с учетом того, что у меня довольно шустрый канал в 500 мбит/с.
Да, можно купить OneDrive за копейки, что я раньше и делал, но теперь такие аккаунты банятся через месяц.
Пожалуй начнем с Ubuntu.
Ставить будем на серверную версию Ubuntu, как наиболее популярную у обычных юзверей, хотя я обычно предпочитаю CentOS на VPS/VDS.
Качаем актуальную Ubuntu Server:
Ставите как Вам удобно. Если у Вас есть отдельный ПК, на котором Вы хотите использовать NextCloud, то в принципе, текст про Hyper-V ниже, Вы можете пропустить.
Мне лично нужно повесить NextCloud на круглосуточно работающий на Windows 11 Morefine s600, поэтому я буду использовать Hyper-V.
Hyper-V
Для установки Hyper-V нужна Windows 10/11 Корпоративная, Pro или для образовательных учреждений.
Чтобы не забивать лишней информацией пост, ссылку о том, как включить Hyper-V, можно прочить ниже:
Для Hyper-V можно использовать образ виртуального диска или полноценный HDD, но для этого его нужно правильно приготовить :)
Заходим в Управление дисками и с помощью правой кнопки мыши делаем его Вне сети, иначе Hyper-V его не увидит.
Теперь уже можно идти в Диспетчер Hyper-V, где до установки Ubuntu, нужно зайти в Диспетчер виртуальных коммутаторов.
Здесь указываем нашу физический сетевой адаптер и называем его как Вам удобно.
Теперь можно создать нашу виртуальную машину. Можно использовать предустановленные дистрибутивы Ubuntu, но я буду использовать скаченный ранее, поэтому выбираю Локальный источник установки и выбираю свой дистрибутив Ubuntu.
ВАЖНО! Внизу слева, где написано Сеть, выбираете ранее указанный в настройках сетевой адаптер. У меня он называется Nextcloud.
Отключаем контрольные точки в Параметрах виртуальной машины.
Виртуальная машина создана - жмем "Подключиться" и устанавливаем Ubuntu.
Крайне рекомендую использовать язык по умолчанию - английский.
В процессе установки обязательно запомните свой логин и пароль, а также локальный IP. По этому адресу будет Ваш сервер NrxtCloud. В моём случае это 192.168.0.74.
На этом с Hyper-V мы закончили и далее переходим к установке NextCloud.
Далее Вы можете выполнять команды используя терминал Hyper-V или тот, который Вам по душе. Я обычно использую PuTTY.
Далее просто выполняете команды по порядку и жмете Enter:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
Устанавливаем NextCloud:
sudo snap install nextcloud
В команде ниже указываем имя Администратора NextCloud и его пароль.
Пароль можно будет позже поменять в админке:
sudo nextcloud.manual-install admin pass
Пример - sudo nextcloud.manual-install igor 123456
Ниже указываем список доверенных доменов:
sudo nextcloud.occ config:system:set trusted_domains 1 --value=192.168.0.74
Если у Вас есть доменное имя, то его указываем тоже:
sudo nextcloud.occ config:system:set trusted_domains 2 --value=www.ваше_доменное_имя.com
Открываем порты:
sudo ufw allow 80,443/tcp
Получаем сертификат (если у Вас есть доменное имя и Вы его указали выше):
sudo nextcloud.enable-https lets-encrypt
Для получения сертификата будут запрошены ваш email и доменное имя
example@www.ваше_доменное_имя.com
Теперь самое интересное – нам нужно внести некоторые изменения в настройки, чтобы всё работало шустро и стабильно.
Для начала увеличиваем размер лимита памяти, в зависимости от возможностей Вашего ПК:
sudo snap set nextcloud php.memory-limit=2048M
Изменим время ожидания выполнения задач:
sudo snap set nextcloud php.max-input-time=3600
sudo snap set nextcloud php.max-execution-time=3600
NextCloud у нас установлен и работает, но вот незадача, при попытке закачать файл больше 16Gb (в моем случае), мы получаем ошибку. Чтобы обойти данные ограничения, нам нужно увеличить лимиты для загружаемых файлов (в примере - 150Gb на файл):
sudo snap set nextcloud php.post-max-size=150G
sudo snap set nextcloud php.upload-max-filesize=150G
На этом собственно говоря все. Как говорится - проще некуда. Никаких баз данных и т.д.
Установка максимально простая.
Заходим в админку по адресу вашего сервера, вводим логин и пароль, что Вы указали и пользуемся на здоровье:
http://192.168.0.*
Ну а у меня теперь будет напоминалка, как это всё сделать :)
Всем спасибо.