Предварительная подготовка сервера Настройка SELinux Установка Nextcloud Установка PostreSQL14 Настройка PostreSQL Настройка Nginx Настройка Nextcloud
Окружение
Nextcloud — набор клиент-серверных программ для создания и использования облачного хранилища. Nextcloud можно установить как на хосте, так и на собственном сервере.
Nextcloud позволяет совместно работать с офисными документами, файлами и информацией для планирования задач и мероприятий. Платформа также включает надстройки для доступа к электронной почте, обмена сообщениями, организации видеоконференций и чатов.
В Nextcloud есть выбор различных СУБД, в статье будет рассмотрена СУБД PostgreSQL, а в качестве ПО для веб-сервера будет выбран Nginx.
PostgreSQL — свободная объектно-реляционная система управления базами данных.
Nginx ― это программное обеспечение с открытым исходным кодом, которое позволяет создавать веб-сервер.
Ранее мы также рассмотрели настройку NextCloud с СУБД MySQL и ПО для веб-сервера Apache в статье «Настройка NextCloud с СУБД MySQL и ПО для веб-сервера Apache».
Перейдите в сеанс пользователя root:
su -
Здесь и далее команды будут выполняться с правами пользователя root, если не указано иное.
Настройте 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 версии 27 требуются пакеты php версии 8.
Для корректной настройки NextCloud в РЕД ОС 7.3 необходимо подключить репозиторий php81-release, включающий в себя пакеты php версии 8. Подробную информацию о подключении репозитория с пакетами необходимой версии php см. в нашей инструкции «PHP 8.X на РЕД ОС».
Установка nextcloud для РЕД ОС осуществляется командой:
dnf install nextcloud nextcloud-postgresql nextcloud-nginx
Установите PostgreSQL:
dnf install postgresql14-server
Выполните инициализацию:
/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:
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/
Создайте пустой файл CAN_INSTALL для разрешения установки:
touch /usr/share/nextcloud/config/CAN_INSTALL
Назначьте владельцем каталога nextcloud пользователя apache:
sudo chown -R apache:apache /usr/share/nextcloud
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.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.