---
title: 'Инструкция по установке Nextcloud на Debian 13 с PostgreSQL и самоподписанным SSL-сертификатом'
url: 'https://itsch.ru/ru/blog/instrukciya-po-ustanovke-nextcloud-na-debian-13-s-postgresql-i-samopodpisannym-ssl-sertifikatom'
markdown: 'https://itsch.ru/ru/blog/instrukciya-po-ustanovke-nextcloud-na-debian-13-s-postgresql-i-samopodpisannym-ssl-sertifikatom.md'
lang: ru
date: '2026-09-12'
description: 'Nextcloud — одно из лучших решений для создания приватного облачного хранилища в образовательной или корпоративной среде. Рассмотрим развертывание Nextcloud на чистом Debian 13, используя стандартные конфигурации Apache. Nextcloud Hub — предоставляет самодостаточное решение для орга…'
taxonomy:
  category:
    - Linux
    - Статьи
    - Debian
  tag:
    - Linux
    - Debian
    - Apache
    - Веб-сервер
    - NextCloud
---

**Nextcloud** — одно из лучших решений для создания приватного облачного хранилища в образовательной или корпоративной среде. Рассмотрим развертывание Nextcloud на чистом Debian 13, используя стандартные конфигурации Apache.

Nextcloud Hub — предоставляет самодостаточное решение для организации совместной работы сотрудников предприятий и команд, развивающих различные проекты. По решаемым задачам Nextcloud Hub напоминает Google Docs и Microsoft 365, но позволяет развернуть полностью контролируемую инфраструктуру совместной работы, функционирующую на своих серверах и не привязанную к внешним облачным сервисам. Исходные тексты Nextcloud распространяются под лицензией AGPL.
Nextcloud Hub объединяет в единую среду несколько открытых приложений-надстроек над облачной платформой Nextcloud, позволяющих совместно работать с офисными документами, файлами и информацией для планирования задач и мероприятий. Платформа также включает надстройки для доступа к электронной почте, обмена сообщениями, организации видеоконференций и чатов.

#### Предварительная подготовка

- Сервер с Debian 13 (минимум 2 ГБ ОЗУ, 20 ГБ диска)
- Статический IP-адрес в локальной сети
- Доступ с правами **root**

#### 1. Обновление системы и установка базовых пакетов

```
apt update && apt upgrade -y
apt install -y curl wget gnupg2 mc
```

####  

#### 2. Установка и настройка PostgreSQL

**Установка PostgreSQL:**

```
apt install -y postgresql postgresql-contrib
```

**Создание базы данных и пользователя:**

```
su - postgres -c "createuser --createdb --login --pwprompt nextclouduser"
su - postgres -c "createdb --owner=nextclouduser nextcloud"
```

*Сохраняем пароль для пользователя nextclouduser — он понадобится позже.*

####  

#### 3. Установка Apache2 и PHP

**Установка Apache2 и модулей:**

```
apt install -y apache2 libapache2-mod-php
a2enmod rewrite headers env dir mime ssl
```

**Установка PHP и расширений для Debian 13:**

```
apt install -y php php-cli php-common php-curl php-gd php-json \
php-mbstring php-xml php-zip php-pgsql php-bcmath php-gmp \
php-imagick php-bz2 php-intl php-opcache
```

####  

#### 4. Загрузка и установка Nextcloud

**Скачивание и проверка Nextcloud:**

```
cd /tmp
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
wget https://download.nextcloud.com/server/releases/latest.tar.bz2.sha256
sha256sum -c latest.tar.bz2.sha256
```

**Распаковка и настройка прав:**

```
tar -xjf latest.tar.bz2 -C /var/www/html/ --strip-components=1
chown -R www-data:www-data /var/www/html/
```

####  

#### 5. Настройка дефолтных конфигов Apache2

**Резервное копирование оригинальных конфигов:**

```
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.backup
cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.backup
```

**Редактирование основного конфига (/etc/apache2/sites-available/000-default.conf):**

Открываем файл на редактирование в mcedit:

```
mcedit /etc/apache2/sites-available/000-default.conf
```

Меняем содержимое на:

```
<VirtualHost *:80>
    ServerAdmin admin@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined

    <Directory /var/www/html/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted

        <IfModule mod_dav.c>
            Dav off
        </IfModule>

        SetEnv HOME /var/www/html
        SetEnv HTTP_HOME /var/www/html
    </Directory>

    <Directory /var/www/html/data/>
        Require all denied
    </Directory>

    <Directory /var/www/html/config/>
        Require all denied
    </Directory>

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</VirtualHost>
```

**Редактирование SSL конфига (/etc/apache2/sites-available/default-ssl.conf):**

```
mcedit /etc/apache2/sites-available/default-ssl.conf
```

Меняем содержимое на:

```
<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerAdmin admin@localhost
        DocumentRoot /var/www/html

        ErrorLog ${APACHE_LOG_DIR}/nextcloud_ssl_error.log
        CustomLog ${APACHE_LOG_DIR}/nextcloud_ssl_access.log combined

        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/nextcloud-selfsigned.crt
        SSLCertificateKeyFile /etc/ssl/private/nextcloud-selfsigned.key

        SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
        SSLProtocol All -SSLv3 -TLSv1 -TLSv1.1
        SSLHonorCipherOrder Off
        SSLSessionTickets Off

        <Directory /var/www/html/>
            Options +FollowSymlinks
            AllowOverride All
            Require all granted

            <IfModule mod_dav.c>
                Dav off
            </IfModule>

            SetEnv HOME /var/www/html
            SetEnv HTTP_HOME /var/www/html
        </Directory>

        <Directory /var/www/html/data/>
            Require all denied
        </Directory>

        <Directory /var/www/html/config/>
            Require all denied
        </Directory>

        Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
        Header always set X-Content-Type-Options "nosniff"
        Header always set X-XSS-Protection "1; mode=block"
        Header always set X-Robots-Tag "none"
        Header always set X-Frame-Options "SAMEORIGIN"
        Header always set Referrer-Policy "no-referrer"
    </VirtualHost>
</IfModule>
```

####  

#### 6. Настройка PHP для Nextcloud

**Определяем версию PHP и настраиваем php.ini:**

```
php_version=$(php -v | head -n 1 | cut -d " " -f 2 | cut -d '.' -f 1,2)
cat >> /etc/php/$php_version/apache2/php.ini << 'EOF'

; Nextcloud configuration
memory_limit = 512M
upload_max_filesize = 10G
post_max_size = 10G
max_execution_time = 360
max_input_time = 360
output_buffering = 0
date.timezone = Europe/Moscow

; PostgreSQL
extension = pgsql
extension = pdo_pgsql

; OPcache для производительности
opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
EOF
```

####  

#### 7. Создание самоподписанного SSL-сертификата

```
mkdir -p /etc/ssl/private /etc/ssl/certs
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
    -keyout /etc/ssl/private/nextcloud-selfsigned.key \
    -out /etc/ssl/certs/nextcloud-selfsigned.crt \
    -subj "/C=RU/ST=SPb/L=Saint-Petersburg/O=IT-SCH/CN=nextcloud" \
    -addext "subjectAltName=DNS:localhost,IP:127.0.0.1"
```

####  

#### 8. Активация SSL и перезапуск служб

```
a2ensite default-ssl.conf
apache2ctl configtest
systemctl restart apache2
systemctl enable apache2
```

####  

#### 9. Настройка cron для фоновых задач

```
echo "*/5 * * * * /usr/bin/php /var/www/html/cron.php" | crontab -u www-data -
```

####  

#### Завершение установки через веб-интерфейс

1. **Открываем браузер** и переходим по адресу вашего сервера: `https://IP-АДРЕС-СЕРВЕРА`
2. **Создаём учетную запись администратора**
3. **В настройках базы данных указываем:**
    - Тип БД: **PostgreSQL**
    - Пользователь БД: `nextclouduser`
    - Пароль БД: \[пароль из Шага 2\]
    - Имя БД: `nextcloud`
    - Хост БД: `localhost`
4. **Нажимаем "Завершить настройку"**

#### Проверка работоспособности

```
# Проверка статуса служб
systemctl status apache2
systemctl status postgresql

# Проверка доступности Nextcloud
curl -k https://localhost/status.php
```

#### Важные замечания

- Nextcloud будет доступен по **любому IP-адресу** сервера
- При первом подключении браузер покажет **предупреждение о самоподписанном сертификате** — это нормально

Bootstrap 4 Theme for [Grav](http://getgrav.org)

---

## Navigation

- Parent: [Блог](https://itsch.ru/ru/index.md)
- Previous: [Переход на отечественное и свободно распространяемое программное обеспечение в образовательных учреждениях: практическое руководство](https://itsch.ru/ru/blog/perekhod-na-otechestvennoe-i-svobodno-rasprostrayaemoe-programmnoe-obespechenie-v-obrazovatelnykh-uchrezhdeniyakh-prakticheskoe-rukovodstvo.md)
- Next: [Инструкция по установке и настройке КриптоПро CSP на ОС «Альт Образование» 10.04 для работы с токенами членов ГЭК](https://itsch.ru/ru/blog/instrukciya-po-ustanovke-kriptopro-csp-po-na-os-alt-obrazovanie-10-04.md)
