· 18 мин чтения

Nextcloud для корпоративного файлообмена: полный деплой

Семёнов Евгений Сергеевич, директор АйТи Фреш. Я внедрил Nextcloud в более чем 40 компаниях за последние 8 лет — от офисов на 15 человек до производств на 500+. И каждый раз убеждаюсь: это лучшее решение на замену Google Drive, Dropbox, Яндекс.Диска в корпоративной среде, где данные должны оставаться на своих серверах. В этой статье — полный гайд по установке Nextcloud с продакшен-стеком: PostgreSQL, Redis, ONLYOFFICE, S3, интеграцией с Active Directory.

Почему Nextcloud, а не другие

Альтернатив хватает: ownCloud, Seafile, Pydio, Syncthing. У нас на практике Nextcloud побеждает по совокупности факторов.

Архитектура под продакшн

Одна виртуалка «всё в одном» работает до 30 пользователей. Для корпоратива я всегда разделяю роли:

Установка на Ubuntu 22.04

apt update && apt install -y nginx php8.2-fpm php8.2-cli php8.2-gd \
  php8.2-mysql php8.2-pgsql php8.2-curl php8.2-intl php8.2-mbstring \
  php8.2-xml php8.2-zip php8.2-bcmath php8.2-gmp php8.2-imagick \
  php8.2-redis php8.2-apcu postgresql-15 redis-server

# PHP tuning
sed -i 's/memory_limit = .*/memory_limit = 1024M/' /etc/php/8.2/fpm/php.ini
sed -i 's/upload_max_filesize = .*/upload_max_filesize = 10G/' /etc/php/8.2/fpm/php.ini
sed -i 's/post_max_size = .*/post_max_size = 10G/' /etc/php/8.2/fpm/php.ini
sed -i 's/max_execution_time = .*/max_execution_time = 3600/' /etc/php/8.2/fpm/php.ini

# Скачиваем Nextcloud
cd /var/www
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
tar -xjf latest.tar.bz2
chown -R www-data:www-data nextcloud

PostgreSQL для Nextcloud

sudo -u postgres psql <

Nginx + HTTPS

# /etc/nginx/sites-available/nextcloud
server {
    listen 443 ssl http2;
    server_name cloud.corp.example.ru;

    ssl_certificate /etc/ssl/certs/cloud.crt;
    ssl_certificate_key /etc/ssl/private/cloud.key;

    client_max_body_size 10G;
    fastcgi_buffers 64 4K;

    root /var/www/nextcloud/;
    index index.php index.html;

    location = /robots.txt { allow all; log_not_found off; access_log off; }
    location = /.well-known/carddav { return 301 /remote.php/dav; }
    location = /.well-known/caldav { return 301 /remote.php/dav; }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { deny all; }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; }

    location ~ \.php(?:$|/) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }

    location / { try_files $uri $uri/ /index.php$request_uri; }
}

Интеграция с Active Directory

Устанавливаем приложение LDAP / Active Directory integration, потом через UI или occ:

sudo -u www-data php /var/www/nextcloud/occ app:enable user_ldap
sudo -u www-data php /var/www/nextcloud/occ ldap:create-empty-config

# Настраиваем через веб-интерфейс: Host DC01.corp.example.ru,
# BaseDN CN=Users,DC=corp,DC=example,DC=ru,
# BindDN nextcloud-svc@corp.example.ru

Фильтр пользователей: (&(objectClass=user)(memberOf=CN=NC-Users,OU=Groups,DC=corp,DC=example,DC=ru)). Фильтр групп: (objectClass=group). После настройки сотрудники входят доменным логином, а админы домена автоматически попадают в группу admin в Nextcloud.

S3 external storage на MinIO

Для больших объёмов файлов я всегда использую S3 как primary storage. Это отдельная настройка в config.php:

// /var/www/nextcloud/config/config.php
'objectstore' => [
  'class' => '\\OC\\Files\\ObjectStore\\S3',
  'arguments' => [
    'bucket' => 'nextcloud-prod',
    'autocreate' => false,
    'key' => 'AKIANEXTCLOUDXXX',
    'secret' => 'VeryStrongS3Secret',
    'hostname' => 's3.corp.example.ru',
    'port' => 9000,
    'use_ssl' => true,
    'use_path_style' => true,
    'region' => 'us-east-1',
  ],
],

ONLYOFFICE Document Server

# Отдельная VM
apt install -y docker.io
docker run -d --restart=always --name=onlyoffice -p 80:80 -p 443:443 \
  -e JWT_ENABLED=true \
  -e JWT_SECRET='nextcloud_shared_secret' \
  -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
  -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
  onlyoffice/documentserver

В Nextcloud ставим приложение ONLYOFFICE, указываем URL сервера и JWT-ключ — дальше DOCX/XLSX/PPTX открываются прямо в браузере.

Реальный кейс: производство на 180 сотрудников

В декабре 2025 внедрил Nextcloud для клиента — производство мебели в Подмосковье, 180 сотрудников, 4 ТБ общих файлов. Раньше был файловый сервер Windows с SMB — тормоза, вирусы-шифровальщики, ноль мобильного доступа. Железо: Dell PowerEdge R750xa (Xeon Platinum 8280, 128 ГБ RAM, 2×1.92 ТБ NVMe под OS/БД, 40G Mellanox ConnectX-5) в дата-центре МТС. Nextcloud + PostgreSQL + Redis на одной виртуалке, ONLYOFFICE — на второй, MinIO на трёх узлах под файлы. Интеграция с AD, групповые шары по отделам, полная авто-синхронизация через клиент. Через 3 месяца: 170 из 180 пользователей активно используют, средний объём файлов одного — 22 ГБ, скорость отдачи в офис по 40G — 9.2 ГБ/с. Стоимость проекта 340 000 руб., экономия на Dropbox Business — около 950 000 руб. в год.

Обслуживание

Внедрим Nextcloud под ключ

Подбор железа, установка, настройка БД и кэша, AD-интеграция, S3-хранилище, ONLYOFFICE, мобильные клиенты, бэкап в MinIO. Объекты от 20 до 2000 пользователей. Москва и область.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — корпоративный Nextcloud

Чем Nextcloud лучше Google Drive?
Nextcloud живёт на вашем сервере — данные остаются в вашей юрисдикции. Нет абонентской платы за пользователя, нет лимитов на объём.
Сколько пользователей тянет одна инсталляция?
На Xeon Silver с 64 ГБ RAM — до 200 активных пользователей. На мощном железе — до 2000.
Нужен ли ONLYOFFICE?
Очень рекомендую. Даёт плавное совместное редактирование DOCX/XLSX/PPTX с высокой совместимостью с Microsoft Office.
Как хранить 10+ ТБ данных?
External storage на S3/MinIO — идеальный вариант. Масштабируется до петабайт без проблем.
Как интегрировать с Active Directory?
Через приложение LDAP/AD Integration. Сотрудники входят доменными паролями, автоматически получают права по группам.

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.