Как установить и настроить Nextcloud на VPS
Nextcloud — ведущее решение для собственного облака: файлы, синхронизация, календарь, контакты, заметки и совместная работа на вашем сервере, а не в чужом дата-центре. Установить Nextcloud на VPS стоит, когда важны приватность, контроль над данными и отсутствие абонентской платы за место. Это ваш личный аналог Dropbox или Google Drive, где данные принадлежат только вам. В этом руководстве развернём Nextcloud с нуля на связке Apache + PHP + MySQL: подготовим сервер, поставим окружение с нужными расширениями, создадим базу, загрузим Nextcloud, пройдём веб-установщик, настроим фоновые задачи через cron и выпустим SSL. Сразу о ресурсах и диске. Nextcloud сам по себе нетребователен к процессору, но для облака критичен объём диска — под файлы нужно место, поэтому выбирайте VPS с достаточным хранилищем или подключаемым томом. Памяти хватит от 2 ГБ для комфортной работы нескольких пользователей. Ещё важный момент: для стабильной работы Nextcloud нужны правильные PHP-расширения, кэширование памяти и фоновые задачи по cron — без них панель будет ругаться на предупреждения в разделе состояния. Всё это мы настроим. Установку выполняем по SSH под пользователем с sudo. Почему собственный Nextcloud, а не готовый облачный сервис? Три причины. Первая — приватность: файлы, календарь и контакты лежат на вашем сервере, а не у стороннего провайдера, который может анализировать содержимое. Вторая — стоимость: вы платите за VPS и диск, а не за место помесячно из расчёта на пользователя, что при больших объёмах и команде выходит заметно дешевле. Третья — контроль: вы сами решаете, где физически хранятся данные (важно для требований к локации), какие приложения подключены, кто имеет доступ. Расплата за это — администрирование ложится на вас, но именно его и покрывает это руководство, доводя облако до состояния, когда оно просто работает и не сыплет предупреждениями.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Подготовка сервера и установка LAMP
Обновите систему и установите Apache, MySQL и PHP с полным набором расширений, которые требует Nextcloud для работы с файлами, изображениями, архивами и шифрованием:
apt update && apt -y upgrade
apt -y install apache2 mysql-server php php-mysql php-gd php-xml php-curl php-mbstring php-zip php-intl php-bcmath php-gmp php-imagick libapache2-mod-php unzip
Включите нужные модули Apache и перезапустите веб-сервер:
a2enmod rewrite headers env dir mime
systemctl restart apache2
Откройте порты веб-сервера в фаерволе: ufw allow 'Apache Full'. Набор расширений PHP для Nextcloud шире, чем у обычной CMS: php-bcmath и php-gmp нужны для шифрования, php-imagick — для превью изображений и документов, php-intl — для интернационализации. Nextcloud проверяет их наличие и в разделе состояния прямо укажет, чего не хватает.
Создание базы данных для Nextcloud
Nextcloud хранит метаданные (структуру файлов, пользователей, настройки) в базе; сами файлы лежат на диске. Создадим базу и пользователя. Войдите в консоль MySQL:
mysql
Выполните команды (замените значения на свои):
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'ncuser'@'localhost' IDENTIFIED BY 'надёжный_пароль';
GRANT ALL ON nextcloud.* TO 'ncuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Запишите имя базы, пользователя и пароль — они понадобятся в веб-установщике. Кодировка utf8mb4 обязательна для корректной работы Nextcloud с любыми именами файлов и языками.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSЗагрузка и размещение Nextcloud
Скачайте актуальную версию Nextcloud с официального сайта и распакуйте в каталог сайта:
cd /tmp
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
cp -R nextcloud /var/www/vashdomen.ru
Назначьте владельцем каталога пользователя веб-сервера — Nextcloud активно пишет данные, и без правильного владельца установка не пройдёт:
chown -R www-data:www-data /var/www/vashdomen.ru
Отдельно подумайте о хранилище данных. По умолчанию файлы пользователей лежат в подкаталоге data внутри сайта, но для облака удобнее вынести их на отдельный больший диск или том, указав путь при установке. Это позволяет наращивать хранилище независимо от системного диска.
Настройка Apache и веб-установщик
Создайте конфиг виртуального хоста Apache с DocumentRoot на /var/www/vashdomen.ru и AllowOverride All (Nextcloud полагается на .htaccess). Активируйте сайт и перезапустите Apache:
a2ensite vashdomen.ru
systemctl reload apache2
Направьте A-запись домена на IP сервера и дождитесь распространения DNS:
dig +short vashdomen.ru
Откройте http://vashdomen.ru — запустится веб-установщик Nextcloud. Создайте учётную запись администратора (надёжный логин и пароль), при желании укажите нестандартный каталог данных, затем введите данные базы (nextcloud, ncuser, пароль). Установщик развернёт структуру и подготовит облако. После входа сразу загляните в Настройки → Обзор (состояние системы) — там Nextcloud покажет предупреждения, которые стоит устранить.
Настройка cron, кэша и доверенных доменов
Nextcloud выполняет фоновые задачи (индексация, уведомления, очистка), и по умолчанию они запускаются при обращениях пользователей, что ненадёжно. Правильнее перевести их на системный cron. Добавьте задание для пользователя www-data:
crontab -u www-data -e
И впишите строку запуска каждые 5 минут:
*/5 * * * * php -f /var/www/vashdomen.ru/cron.php
Затем в интерфейсе (Настройки → Основные) выберите способ Cron. Для скорости настройте кэш памяти: установите Redis или APCu и пропишите его в конфиге config/config.php — это убирает предупреждение о кэшировании и ускоряет работу. Также в config.php в массиве trusted_domains добавьте ваш домен, иначе Nextcloud откажется открываться по нему с ошибкой о недоверенном домене.
SSL, безопасность и обслуживание
Для облака с личными файлами HTTPS обязателен. Выпустите бесплатный SSL через certbot:
apt -y install certbot python3-certbot-apache
certbot --apache -d vashdomen.ru
Certbot настроит HTTPS и редирект, сертификат продлевается автоматически. После этого в разделе состояния Nextcloud проверьте оценку безопасности — панель подскажет, что ещё улучшить (заголовки безопасности, HSTS). По безопасности: держите Nextcloud и приложения обновлёнными, включите двухфакторную аутентификацию для пользователей, закройте лишние порты фаерволом, настройте вход по SSH-ключу.
Настройте резервное копирование: для Nextcloud это каталог данных, каталог установки и дамп базы — храните копии вне сервера. Обновляйте Nextcloud штатным механизмом (веб-обновление или консольная утилита occ) и всегда делайте бэкап перед обновлением. Следите за местом на диске: облако заполняется файлами, и переполнение остановит загрузки. На VPS MAATRIX хранилище и память наращиваются без переустановки, что удобно по мере роста объёма данных.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Сколько места и памяти нужно Nextcloud?
Процессор нетребователен, но под файлы нужен объём диска — выбирайте VPS с запасом хранилища. Памяти хватит от 2 ГБ для нескольких пользователей. На VPS MAATRIX диск и RAM увеличиваются без переустановки по мере роста данных.
Почему Nextcloud ругается на предупреждения в состоянии системы?
Обычно не настроен cron, отсутствует кэш памяти (Redis/APCu) или не хватает PHP-расширения. Раздел Обзор прямо указывает причину — устраните по списку: переведите фоновые задачи на системный cron, поставьте кэш, доустановите расширения.
Ошибка о недоверенном домене — что делать?
Добавьте ваш домен в массив trusted_domains в файле config/config.php. Это защита Nextcloud от подмены хоста; без явного указания домена панель по нему не откроется.
Обязателен ли HTTPS?
Да, безусловно — через облако идут личные файлы и пароли. Выпустите Let's Encrypt через certbot и проверьте оценку безопасности в состоянии системы. Без HTTPS данные передаются незащищёнными, что недопустимо для облака.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.