3.9 Настройка 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.
На время настройки сервиса переведите selinux в режим disabled. Для этого измените содержимое конфигурационного файла:
nano /etc/selinux/config
Заменив текст SELINUX=enforcing
на SELINUX=disabled
Более подробно см.ссылку
Не забудьте включить selinux после завершения настройки.
Необходимо подготовить систему для установки NextCloud, для этого установите следующие пакеты (потребуются права администратора системы):
sudo 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:
sudo systemctl start mariadb && systemctl enable mariadb
Выполните скрипт mysql_secure_installation, чтобы защитить базу данных от злоумышленников:
sudo 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, выполнив команду:
sudo dnf install nextcloud.noarch nextcloud-httpd.noarch nextcloud-mysql.noarch
Создайте виртуальный хост, для этого отредактируйте файл /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
Назначьте владельцем каталога nextcloud пользователя apache:
sudo chown -R apache. /usr/share/nextcloud
Добавьте в автозагрузку службу httpd и запустите ее:
sudo 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
Дата последнего изменения: 27.02.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.