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 и отредактируйте строку Allowoverride:
Настройка 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 ) |
Нет прав на запись | Неправильные права или владелец каталога NextCloud | sudo chown -R www-data:www-data /var/www/nextcloud |
Не удаётся подключиться к MySQL | Ошибка доступа/служба MySQL не запущена | Проверьте логин/пароль, имя базы и статус: sudo systemctl status mysql |
Ошибка SSL/сертификата | Проблемы с сертификатом/доменом или DNS | Запустите certbot повторно, проверьте DNS-записи и корректность домена |
Ссылки на официальную документацию и ресурсы