8.2.7 Розгортання NextCloud на сервері

The Host NextCloud Banner

NextCloud — сучасна open-source альтернатива Google Drive, Dropbox та Яндекс.Диск для приватної чи корпоративної хмари. Дозволяє зберігати, синхронізувати й спільно використовувати файли з будь-яких пристроїв.

Підготовка сервера

Вимоги

  • Віртуальний або виділений сервер (VPS/VDS) з Ubuntu 22.04 або 24.04 LTS;
  • CPU: 2+ ядра;
  • RAM: від 4 ГБ (рекомендовано 8 ГБ для команди);
  • SSD-диск (обсяг — відповідно до ваших потреб);
  • root-доступ (або sudo);
  • Доменне ім’я (для коректної роботи HTTPS).

Встановлення та налаштування компонентів

Перед встановленням NextCloud необхідно встановити потрібні пакети:

sudo apt update && sudo apt upgrade -y
sudo apt install apache2 mysql-server libapache2-mod-php \
php php-mysql php-xml php-gd php-curl php-zip php-mbstring \
php-intl php-bcmath php-gmp php-imagick php-redis redis-server unzip curl -y

update upgrade sys Install dep

Для підтримки HTTPS рекомендується встановити certbot. Деталі щодо встановлення Certbot можете дізнатись з нашої загальної інструкції

Налаштування MySQL для NextCloud

  1. Увійдіть у MySQL:
mysql -u root -p
  1. Виконайте по черзі:
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'СКЛАДНИЙ_ПАРОЛЬ';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Пояснення: Ім’я бази, користувача та пароль повинні бути складними й унікальними — вони використовуються лише для NextCloud.

Завантаження й встановлення NextCloud

  1. Перейдіть у директорію для веб-додатків:
cd /var/www/
  1. Завантажте й розпакуйте дистрибутив:
sudo curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
sudo unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
sudo chmod -R 755 nextcloud

Навіщо це потрібно: Права доступу www-data обов’язкові для роботи Apache та безпечного завантаження файлів.

Налаштування Apache для NextCloud

  1. Створіть файл конфігурації сайту:
sudo nano /etc/apache2/sites-available/nextcloud.conf
  1. Додайте таке:
<VirtualHost *:80>
  ServerName cloud.example.com

  DocumentRoot /var/www/nextcloud/
  <Directory /var/www/nextcloud/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews
  </Directory>
  ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
  CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>

— де cloud.example.com — ваш домен (або IP для тесту).

  1. Активуйте сайт і потрібні модулі:
sudo a2ensite nextcloud.conf
sudo a2enmod rewrite headers env dir mime ssl
sudo systemctl reload apache2

a2ensite

  1. Переконайтеся, що у файлі конфігурації Apache для каталогу nextcloud вказано AllowOverride All.

Налаштування HTTPS

  1. Отримайте безкоштовний сертифікат:
sudo certbot --apache -d cloud.example.com

certbotinstall

  1. Дотримуйтесь інструкцій у терміналі, дочекайтесь повідомлення Congratulations!.

certbotapacheactivate

Важливо! Не використовуйте NextCloud без HTTPS — ваші файли можуть бути перехоплені!

Завершення встановлення NextCloud

  1. Відкрийте браузер і перейдіть на свій домен (наприклад, http://cloud.example.com).

  2. Заповніть поля:

    • Ім’я адміністратора й пароль (ви створюєте нового користувача)
    • База даних: MySQL/MariaDB
    • Користувач: nextcloud
    • Пароль: (ваш СКЛАДНИЙ_ПАРОЛЬ)
    • Назва бази: nextcloud
    • Сервер БД: localhost

webinterfacesetup

  1. Натисніть “Встановити”. Після входу — налаштуйте додатки, інтеграції, обмеження на розмір файлів тощо.

Якщо всі кроки виконані правильно, ви побачите таку сторінку:

webinterface nextcloud


Типові проблеми та швидкі рішення
Проблема Причина Рішення
Відсутній PHP-модуль Модуль не встановлено/неактивний sudo apt install php-ім'я_модуля, перезапустіть Apache
502/504 Gateway Timeout Недостатньо RAM або маленькі ліміти PHP Збільшіть RAM, налаштуйте ліміти у php.ini (memory_limit, max_execution_time)
Немає прав на запис Неправильні права або власник каталогу sudo chown -R www-data:www-data /var/www/nextcloud
Не вдається підключитись до MySQL Помилка доступу або MySQL не запущено Перевірте логін/пароль, назву бази, статус: sudo systemctl status mysql
Помилка SSL/сертифіката Проблеми з сертифікатом, доменом чи DNS Запустіть certbot повторно, перевірте DNS-записи і правильність домену

Посилання на офіційну документацію та ресурси