Установка Nextcloud
Вводная информация
Перед установкой Nextcloud необходимо ознакомится с рекомендуемыми системными требованиями
Для установки Nextcloud потребуется несколько компонентов, каждый из которых выполняет определенную роль в работе системы.
- СУБД CУБД используется для хранения всей информации, связанной с Nextcloud: данные пользователей, списки файлов, настройки, журналы активности и т.д. Она обеспечивает быстрый доступ к этим данным, их сохранность и возможность масштабирования.
- PHP PHP является основным языком программирования, на котором написан Nextcloud. Оно необходимо для выполнения серверной логики, обработки запросов пользователей и взаимодействия с базой данных и веб-сервером.
- Веб-сервер Веб-сервер отвечает за обработку входящих HTTP/HTTPS-запросов и доставку веб-страниц пользователям. Он обеспечивает работу интерфейса Nextcloud, доступного через браузер, и управляет передачей данных между клиентом и сервером.
- Nextcloud Nextcloud — это само приложение, которое обеспечивает функциональность облачного хранилища. После установки оно предоставляет пользователям доступ к файлам, синхронизацию данных, совместную работу с документами и другими сервисами.
Подготовка к установке
Перед началом установки необходимо обновить пакеты.
Актуализируем списки пакетов и обновляем их.
apt update
apt upgrade
Установка MariaDB
В качестве СУБД можно выбрать разные решения, полный список которых доступен в системных требованиях на официальном сайте Nextcloud. В этой инструкции будет использована MariaDB.
Устанавливаем MariaDB.
apt install mariadb-server -y
Запускаем её и проверяем её статус СУБД:
systemctl start mariadb
systemctl status mariadb
Если никаких ошибок нет, то добавляем в автозагрузку.
systemctl enable mariadb
Настройка СУБД
Для дальнейшей настройки нам необходимо подключиться к локальному серверу СУБД.
mysql
Nextcloud хранит большинство своих настроек в базе данных. Поэтому создадим БД и пользователя, а Nextcloud после первого запуска уже сам создаст нужные ему таблицы, индексы и представления.
CREATE USER 'nextcloud_admin'@'localhost' IDENTIFIED BY 'admin_pswd';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud_admin'@'localhost';
FLUSH PRIVILEGES;
CREATE USER 'nextcloud_admin'@'localhost' IDENTIFIED BY 'admin_pswd';CREATE USER: Создает нового пользователя в MySQL.'nextcloud_admin'@'localhost': Указывает имя пользователя (nextcloud_admin) и хост, с которого он будет подключаться к базе данных (localhost, то есть с того ж е сервера, на котором находится MySQL).IDENTIFIED BY 'admin_pswd': Устанавливает пароль для пользователяnextcloud_admin. В данном случае в качестве пароля используется'admin_pswd', но его следует заменить на более безопасный.
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;CREATE DATABASE: Создает новую базу данных.IF NOT EXISTS: Эта часть команды проверяет, существует ли уже база данных с таким именем, и если нет, то создаёт её. Если база данных уже существует, команда не приведет к ошибке.nextcloud: Имя создаваемой базы данных.CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci: Задает кодировку символов и правила сортировки для базы данных.utf8mb4— это расширенная версия кодировки UTF-8, поддерживающая все символы Unicode, включая смайлики.utf8mb4_general_ci— это стандартный порядок сортировки для данной кодировки.
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud_admin'@'localhost';GRANT ALL PRIVILEGES: Дает пользователю все права (привилегии) на указанные базы данных и таблицы.ON nextcloud.*: Привилегии применяются ко всей базе данныхnextcloudи ко всем её таблицам(* означает все таблицы)TO 'nextcloud_admin'@'localhost';: Указывает, что права даются пользователюnextcloud_admin, который подключается с локального хоста (localhost).
FLUSH PRIVILEGES;FLUSH PRIVILEGES: Обновляет таблицы привилегий в MySQL, чтобы внесенные изменения (например, создание пользователя или назначение прав) вступили в силу.
СУБД настроена, выходим из командной строки MySQL:
\q
или
quit;
Установка PHP
Проверяем, установлен ли PHP в системе, и если да, то определим его версию.
php -v