Nextcloud — это ряд клиент-серверных программ, предназначенных для создания собственного облачного хранилища и совместной работы с файлами. Данное открытое программное обеспечение предлагает пользователям ряд возможностей, включая хранение, синхронизацию и обмен файлами, а также управление календарем, контактами и другими данными. Его установку можно выполнить как на арендованном облачном сервере, так и на своем личном.
Источник изображения: ru.wikipedia.org
В данной инструкции будет выполнена пошаговая установка Nextcloud на сервер Debian 11.
Чтобы избежать самостоятельной установки, вы можете заказать в Timeweb Cloud готовый сервер c установленным Nextcloud. Все, что вам останется — это выполнить его настройку.
cloud
Первый этап — это подготовка сервера и всех необходимых компонентов перед установкой Nextcloud на свой сервер.
apt update -y && apt upgrade -y
apt install apache2 -y
По окончании установки проверим работу службы:
systemctl status apache2
Как видно по картинке ниже, служба успешно функционирует.
wget https://dev.mysql.com/get/mysql-apt-config_0.8.18-1_all.deb
Далее установим его:
dpkg -i mysql-apt-config_0.8.18-1_all.deb
В процессе установки выбирайте настройки согласно картинке ниже.
Добавим ключ:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
Обновим пакеты и запустим установку:
apt update
apt install -y mysql-community-server
Во время установки вам будет предложено ввести пароль для root-пользователя. После ввода пароля выбираем первый пункт, как показано на картинке ниже.
Установка закончена. Проверим работу MySQL:
systemctl status mysql
Как видно по картинке ниже, MySQL успешно функционирует.
apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2
А теперь уже подключим необходимый репозиторий:
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list
Чтобы распознать репозиторий, загрузим специальный ключ безопасности:
wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add -
Далее обновим список пакетов:
apt update
И наконец, установим PHP 8.2:
apt -y install php8.2
Новая версия установлена, но пока что она не используется. Чтобы это исправить, в строку терминала вводим следующие команды. Первая нужна, чтобы отключить текущую версию PHP, если она была установлена:
a2dismod актуальная_версия
a2enmod php8.2
update-alternatives --set php /usr/bin/php8.2
Теперь при проверке версии Debian выдаст именно 8.2, как показано на рисунке ниже.
Для работы Nextcloud также нужно установить специальные модули:
apt install libapache2-mod-php php-gd php-mysql php-curl php-mbstring php-intl php-gmp php-bcmath php-xml php-imagick php-zip
И, наконец, перезагрузим apache:
systemctl restart apache2
Если все компоненты LAMP успешно работают, то можно переходить к следующему этапу установки — настройке MySQL.
На данном этапе необходимо настроить MySQL, а после создать БД для хранения данных Nextcloud и добавить к ней пользователя.
mysql_secure_installation
Ниже перечислим те важные аспекты безопасности, которые затрагивает данный скрипт:
После запуска скрипта, на все системные вопросы отвечаем утвердительно, кроме первого и второго.
mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER nextcloud_user1@localhost IDENTIFIED BY 'password';
Не забудьте заменить 'password'
на ваш пароль для пользователя базы данных. Имя пользователя вы также можете изменить.
GRANT ALL ON nextcloud.* TO nextcloud_user1@localhost;
FLUSH PRIVILEGES;
exit
Все основные компоненты (MySQL, PHP, Apache) подготовлены к установке NextCloud. Теперь займемся непосредственно его загрузкой на сервер.
cd /var/www/
wget https://download.nextcloud.com/server/releases/nextcloud-27.0.1.zip
unzip nextcloud-27.0.1.zip
Если у вас отсутствует утилита
unzip
, то установите ее, выполнив в консоли командуapt install unzip
.
chown -R www-data:www-data /var/www/nextcloud
Виртуальный хост в Apache позволяет настроить несколько сайтов (доменов) на одном сервере, что является основополагающим принципом хостинга множества веб-сайтов. На этом этапе мы создадим и сконфигурируем виртуальный хост Apache для установленного Nextcloud.
a2dissite 000-default.conf
nano
):nano /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
DocumentRoot /var/www/nextcloud/
ServerName your-domain.com
<Directory /var/www/nextcloud/>
Options FollowSymLinks MultiViews
AllowOverride All
Require all granted
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
В этом конфигурационном файле мы определили виртуальный хост со следующими параметрами:
VirtualHost
— это начало объявления виртуального хоста. Он указывает, что данный хост будет слушать на всех доступных IP-адресах и на порту 80, который используется для HTTP-соединений.DocumentRoot
— здесь указывается путь к корневой директории Nextcloud. Apache будет обслуживать файлы из этой директории для данного виртуального хоста.ServerName
— этот параметр определяет доменное имя, на котором будет доступен Nextcloud. Замените your-domain.com
на ваше реальное доменное имя.Directory
— эта секция определяет настройки для директории Nextcloud, в которой находятся все файлы приложения. Здесь устанавливаются права доступа, разрешения и другие параметры для обслуживания файлов приложения.IfModule
— WebDAV используется для обмена файлами через HTTP, и в этом случае он отключается, так как Nextcloud сам обеспечивает функциональность обмена файлами.ErrorLog
и CustomLog
— эти параметры устанавливают пути к файлам журналов ошибок и доступа сервера. a2ensite nextcloud.conf
mod_rewrite
:a2enmod rewrite
memory_limit
в файле php.ini
. Для начала откроем его в редакторе:nano /etc/php/8.2/apache2/php.ini
В открывшемся файле ищем memory_limit
и меняем его значение на 512M.
systemctl restart apache2
Теперь ваш виртуальный хост настроен для Nextcloud. Вы можете открыть веб-браузер и ввести URL вашего домена, чтобы получить доступ к установленному инструменту. В нашем случае результат проделанной работы выглядит следующим образом:
Перейдя по указанному в конфиге Apache домену, у нас открылось только что установленное ПО. Данный этап будет посвящен завершению установки Nextcloud.
По окончанию выполнения всех шагов, перед вами появиться панель администратора Nextcloud, как показано на картинке ниже.
На данном этапе установка Nextcloud на сервер Debian 11 окончена. Теперь вы можете в любой момент воспользоваться установленным приложением, используя логин и пароль, указанные при регистрации.
Разверните Nextcloud на серверах Timeweb Cloud
В данной статье мы рассмотрели процесс установки Nextcloud на операционную систему Debian 11. Nextcloud предоставляет удобное и безопасное решение для создания собственного облачного хранилища и совместной работы с файлами. Следуя шагам представленной инструкции, вы можете быстро развернуть свой собственный облачный сервис и получить доступ к функциям хранения, синхронизации и обмена файлами, а также управления календарями и контактами.
Добрый день, все сделал согласно инструкции, кроме базы mysql, установил mariadb, доступ к web получить не удается.
Добрый день! Попробовали запустить Nextcloud c MariaDB, не удалось воспроизвести ошибку 🤔
Можем предположить, что была пропущена команда
chown -R www-data:www-data /var/www/nextcloud
, которая настраивает корректные права на файлы и директории Nextcloud.Также есть вероятность, что проблема либо с веб-сервером, либо с конфигурацией в файле
nextcloud.conf
(проверьте, например, верно ли указано доменное имя).Логи ошибок веб-сервера (последние 100 строк) можно посмотреть командой:
Возможно, в логе удастся найти причину ошибку.