2.9.13.1.2 Настройка NextCloud с СУБД PostgreSQL и ПО для веб-сервера Ngnix
Скачать документ Предварительная подготовка сервера
Настройка SELinux
Установка Nextcloud
Установка PostreSQL14
Настройка PostreSQL
Настройка Nginx
Настройка Nextcloud
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Сервер графический
- Версия ПО: nextcloud-27.1.10-1, nginx-1:1.26.1-1, postgresql14-server-14.12-2
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 domain_can_mmap_files 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
Установка 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
# or execute "SELECT pg_reload_conf()".
#
# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records. In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/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
Приведите файл nginx.conf к следующему виду:
nano /etc/nginx/nginx.conf
....
server {
listen 80;
listen [::]:80;
server_name <ip_сервера>; #укажите 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;
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Перезапустите веб-сервер:
systemctl restart nginx
Выполните проверку настроек Nginx:
nginx -t
Вывод должен быть вида:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Откройте файл 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://<ip_сервера>/nextcloud.
На данном этапе необходимо создать учетную запись администратора и выбрать в поле «Хранилище и база данных» - «PostgreSQL».
Укажите следующие данные для подключения:
пользователь базы данных – nextcloud;
пароль базы данных – nextcloudpassword;
название базы данных – nextcloud;
localhost – localhost:5432.
Далее нажмите «Завершить установку». Установка занимает некоторое время.
На данном этапе установка Nextcloud завершена.
Дата последнего изменения: 02.12.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.