Установка Nextcloud · 13 min read · Oct 30, 2025

Как установить Nextcloud на Rocky Linux

Nextcloud — это бесплатное и открытое программное обеспечение, которое позволяет создавать службы хостинга файлов, такие как Dropbox, Google Drive или Mega.nz. Оно создано оригинальным разработчиком owncloud Франком Карлицшеком. В 2016 году он форкнул проект Owncloud и создал новый проект под названием “ Nextcloud “.

К этому времени проект Nextcloud быстро растет и становится больше, чем просто программное обеспечение для хостинга файлов. С поддержкой множества плагинов Nextcloud становится таким программным обеспечением для совместной работы. Вы можете установить плагины для управления проектами, видеоконференций, совместного редактирования, ведения заметок, почтового клиента и т.д.

В этом руководстве вы узнаете, как установить Nextcloud на Rocky Linux 8.4. Вы будете устанавливать Nextcloud под стеком LAMP (Linux, Apache2/httpd, MySQL/MariaDB и PHP).

Предварительные условия

  • Сервер Rocky Linux. Убедитесь, что все пакеты обновлены до последней версии.
  • Пользователь с правами root. Этот пользователь получит права root через команду sudo.

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

Сначала вы будете устанавливать веб-сервер Apache или httpd на сервер Rocky Linux.

  1. Выполните команду dnf ниже, чтобы установить веб-сервер httpd.
sudo dnf install httpd

Введите “ y “ и нажмите “ Enter “, чтобы подтвердить и установить пакеты httpd.

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

  1. Если установка завершена, включите и запустите службу httpd, используя следующую команду.
sudo systemctl enable httpd  
sudo systemctl start httpd

Команда “ systemctl enable “ позволит службе запускаться при каждом загрузке.

  1. После этого выполните команду ниже, чтобы проверить службу httpd.
sudo systemctl status httpd

И вы получите результат, похожий на приведенный ниже.

Статус службы веб-сервера Apache

Как видно на верхнем скриншоте, httpd активен и работает.

Установка PHP на Rocky Linux

На данный момент Nextcloud требует PHP 7.4 или выше для установки. Теперь вы будете устанавливать PHP 7.4 из репозитория remi.

  1. Выполните следующую команду, чтобы добавить репозитории epel и remi.
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Введите “ y “ и нажмите “ Enter “, чтобы добавить репозитории epel и remi.

Когда установка завершится, проверьте репозитории epel и Remi, используя следующую команду.

sudo dnf repolist

Вы увидите репозитории epel и remi в списке репозиториев.

Проверка репозитория EPEL и REMI

  1. Далее сбросьте модуль репозитория PHP по умолчанию. Затем включите модуль для PHP 7.4 из репозитория remi.

Выполните следующую команду, чтобы сбросить модуль репозитория php по умолчанию.

sudo dnf module reset php

В процессе введите “ y “ и нажмите “ Enter “, чтобы добавить gpg-ключ репозитория remi.

Добавить GPG-ключ репозитория remi

После этого выполните команду ниже, чтобы включить модуль php из репозитория remi.

sudo dnf module enable php:remi-7.4

Введите “ y “ для подтверждения и нажмите “ Enter “, чтобы продолжить. Теперь вы готовы установить PHP и все расширения для установки WordPress.

Включить репозиторий remi для PHP 7.4

  1. Выполните следующую команду, чтобы установить php с некоторыми необходимыми расширениями.
sudo dnf install php php-ctype php-curl php-gd php-iconv php-json php-libxml php-mbstring php-openssl php-posix php-session php-xml php-zip php-zlib php-pdo php-mysqlnd php-intl php-bcmath php-gmp php-imagick php-apcu
  1. После завершения установки PHP отредактируйте конфигурацию “ php.ini “ с помощью редактора nano.
nano /etc/php.ini

Измените значение по умолчанию на конфигурацию ниже.

file_uploads = On  
allow_url_fopen = On  
memory_limit = 512M  
upload_max_filesize = 500M  
post_max_size = 600M   
max_execution_time = 300  
display_errors = Off  
date.timezone = Europe/Amsterdam

Нажмите “ Ctrl+x “ и введите “ Y “, чтобы сохранить конфигурацию и выйти.

Важная конфигурация, которую вы должны знать:

  • Для производственной версии Nextcloud вам нужно, чтобы “ memory_limit “ был больше 512MB.
  • Опция “ upload_max_filesize “ позволяет вам установить максимальный размер загрузки на ваш сервер Nextcloud.
  • Опция “ post_max_size “ должна быть выше опции “ upload_max_filesize “.
  • Опция “ date.timezone “ должна соответствовать местному времени системы “ /etc/localtime “.
  • Увеличьте “ max_execution_time “ в зависимости от нагрузки на ваш сервер.
  1. Далее измените рабочий каталог на “ /etc/php.d/ “ и отредактируйте конфигурацию “ 10-opcache.ini “ с помощью редактора nano.
cd /etc/php.d/  
nano 10-opcache.ini

Добавьте следующую конфигурацию, чтобы включить плагин PHP opecache.

opcache.enable = 1  
opcache.interned_strings_buffer = 8  
opcache.max_accelerated_files = 10000  
opcache.memory_consumption = 128  
opcache.save_comments = 1  
opcache.revalidate_freq = 1

Нажмите кнопку “ Ctrl+x “ и введите “ Y “, чтобы сохранить конфигурацию и выйти.

  1. Чтобы применить новую конфигурацию PHP, перезапустите службу httpd, используя следующую команду.
sudo systemctl restart httpd

Установка и настройка MariaDB

На этом этапе вы будете устанавливать сервер базы данных mariadb, защищать развертывание mariadb и создавать новую базу данных и пользователя для Nextcloud.

  1. Чтобы установить сервер базы данных mariadb, выполните команду ниже.
sudo dnf install mariadb mariadb-server

Подождите завершения установки mariadb.

Установка сервера базы данных MariaDB

  1. После завершения установки включите и запустите службу mariadb, используя следующую команду.
sudo systemctl enable mariadb  
sudo systemctl start mariadb
  1. Служба mariadb будет активна и работать, выполните следующую команду, чтобы проверить службу mariadb.
sudo systemctl status mariadb

Если служба mariadb работает, вы получите аналогичный вывод, как ниже.

Проверка статуса службы mariadb

  1. Далее вам нужно защитить развертывание mariadb, установив пароль root для mariadb и удалив некоторые конфигурации по умолчанию. Для этого вы можете использовать инструмент командной строки ‘ mysql_secure_installation ‘, который включен в стандартную установку mariadb.

Выполните команду “ mysql_secure_installation “ ниже.

mysql_secure_installation

Сначала вас попросят установить пароль root для mariadb.

Введите свой надежный пароль root для mariadb и повторите, затем нажмите “ Enter “, чтобы продолжить.

Установка пароля root гарантирует, что никто не сможет войти в пользователя root MariaDB без надлежащей авторизации.  
  
Установить пароль root? [Y/n] Y  
Новый пароль:  
Повторите новый пароль:  
Пароль успешно обновлен!  
Перезагрузка таблиц привилегий..  
 ... Успех!

Теперь введите “ Y “ и нажмите “ Enter “, чтобы удалить анонимного пользователя по умолчанию с сервера mariadb.

По умолчанию установка MariaDB имеет анонимного пользователя, позволяющего любому  
войти в MariaDB без необходимости создания учетной записи пользователя для  
них.  Это предназначено только для тестирования и для того, чтобы сделать установку  
немного проще.  Вы должны удалить их перед переходом в  
производственную среду.  
  
Удалить анонимных пользователей? [Y/n] Y  
 ... Успех!

После этого отключите удаленный вход для пользователя по умолчанию ‘ root ‘. Введите “ Y “ и нажмите “ Enter “, чтобы продолжить.

Обычно root должен подключаться только с 'localhost'.  Это  
гарантирует, что кто-то не сможет угадать пароль root из сети.  
  
Запретить удаленный вход root? [Y/n] Y  
 ... Успех!

Введите “ Y “ снова, чтобы удалить базу данных по умолчанию “ test “ и нажмите “ Enter “.

По умолчанию MariaDB поставляется с базой данных с именем 'test', к которой любой может  
доступ.  Это также предназначено только для тестирования и должно быть удалено  
перед переходом в производственную среду.  
  
Удалить тестовую базу данных и доступ к ней? [Y/n] Y  
 - Удаление тестовой базы данных...  
 ... Успех!  
 - Удаление привилегий на тестовую базу данных...  
 ... Успех!

И последнее, введите “ Y “ снова, чтобы перезагрузить все привилегии таблиц, чтобы применить новую конфигурацию.

Перезагрузка таблиц привилегий гарантирует, что все изменения, сделанные до сих пор,  
вступят в силу немедленно.  
  
Перезагрузить таблицы привилегий сейчас? [Y/n] Y  
 ... Успех!

Теперь процесс завершен, и вы увидите следующий вывод.

Очистка...  
  
Все готово!  Если вы выполнили все вышеперечисленные шаги, ваша установка MariaDB  
должна быть теперь защищена.  
  
Спасибо за использование MariaDB!

Создание базы данных для Nextcloud

  1. Войдите в оболочку mariadb, используя команду mysql ниже.
mysql -u root -p
  1. Теперь выполните следующий запрос mysql, чтобы создать новую базу данных “nextcloud_db”.
CREATE DATABASE netxcloud_db;
  1. Выполните следующий запрос, чтобы создать нового пользователя базы данных “ nextuser “. Замените “ strongpassword “ на ваш надежный пароль.
CREATE USER nextuser@localhost IDENTIFIED BY 'StrongPassword';
  1. Разрешите пользователю “ nextuser “ доступ и запись в “ nextcloud_db “ с помощью следующего запроса.
GRANT ALL PRIVILEGES ON netxcloud_db.* TO nextuser@localhost;
  1. Теперь перезагрузите все привилегии таблиц, чтобы применить новую конфигурацию базы данных.
FLUSH PRIVILEGES;

Затем вы можете ввести “ quit “ и нажать “ Enter “, чтобы выйти из оболочки mariadb.

Создание новой базы данных для Nextcloud

Загрузка исходного кода Nextcloud

  1. Измените рабочий каталог на “ /var/www “ и загрузите последнюю версию исходного кода Nextcloud, используя команду wget, как ниже.
cd /var/www/  
wget https://download.nextcloud.com/server/releases/nextcloud-22.1.0.zip
  1. Извлеките исходный код Nextcloud “ nextcloud-xx.zip “, и вы получите новый каталог “ nextcloud “, затем измените владельца каталога “ nextcloud “ на пользователя “ apache “.
unzip nextcloud-22.1.0.zip  
chown -R apache:apache nextcloud

Теперь вы готовы настроить виртуальный хост httpd для Nextcloud.

Включение модуля Apache/Httpd mod_ssl

Для этого учебника вы будете устанавливать Nextcloud и защищать его с помощью SSL от Letsencrypt. Поэтому вам нужно включить mod_ssl для сервера httpd на Rocky Linux.

  1. Установите пакет “ mod_ssl “ с помощью команды dnf ниже.
sudo dnf install mod_ssl mod_http2
  1. После этого сгенерируйте стандартный SSL для localhost, используя команду openssl ниже. Но если у вас уже есть сертификаты “ /etc/pki/tls/private/localhost.key “ и “ /etc/pki/tls/certs/localhost.crt “, вы можете пропустить этот этап.
openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt

Вы можете просто нажать Enter для всех вопросов, потому что этот сертификат будет использоваться только для localhost, а не для доменного имени WordPress.

Генерация SSL для localhost Rocky Linux

  1. Теперь выполните следующую команду, чтобы убедиться, что mod_ssl доступен на веб-сервере httpd.
apachectl -M | grep ssl

Если вы получили вывод, такой как “ ssl “, то mod_ssl включен. В противном случае вы получите пустой вывод.

Включить Mod_ssl и mod_http2 Rocky Linux

Генерация SSL Letsencrypt с помощью Certbot

На этом этапе вы будете устанавливать инструмент cerbot и генерировать SSL-сертификаты для установки WordPress. Вы будете генерировать SSL Letsencrypt с помощью плагина webroot.

  1. Выполните следующую команду, чтобы установить инструмент certbot для генерации SSL Letsencrypt.
sudo dnf install certbot

Подождите завершения процесса установки.

  1. После завершения установки создайте новый каталог для авторизации letsencrypt, используя следующие команды.
sudo mkdir -p /var/lib/letsencrypt/.well-known  
sudo chgrp apache /var/lib/letsencrypt  
sudo chmod g+s /var/lib/letsencrypt
  1. Далее измените рабочий каталог на “ /etc/httpd/conf.d/ “ и создайте новую конфигурацию “ well-known.conf “ с помощью редактора nano.
cd /etc/httpd/conf.d/  
nano well-known.conf

Добавьте следующие конфигурации.

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"  
  
    AllowOverride None  
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec  
    Require method GET POST OPTIONS  

Нажмите “ Ctrl+x “ и введите “ y “, чтобы сохранить и выйти.

  1. Теперь выполните следующие команды, чтобы проверить конфигурацию httpd и перезапустить службу httpd.
apachectl configtest  
sudo systemctl restart httpd

Если у вас нет ошибок, вы готовы сгенерировать SSL Letsencrypt с помощью плагина webroot.

Настройка apache httpd для авторизации letsencrypt webroot

  1. Перед генерацией SSL Letsencrypt убедитесь, что ваше доменное имя разрешается в IP-адрес сервера. После этого вы можете сгенерировать SSL Letsencrypt с помощью плагина webroot, запустив команду certbot ниже. Также измените адрес электронной почты и доменное имя на свои собственные.
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d files.domain.com -d 

Когда процесс завершится, ваши SSL-сертификаты будут доступны в каталоге “ /etc/letsencrypt/live/files.domain.com/ “.

Настройка виртуального хоста Apache для Nextcloud

На этом этапе вы добавите новую конфигурацию виртуального хоста apache/httpd для Nextcloud.

  1. Измените рабочий каталог на “ /etc/httpd/conf.d “ и создайте новую конфигурацию “ nextcloud.conf “ с помощью редактора nano.
cd /etc/httpd/conf.d/  
nano nextcloud.conf

Измените детальное доменное имя и путь к SSL на свои собственные и вставьте конфигурацию в файл “ nextcloud.conf “.

  
    ServerName files.domain.com  
    ServerAlias www.files.domain.com  
  
    # автоматический редирект HTTP на HTTPS  
    Redirect permanent / https://files.domain.com/  
  
  
  
    ServerName files.domain.com  
    ServerAlias www.files.domain.com  
  
    DocumentRoot /var/www/nextcloud/  
  
    Protocols h2 http/1.1  
  
    # автоматический редирект www на non-www  
      
        Redirect permanent / https://files.domain.com/  
      
  
    # файлы журнала  
    ErrorLog /var/log/httpd/files.domain.com-error.log  
    CustomLog /var/log/httpd/files.domain.com-access.log combined  
  
    SSLEngine On  
    SSLCertificateFile /etc/letsencrypt/live/files.domain.com/fullchain.pem  
    SSLCertificateKeyFile /etc/letsencrypt/live/files.domain.com/privkey.pem  
  
    # HSTS  
      
        Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"  
      
  
      
        Options +FollowSymlinks  
        AllowOverride All  
  
          
            Dav off  
          
  
        SetEnv HOME /var/www/nextcloud  
        SetEnv HTTP_HOME /var/www/nextcloud  
      

Нажмите “ Ctrl+x “ и введите “ Y “, чтобы сохранить конфигурацию и выйти.

  1. Далее выполните следующую команду, чтобы проверить конфигурацию httpd.
sudo apachectl configtest

Если у вас нет ошибок, перезапустите службу httpd, используя команду ниже.

sudo systemctl restart httpd

Теперь вы готовы к установке Nextcloud через веб-браузер.

Настройка виртуального хоста apache/httpd для Nextcloud

Установка Nextcloud

Если все связанные с сервером конфигурации завершены, вы можете получить доступ к вашей установке Nextcloud через веб-браузер.

  1. Откройте веб-браузер и введите URL-адрес вашей установки Nextcloud.

http://files.domain.com

Теперь вы будете перенаправлены на защищенное HTTPS-соединение, и вы получите страницу, как показано ниже.

Установка Nextcloud

  • В разделе “Создать учетную запись администратора” введите новое имя пользователя и пароль для вашего администратора.
  • Для раздела “Папка данных” оставьте по умолчанию на данный момент.
  • В разделе “Настроить базу данных” выберите “MySQL/MariaDB” и введите данные конфигурации базы данных.
  • Кроме того, вы можете установить рекомендуемые приложения, отметив опцию. Или снимите отметку, если не хотите.

После этого вы можете нажать кнопку “ Завершить настройку “.

  1. После завершения процесса установки вы увидите стандартную панель управления Nextcloud, как показано ниже.

Панель управления Nextcloud

  1. Теперь нажмите меню “ Файлы “, и вы увидите список файлов и папок пользовательской панели управления.

Панель управления пользовательскими файлами Nextcloud

  1. Чтобы получить доступ к административной странице, нажмите на профиль пользователя вверху и выберите “ Настройки “.

В разделе “ Административные “ вы можете изменить конфигурацию Nextcloud по умолчанию.

Административные настройки Nextcloud

  1. Чтобы добавить новые плагины или приложения, вы можете нажать на профиль пользователя вверху и выбрать “ Приложения “.

Теперь вы получите страницу, как показано ниже.

Установка приложений и плагинов Nextcloud

Выберите категорию плагинов, которая вам подходит, затем нажмите кнопку “ Скачать и включить “. После этого нажмите “ Включить “, чтобы активировать приложение или плагин.

Ниже приведен скриншот после включения темной темы Nextcloud Breeze.

Темная тема Nextcloud с Breeze

Настройка производительности Nextcloud

После установки Nextcloud вы можете предпринять несколько шагов для повышения производительности Nextcloud, включив локальный кэш памяти и настроив cronjob для самого Nextcloud.

  1. В верхней части раздела установки PHP вы уже настроили PHP для кэширования. Чтобы включить кэширование в Nextcloud, отредактируйте конфигурацию Nextcloud “config.php”.

Измените рабочий каталог на “ /var/www/nextcloud/config “ и отредактируйте конфигурацию “config.php” с помощью редактора nano.

cd /var/www/nextcloud/config/  
nano config.php

Добавьте следующую конфигурацию внутри скобок ‘ array ( .. ); ‘ как ниже

 '\OC\Memcache\APCu',  
);

Теперь нажмите кнопку “ Ctrl+x “ и введите “ y “, чтобы сохранить конфигурацию и выйти.

  1. Системе Nextcloud необходимо выполнять некоторые фоновые задачи регулярно и без какого-либо взаимодействия пользователя/администратора. Для этого вы можете использовать cronjob для планировщика задач Nextcloud.

На Rocky Linux стандартным пользователем httpd является “ apache “. Создайте новый cronjob для пользователя “ apache “, используя команду ниже.

crontab -u apache -e

Добавьте следующую конфигурацию.

*/5  *  *  *  * php -f /var/www/nextcloud/cron.php

Обратите внимание на конфигурацию и выйдите.

Конфигурация cronjob, которую вы должны знать:

  • Эта конфигурация cronjob позволяет пользователю “ apache “ выполнять PHP-скрипт “ /var/www/nextcloud/cron.php “ каждые 5 минут.

Чтобы проверить конфигурацию cronjob, вы можете выполнить следующую команду.

crontab -u apache -l

Если ваша конфигурация успешна, вы получите конфигурацию сверху в качестве вывода. В противном случае вы получите пустой результат.

Включение кэширования памяти Nextcloud и настройка Cron

Заключение

Поздравляем! Вы успешно установили Nextcloud на Rocky Linux 8.4. Сервер Nextcloud работает под стеком LAMP с включенным SSL. Также ваша установка Nextcloud работает с включенным кэшированием памяти с расширениями PHP APC и opcache.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.