8.2.7 Розгортання NextCloud на сервері
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
Для підтримки HTTPS рекомендується встановити certbot. Деталі щодо встановлення Certbot можете дізнатись з нашої загальної інструкції
Налаштування MySQL для NextCloud
- Увійдіть у MySQL:
mysql -u root -p
- Виконайте по черзі:
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
- Перейдіть у директорію для веб-додатків:
cd /var/www/
- Завантажте й розпакуйте дистрибутив:
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
- Створіть файл конфігурації сайту:
sudo nano /etc/apache2/sites-available/nextcloud.conf
- Додайте таке:
<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 для тесту).
- Активуйте сайт і потрібні модулі:
sudo a2ensite nextcloud.conf
sudo a2enmod rewrite headers env dir mime ssl
sudo systemctl reload apache2
- Переконайтеся, що у файлі конфігурації Apache для каталогу nextcloud вказано
AllowOverride All
.
Налаштування HTTPS
- Отримайте безкоштовний сертифікат:
sudo certbot --apache -d cloud.example.com
- Дотримуйтесь інструкцій у терміналі, дочекайтесь повідомлення
Congratulations!
.
Важливо! Не використовуйте NextCloud без HTTPS — ваші файли можуть бути перехоплені!
Завершення встановлення NextCloud
-
Відкрийте браузер і перейдіть на свій домен (наприклад, http://cloud.example.com).
-
Заповніть поля:
- Ім’я адміністратора й пароль (ви створюєте нового користувача)
- База даних: MySQL/MariaDB
- Користувач: nextcloud
- Пароль: (ваш СКЛАДНИЙ_ПАРОЛЬ)
- Назва бази: nextcloud
- Сервер БД: localhost
- Натисніть “Встановити”. Після входу — налаштуйте додатки, інтеграції, обмеження на розмір файлів тощо.
Якщо всі кроки виконані правильно, ви побачите таку сторінку:
Типові проблеми та швидкі рішення
Проблема | Причина | Рішення |
---|---|---|
Відсутній 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-записи і правильність домену |
Посилання на офіційну документацію та ресурси