Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.
Этап 1. Подготовка сервера
Первый этап — это подготовка сервера и всех необходимых компонентов перед установкой Nextcloud на свой сервер.
- В первую очередь обновим все системные пакеты до актуальных версий. Для этого в консоль вводим:
apt update -y && apt upgrade -y- Теперь необходимо установить на сервер стек LAMP, который включает Apache, MySQL и PHP. Весь процесс установки перечисленных компонентов будет описан в следующих шагах. Для установки веб-сервера выполняем следующую команду:
По окончании установки проверим работу службы:
Как видно по картинке ниже, служба успешно функционирует.
- Следующим шагом установим mysql 8.0. Для начала загрузим необходимый пакет:
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:
Как видно по картинке ниже, MySQL успешно функционирует.
- Для успешной работы последней версии Nextcloud, версия PHP должна быть обязательно выше 8. На данном шаге на сервер будет выполняться установка PHP версии 8.2. В репозиториях Debian 11 он отсутствует, поэтому подключим репозиторий Sury. Но перед этим установим пакеты для работы с HTTPS репозиториями:
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 -Далее обновим список пакетов:
И наконец, установим PHP 8.2:
Новая версия установлена, но пока что она не используется. Чтобы это исправить, в строку терминала вводим следующие команды. Первая нужна, чтобы отключить текущую версию PHP, если она была установлена:
a2dismod актуальная_версия
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.
Этап 2. Настройка базы данных MySQL
На данном этапе необходимо настроить MySQL, а после создать БД для хранения данных Nextcloud и добавить к ней пользователя.
- Для начала выполним скрипт для повышения безопасности только что установленной MySQL:
mysql_secure_installationНиже перечислим те важные аспекты безопасности, которые затрагивает данный скрипт:
- Установка пароля для пользователя root;
- Удаление анонимных учетных записей;
- Запрет удаленного входа для root-пользователя;
- Удаление тестовых баз данных и таблиц;
- Перезагрузка привилегий.
После запуска скрипта, на все системные вопросы отвечаем утвердительно, кроме первого и второго.
-
Далее подключаемся к MySQL:
-
После подключения к консоли, необходимо создать новую БД:
CREATE DATABASE nextcloud;- Затем создаем нового пользователя для только что созданной БД:
CREATE USER nextcloud_user1@localhost IDENTIFIED BY 'password';Не забудьте заменить 'password' на ваш пароль для пользователя базы данных. Имя пользователя вы также можете изменить.
- Теперь необходимо предоставить привилегии созданному пользователю для доступа к БД:
GRANT ALL ON nextcloud.* TO nextcloud_user1@localhost;- И наконец, перезагружаем таблицы с привилегиями и применяем недавно внесенные изменения, а затем выходим из MySQL:
Этап 3. Загрузка NextCloud на сервер
Все основные компоненты (MySQL, PHP, Apache) подготовлены к установке NextCloud. Теперь займемся непосредственно его загрузкой на сервер.
- Чтобы установить NextCloud на Debian 11, необходимо загрузить его последнюю версию из официального источника на сервер:
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.
- Далее установим правильные разрешения на папку Nextcloud:
chown -R www-data:www-data /var/www/nextcloudЭтап 4. Настройка веб-сервера Apache
Виртуальный хост в Apache позволяет настроить несколько сайтов (доменов) на одном сервере, что является основополагающим принципом хостинга множества веб-сайтов. На этом этапе мы создадим и сконфигурируем виртуальный хост Apache для установленного Nextcloud.
- В первую очередь отключим сайт по умолчанию:
a2dissite 000-default.conf- Теперь создадим новый файл конфигурации виртуального хоста для Nextcloud с помощью текстового редактора (в данном примере используется
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— эти параметры устанавливают пути к файлам журналов ошибок и доступа сервера.
-
Активируем только что созданный виртуальный хост с помощью следующей команды:
-
Включаем модуль
mod_rewrite: -
Также заранее увеличим значение параметра
memory_limitв файлеphp.ini. Для начала откроем его в редакторе:
nano /etc/php/8.2/apache2/php.iniВ открывшемся файле ищем memory_limit и меняем его значение на 512M.
- Перезапускаем веб-сервер Apache, чтобы все изменения вступили в силу:
systemctl restart apache2Теперь ваш виртуальный хост настроен для Nextcloud. Вы можете открыть веб-браузер и ввести URL вашего домена, чтобы получить доступ к установленному инструменту. В нашем случае результат проделанной работы выглядит следующим образом:
Этап 5. Завершение установки Nextcloud
Перейдя по указанному в конфиге Apache домену, у нас открылось только что установленное ПО. Данный этап будет посвящен завершению установки Nextcloud.
-
В первую очередь вводим имя пользователя и пароль, которые в будущем вы будете использовать для авторизации в сервисе.
-
Теперь переходим к настройке базы данных. В окне, продемонстрированном на картинке ниже, вам нужно ввести все данные ранее созданной БД в MySQL и нажать кнопку установить. После этого у вас начнется загрузка сервиса.
-
После окончания загрузки сервиса, перед вами появиться окно с рекомендованными приложениями. Вы можете установить их, либо пропустить данный шаг.
По окончанию выполнения всех шагов, перед вами появиться панель администратора Nextcloud, как показано на картинке ниже.
На данном этапе установка Nextcloud на сервер Debian 11 окончена. Теперь вы можете в любой момент воспользоваться установленным приложением, используя логин и пароль, указанные при регистрации.
Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.