3.9.2.1 Настройка NextCloud с СУБД MySQL и ПО для веб-сервера Apache
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Сервер графический
- Версия ПО: nextcloud-23.0.0-1
Nextcloud — набор клиент-серверных программ для создания и использования облачного хранилища. Nextcloud можно установить как на хосте, так и на собственном сервере. По доступной функциональности похож на Dropbox.
В отличие от проприетарных сервисов, таких как Dropbox, открытая архитектура Nextcloud позволяет добавлять функциональность на сервер в виде приложений и дает возможность пользователям полностью контролировать свои данные.
Nextcloud позволяет совместно работать с офисными документами, файлами и информацией для планирования задач и мероприятий. Платформа также включает надстройки для доступа к электронной почте, обмена сообщениями, организации видеоконференций и чатов.
Аутентификация пользователей может производиться как по локальной базе, так и через интеграцию с LDAP/Active Directory, Kerberos, IMAP, в том числе с применением двухфакторной аутентификации, SSO (Single-sign-on) и привязки новых систем к учётной записи по QR-коду. Версионный контроль изменений позволяет отслеживать изменения в файлах, комментариях, правилах совместного доступа и тегах.
Также облачное хранилище поддерживает синхронизацию и обмен данными, предоставляет возможность просмотра и редактирования данных с любого устройства в любой точке сети. Доступ к данным может быть организован как при помощи web-интерфейса, так и с использованием протокола WebDAV и его расширений CardDAV и CalDAV.
Сервер Nextcloud можно развернуть на любом хостинге, поддерживающем выполнение PHP-скриптов и предоставляющем доступ к SQLite, MariaDB/MySQL или PostgreSQL.
Основные компоненты платформы Nextcloud:
- Files - организация хранения, синхронизации, совместного доступа и обмена файлами. Доступ может быть осуществлён как через Web, так и при помощи клиентского ПО для настольных и мобильных систем. Предоставляются такие расширенные возможности, как полнотекстовый поиск, прикрепление файлов при отправке комментариев, выборочный контроль доступа, создание защищённых паролем ссылок для загрузки, интеграция с внешними хранилищами (FTP, CIFS/SMB, SharePoint, NFS, Google Drive, Dropbox и т.п.).
- Flow - оптимизирует бизнеc-процессы через автоматизацию выполнения типовых работ, таких как преобразование документов в PDF, отправка сообщений в чаты при загрузке новых файлов в определённые каталоги, автоматическое назначение тегов. Возможно создание собственных обработчиков, выполняющих действия в привязке к определённым событиям.
- Встроенные средства совместного редактирования документов, электронных таблиц и презентаций на базе пакета ONLYOFFICE. Обеспечена полная интеграция ONLYOFFICE с остальными компонентами платформы, например, несколько участников могут одновременно редактировать один документ, параллельно обсуждая изменения в видеочате и оставляя заметки.
- Photos - галерея изображений, упрощающая поиск, обмен и навигацию по совместной коллекции фотографий и изображений. Поддерживается ранжирование фотографий по времени, месту, тегам и частоте просмотра.
- Calendar - календарь-планировщик, позволяющий координировать проведение встреч, планировать чаты и видеоконференции. Поддерживается загрузка событий с внешних ресурсов, поддерживающих протокол WebCal.
- Mail - совместная адресная книга и web-интерфейс для работы с электронной почтой. Возможна привязка нескольких учётных записей к одному inbox. Поддерживается шифрование писем и прикрепление цифровых подписей на базе OpenPGP. Возможна синхронизация адресной книги при помощи CalDAV.
- Talk - система обмена сообщениями и проведения web-конференций (чат, аудио и видео). Имеется возможность предоставления доступа к содержимому экрана и поддержка SIP-шлюзов для интеграции с обычной телефонией.
Установка NextCloud
Переведите на машине selinux в режим disabled.
nano /etc/selinux/config
Заменив текст SELINUX=enforcing
на SELINUX=disabled
Более подробно см.ссылку
Не забудьте включить selinux после завершения настройки.
Необходимо подготовить систему для установки NextCloud, для этого установить следующие пакеты.
Если вы используете РЕД ОС 7.1 или 7.2, выполните команду:
# yum install httpd php php-dom php-mbstring php-gd php-pdo php-json php-xml php-zip php-curl php-mcrypt php-pear setroubleshoot-server bzip2 php-ldap php-mysqlnd mariadb mariadb-server mod_auth_kerb -y
Если вы используете РЕД ОС 7.3 и старше, выполните команду:
# dnf install httpd php php-dom php-mbstring php-gd php-pdo php-json php-xml php-zip php-curl php-mcrypt php-pear setroubleshoot-server bzip2 php-ldap php-mysqlnd mariadb mariadb-server mod_auth_kerb php-fpm -y
В качестве базы данных используется MySQl.
Запуск и добавление в автозапуск mariadb:
# systemctl start mariadb && systemctl enable mariadb
Выполните скрипт mysql_secure_installation, чтобы защитить базу данных от злоумышленников:
# mysql_secure_installation
На первом шаге вам нужно задать пароль root, по умолчанию пароль не задан, по этому нажмите Enter.
Далее введите пароль root и удалите анонимных пользователей.
Запретите удаленный вход для root, если необходимо:
Удалите тестовую базу данных и обновите таблицу привилегий:
Осталось создать базу данных и пользователя, которые вы сможете использовать. Для подключения к базе используйте команду mysql:
# mysql -u root -p CREATE DATABASE nextcloud; CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'qwerqwer'; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost'; FLUSH PRIVILEGES; quit
Установите NextCloud.
Если вы используете РЕД ОС 7.1 или 7.2, выполните команду:
# yum install nextcloud.noarch nextcloud-httpd.noarch nextcloud-mysql.noarch
Если вы используете РЕД ОС 7.3 и старше, выполните команду:
# dnf install nextcloud.noarch nextcloud-httpd.noarch nextcloud-mysql.noarch
Назначьте владельцем каталога nextcloud пользователя apache:
# chown -R apache. /usr/share/nextcloud
Создайте виртуальный хост, для этого отредактируйте файл /etc/httpd/conf.d/nextcloud.conf:
nano /etc/httpd/conf.d/nextcloud.conf
Добавив в него следующее:
<VirtualHost *:80> ServerName localhost.localdomain ServerAdmin admin@localdomain DocumentRoot /usr/share/nextcloud <directory /usr/share/nextcloud> Require all granted AllowOverride All Options FollowSymLinks MultiViews SetEnv HOME /usr/share/nextcloud SetEnv HTTP_HOME /usr/share/nextcloud </directory> </VirtualHost>
где:
ServerName - полное имя сервера.
Создайте пустой файл CAN_INSTALL, для разрешения установки:
touch /usr/share/nextcloud/config/CAN_INSTALL
Добавьте в автозапуск httpd и запустите:
# systemctl enable httpd --now
Отредактируйте файл /usr/share/nextcloud/config/config.php.
Создайте секцию trusted_domains в массиве и впишите IP-адрес этого сервера по образцу:
$CONFIG = array ( .... 'trusted_domains' => array ( 0 => '192.168.0.29', ), ... )
Далее, с помощью браузера, зайдите в веб интерфейс по адресу:
http://<ip-адрес_сервера>/nextcloud
В открывшемся интерфейсе введите имя и пароль аккаунта будущего администратора сервера, а так же выберите в качестве базы данных сервер MySQL/MariaDBВведите ранее созданного пользователя MySQL и название базы данных.
Пользователь: nc_user
Пароль: qwerqwer
Название базы: nextcloud
Хост: localhost
Дата последнего изменения: 16.06.2023
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.