2.9.13.1.2 Настройка NextCloud с СУБД PostgreSQL и ПО для веб-сервера Ngnix
Предварительная подготовка сервера
Настройка SELinux
Установка Nextcloud
Установка PostreSQL14
Настройка PostreSQL
Настройка Nginx
Настройка Nextcloud
Окружение
- Версия ОС: 7.3
- Конфигурация ОС: Рабочая станция, Сервер графический
- Редакция ОС: Стандартная
- Архитектура: x86_64
- Версия ПО: nginx-1.28.0-1, nextcloud-29.0.12-1, nextcloud-nginx-29.0.12-1, postgresql14-server-14.19-1
Nextcloud — набор клиент-серверных программ для создания и использования облачного хранилища. Nextcloud можно установить как на хосте, так и на собственном сервере.
Nextcloud позволяет совместно работать с офисными документами, файлами и информацией для планирования задач и мероприятий. Платформа также включает надстройки для доступа к электронной почте, обмена сообщениями, организации видеоконференций и чатов.
В Nextcloud есть выбор различных СУБД, в статье будет рассмотрена СУБД PostgreSQL, а в качестве ПО для веб-сервера будет выбран Nginx.
PostgreSQL — свободная объектно-реляционная система управления базами данных.
Nginx ― это программное обеспечение с открытым исходным кодом, которое позволяет создавать веб-сервер.
Ранее мы также рассмотрели настройку NextCloud с СУБД MySQL и ПО для веб-сервера Apache в статье «Настройка NextCloud с СУБД MySQL и ПО для веб-сервера Apache».
Предварительная подготовка сервера
Перейдите в сеанс пользователя root:
su -
Здесь и далее команды будут выполняться с правами пользователя root, если не указано иное.
Настройка SELinux
Настройте SELinux:
setsebool -P httpd_can_network_connect 1 setsebool -P httpd_graceful_shutdown 1 setsebool -P httpd_can_network_connect_db 1 setsebool -P daemons_dump_core 1
Установка Nextcloud
Для работы NextCloud версии 27 требуются пакеты php версии 8.
Для корректной настройки NextCloud в РЕД ОС 7.3 необходимо подключить репозиторий php81-release, включающий в себя пакеты php версии 8. Подробную информацию о подключении репозитория с пакетами необходимой версии php см. в нашей инструкции «PHP 8.X на РЕД ОС».
Установка nextcloud для РЕД ОС осуществляется командой:
dnf install nextcloud nextcloud-postgresql nextcloud-nginx php
Установка PostreSQL14
Установите PostgreSQL:
dnf install postgresql14-server
Настройка PostreSQL
Выполните инициализацию:
/bin/postgresql-14-setup initdbЗапустите сервер и добавьте в автозагрузку PostgreSQL, проверьте статус:
systemctl enable postgresql-14 --now systemctl status postgresql-14
Зайдите под пользователем PostgreSQL:
su - postgres
Подключитесь к базе:
psql
Затем создайте пользователя и базу данных с именем nextcloud и предоставьте пользователю права на использование данной БД (пароль укажите свой):
CREATE ROLE nextcloud WITH NOSUPERUSER LOGIN PASSWORD 'nextcloudpassword';
CREATE DATABASE nextcloud WITH OWNER nextcloud;
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;Пример результата выполнения запросов:
postgres=# CREATE ROLE nextcloud WITH NOSUPERUSER LOGIN PASSWORD 'nextcloudpassword';
CREATE ROLE
postgres=# CREATE DATABASE nextcloud WITH OWNER nextcloud;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;
GRANTТестовый запрос на получение списка баз данных:
\l
Выход из оболочки:
\q
Выйдите из текущей учетной записи:
exit
Добавьте разрешение для подключения:
nano /var/lib/pgsql/14/data/postgresql.confПриведите строку к следующему виду:
listen_addresses = '*'
Затем раскомментируйте строку:
port = 5432
Отредактируйте файл pg_hba.conf, приведя строки IPv4 и IPv6 к следующему виду:
nano /var/lib/pgsql/14/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all <IP-адрес_сервера>/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host replication all 127.0.0.1/32 scram-sha-256 host replication all ::1/128 scram-sha-256
Затем выполните перезапуск демона PostgreSQL:
systemctl restart postgresql-14
Настройка Nginx
Запустите веб-сервер Nginx:
systemctl enable nginx --now systemctl status nginx
Определите протокол передачи данных, который будет использоваться для работы с NextCloud — HTTP или HTTPS — и выполните соответствующую настройку.
Приведите файл nginx.conf к следующему виду:
nano /etc/nginx/nginx.conf
...
server {
listen 80;
listen [::]:80;
server_name 192.168.101.172; # укажите IP-адрес сервера
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
sendfile on;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
}Предварительно подготовьте сертификаты. Подробную информацию о подготовке сертификатов см. в разделе «Генерация сертификата» нашей инструкции «Настройка SSL для веб-серверов».
Отредактируйте файл nginx.conf:
nano /etc/nginx/nginx.conf
закомментируйте секцию
serverс настройкой подключения на порту80:#server { #listen 80; #listen [::]:80; #server_name _; #root /usr/share/nginx/html; # Load configuration files for the default server block. #include /etc/nginx/default.d/*.conf; #}раскомментируйте секцию
serverс настройкой подключения на порту443и приведите ее к следующему виду:# Settings for a TLS enabled server. # server { listen 443 ssl default_server; # добавьте параметр default_server listen [::]:443 ssl default_server; # добавьте параметр default_server # http2 on; server_name redsite; # укажите имя сервера БЕЗ доменной области proxy_connect_timeout 600s; # добавьте строку proxy_send_timeout 600s; # добавьте строку proxy_read_timeout 600s; # добавьте строку fastcgi_send_timeout 600s; # добавьте строку fastcgi_read_timeout 600s; # добавьте строку sendfile on; # добавьте строку # root /usr/share/nginx/html; # ssl_certificate "/etc/ssl/certs/redsite.crt"; # укажите путь к файлу сертификата ssl_certificate_key "/etc/ssl/private/redsite.key"; # укажите путь к файлу закрытого ключа # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 10m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # # # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; # раскомментируйте строку } # раскомментируйте строку ...сохраните внесенные изменения и закройте файл.
В файле /etc/nextcloud/config.php добавьте параметр 'overwrite.cli.url' и укажите адрес сервера:
'overwrite.cli.url' => 'https://<доменное_имя_сервера>/nextcloud'Выполните проверку настроек Nginx:
nginx -t
Вывод должен быть вида:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Перезапустите веб-сервер:
systemctl restart nginx
Откройте файл php.ini и приведите параметры к следующему виду:
nano /etc/php.ini
;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; max_execution_time = 3600 max_input_time = 3600 max_input_vars = 1000 # раскомментируйте строку memory_limit = 512M ... ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; upload_tmp_dir = /tmp/ # раскомментируйте строку и укажите путь к каталогу хранения временных файлов
Настройка Nextcloud
Создайте пустой файл CAN_INSTALL для разрешения установки:
touch /usr/share/nextcloud/config/CAN_INSTALL
Назначьте владельцем каталога nextcloud пользователя apache:
sudo chown -R apache:apache /usr/share/nextcloud
Настройте SELinux:
chcon -R -t httpd_sys_rw_content_t /usr/share/nextcloud
В браузере, в зависимости от настроенного типа подключения (HTTP или HTTPS), перейдите по ссылке вида — http://<IP-адрес_сервера>/nextcloud или https://<доменное_имя_сервера>/nextcloud.
На данном этапе создайте учетную запись администратора и выберите в поле «Хранилище и база данных» базу данных PostgreSQL.
Укажите следующие данные для подключения:
Учетная запись базы данных – nextcloud;
Пароль базы данных – nextcloudpassword;
Имя базы данных – nextcloud;
Хост базы данных – localhost:5432.

Далее нажмите «Установить». Установка занимает некоторое время.
После завершения установки NextCloud будет предложено установить дополнительные приложения. Нажмите «Установить рекомендуемые приложения», чтобы установить приложения сразу, или выберите «Пропустить», чтобы установить их позднее.

На данном этапе установка Nextcloud завершена. Главное приветственное окно будет выглядеть следующим образом:

Дата последнего изменения: 10.12.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.