Инструменты пользователя

Инструменты сайта


linux:debian:nextcloud

Это старая версия документа!


Установка Nextcloud


Базовая настройка сервера

Подключаем к нашему серверу по SSH:

ssh root@<IP-адрес сервера>

Меняем язык сервера на Русский:

dpkg-reconfigure locales

Обновляем систему и устанавливаем базовый софт

Обновляем список пакетов и обновляем систему:

apt update && apt upgrade

Устанавливаем Базовый софт:

apt install apt-transport-https ca-certificates curl htop sudo zip unzip wget

Создаём нового пользователя и добавляем его в группу Sudo

Создаём пользователя:

adduser kirill

Добавляем нашего пользователя в группу sudo:

usermod -aG sudo kirill

Перезагружаем сервер:

reboot

Снова подключаемся к нашему серверу по SSH, но только не под пользователем Root, а под пользователем, которого мы только что создали:

ssh kirill@<IP-адрес сервера>

Установка Веб-сервер Apache

Устанавливаем Apache:

sudo apt install apache2

Добавляем Apache в автозагрузку:

sudo systemctl enable apache2

Запускаем Apache:

sudo systemctl start apache2

Смотрим статус:

sudo systemctl status apache2

Установка PHP для Nextcloud

Добавляем ключ репозитория:

sudo apt install lsb-release ca-certificates curl apt-transport-https
sudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb

Добавляем репозиторий:

sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

Обновляем список пакетов в репозиториях:

sudo apt update

Установка PHP 8.4 для NextCloud

sudo apt install php php-common php-bcmath php-curl php-gd php-gmp php-imap php-igbinary php-imagick php-intl php-json php-mbstring php-xml php-zip libapache2-mod-php php-mysql
sudo apt install php-apcu php-bz2 php-cli php-fpm php-memcached php-pear php-soap memcached
sudo apt install libmagickcore-dev librsvg2-bin ffmpeg

Настройка php.ini

Проверяем текущие значения:

grep -E "upload_max_filesize|post_max_size|memory_limit|max_execution_time" /etc/php/8.4/apache2/php.ini

Увеличиваем лимит:

sudo sed -i 's/^upload_max_filesize.*/upload_max_filesize = 4G/; s/^post_max_size.*/post_max_size = 4G/; s/^memory_limit.*/memory_limit = 1024M/; s/^max_execution_time.*/max_execution_time = 3600/; s/^;max_input_vars.*/max_input_vars = 3600/; s/^max_input_time.*/max_input_time = 3600/' /etc/php/8.4/apache2/php.ini

Установка MariaDB для Nextcloud из Официального репозитория Debian

Устанавливаем MariaDB:

sudo apt install mariadb-server mariadb-client

Установка MariaDB 11.4 из Официального репозитория MariaDB

Download MariaDB Server

Добавляем ключ репозитория:

sudo apt-get install apt-transport-https curl
sudo mkdir -p /etc/apt/keyrings
sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'

Добавляем репозиторий:

sudo nano /etc/apt/sources.list.d/mariadb.sources
# MariaDB 11.4 repository list - created 2025-11-01 12:08 UTC
# https://mariadb.org/download/
X-Repolib-Name: MariaDB
Types: deb
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# URIs: https://deb.mariadb.org/11.4/debian
URIs: https://mirror.docker.ru/mariadb/repo/11.4/debian
Suites: bookworm
Components: main
Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp

Обновляем список пакетов в репозиториях:

sudo apt update

Устанавливаем MariaDB

sudo apt install mariadb-server mariadb-client

Первоначальная настройка MariaDB

Делаем первоначальную настройку базы данных MariaBD:

sudo mariadb-secure-installation

Отвечаем yes / y на следующие вопросы безопасности:

Вопрос Ответ Да/Нет
Введите текущий пароль для пользователя root? Ничего не вводим, нажимаем Enter
Переключиться на аутентификацию unix_socket? Y / n: y
Установить пароль root? Y / n: y
Удалить анонимных пользователей? (Нажмите y - Y для Yes, любой другой символ для No): y
Запретить вход в систему удаленно? (Нажмите y - Y для Yes, любой другой символ для No): y
Удалить тестовую базу данных и получить доступ к ней? (Нажмите y - Y для Yes, любой другой символ для No): y
Обновить таблицы привилегий сейчас? (Нажмите y - Y для Yes, любой другой символ для No): y

Создаём базу для Nextcloud

Подключаемся к Mysql:

sudo mariadb -u root -p

Создаём новую базу:

CREATE DATABASE nextcloud;

Создаём пользователя базы данных, и назначаем все права доступа:

GRANT ALL ON nextcloud.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY 'password';

Сохраняем изменения:

FLUSH PRIVILEGES;

Выходим из базы данных:

EXIT;

Настраиваем Apache

Установите права доступа на директорию www:

sudo chmod -R 775 /var/www
sudo chown -R $USER:$USER /var/www

Добавляем нашего пользователя в группу www-data:

sudo usermod -aG www-data $USER

Добавляем пользователя www-data в группу нашего пользователя:

sudo usermod -aG $USER www-data
linux/debian/nextcloud.1774513276.txt.gz · Последнее изменение: Кирилл