
В этой статье мы узнаем, как установить и настроить NextCloud на Almalinux 9 или Rocky Linux 9 для создания облака.
Что такое NextCloud?
Те, кто еще не знает, NextCloud — это форк популярного OwnCloud, но ставший еще более популярным. Это также бесплатное персональное облачное решение с открытым исходным кодом и решениями для предприятий. Основное преимущество использования такого программного пакета с открытым исходным кодом заключается в том, что он позволяет пользователям безопасно хранить свои данные в облаке, но на сервере, который принадлежит им физически или виртуально. Таким образом, с точки зрения конфиденциальности это отличная альтернатива проприетарным облачным решениям, таким как Dropbox или Google Drive, поскольку пользователи имеют полный контроль над своими данными.
Как работает NextCloud?
NextCloud предоставляет две основные возможности: синхронизацию хранилищ между пользователями и шифрование содержимого файлов на стороне сервера, что обеспечивает конфиденциальность данных пользователя. NextCloud также предоставляет клиентские приложения, которые вы можете легко установить на свои настольные операционные системы для синхронизации.
Синхронизация файлов сохраняет все изменения, сделанные пользователем на рабочем столе, и копирует их на сервер и все другие устройства, имеющие доступ к той же папке. Шифрование на стороне сервера обеспечивает безопасность, то есть только персональный ключ пользователя может расшифровать его/ее файлы, хранящиеся в Nextcloud. Никто другой (даже администраторы) не сможет прочитать зашифрованное содержимое без правильного ключа, предоставленного пользователем.
Преимущества использования NextCloud
Основное преимущество использования Nextcloud заключается в следующем безопасность — Если вы храните свои файлы у поставщиков услуг, таких как Google Drive или Dropbox, вы не можете контролировать, кто и когда имеет к ним доступ.
Однако с Nextcloud вы всегда знаете, кто и когда может получить доступ к файлам (даже если они просмотрели только список имен файлов).
Кроме того, поскольку вся информация хранится на вашем частном сервере (т.е. не на инфраструктуре компании), вам никогда не придется беспокоиться о том, что при превышении месячной квоты придется покупать дополнительное место для хранения, как это обычно происходит при хранении у традиционных провайдеров, таких как Google Drive, Dropbox и т.д.
Наконец, поскольку NextCloud — это программное обеспечение с открытым исходным кодом, , что позволяет частным лицам или организациям настраивать его функциональность гораздо проще, чем другие платформы облачного хранения данных, которые, как правило, предоставляют гораздо меньше возможностей для настройки, чем решение с открытым исходным кодом, , например (например, установка пользовательских правил доступа и т. д.).).
В этом руководстве приведены пошаговые команды для установки Nextcloud на Almalinux Linux 9 | Rocky Linux 9.
Требования
Чтобы следовать этому руководству, нам понадобятся следующие вещи: В этом руководстве мы установим Apache, PHP и MySQL, но ваш сервер должен обладать всеми остальными требованиями.
— Almalinux или Rocky Linux 9
— Apache, PHP 8.0, 8.1, 8.2
— MySQL 8.0+ или MariaDB 10.2/10.3/10.4/10.5
— Доступ к пользователю sudo без права рута, по крайней мере
— 512 МБ оперативной памяти
Шаг 1: Выполните команду обновления DNF
Запустим команду обновления системы один раз, чтобы убедиться, что мы не столкнемся с проблемами при установке NextCloud на Almalinux или Rocky Linux 9. Это позволит установить все последние обновления безопасности и пакетов, доступные для нашей серверной ОС Linux.
sudo dnf update
Также установите:
sudo dnf install wget nano unzip
Шаг 2: Отключите SELinux в AlmaLinux 8
После завершения обновления также переведите SELinux в разрешительный режим, который временно отключит его до следующей перезагрузки. Это обеспечит отсутствие нежелательных ограничений при установке NextCloud.
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Чтобы проверить состояние:
sestatus

Шаг 3: Установите Apache, MySQL и PHP
NextCloud — это веб-приложение на основе PHP на стороне сервера, поэтому нам нужно создать среду веб-сервера на нашем Linux. Общими приложениями являются Apache, MySQL для баз данных и PHP. Выполните указанную команду для их установки.
1. Установите веб-сервер Apache (httpd)
Apache — самый распространенный и легкодоступный веб-сервер из репозитория по умолчанию любого дистрибутива Linux, включая AlmaLinux и Rocky Linux. Поэтому в командном терминале выполните следующие команды:
sudo dnf install httpd
Запустить и включить службы Apache
sudo systemctl enable --now httpd
Чтобы проверить состояние:
systemctl status httpd --no-pager -l
Также откройте порты HTTP и HTTPS в вашей системе, чтобы мы могли получить доступ к странице NextCloud позже:
sudo firewall-cmd --permanent --add-service={http,https}
Перезагрузите брандмауэр
sudo firewall-cmd --reload
Для дальнейшего подтверждения мы можем проверить веб-страницу Apache по умолчанию. Для этого откройте браузер на локальной системе, который может получить доступ к IP-адресу или домену вашего сервера.
Пример:
http://server-ip-address
Вы увидите что-то вроде следующего:

2. Установите MySQL Server на Alma или Rocky
Мы можем использовать либо MariaDB, либо MySQL Database server на Almalinux 9 или Rocky Linux для хранения данных, которые впоследствии будут генерироваться NextCloud. Здесь мы устанавливаем MySQL 8.0, который можно загрузить из стандартного репозитория обоих этих RPM-дистрибутивов Linux.
sudo dnf install mysql mysql-server
Запустите сервер:
sudo systemctl enable --now mysqld
Узнайте о состоянии службы:
systemctl status mysqld --no-page -l
3. Создание базы данных для NextCloud
Давайте также создадим базу данных для использования NextCloud на сервере MySQL; вот команды SQL, которые необходимо выполнить:
sudo mysql
Вход:
mysql -u root -p
Создание базы данных Пользователь:
CREATE USER 'youruser'@'localhost' IDENTIFIED BY "yourpassword";
Создать базу данных:
CREATE DATABASE yourdb;
Передайте все права на использование созданной БД:
GRANT ALL PRIVILEGES ON yourdb.* TO 'youruser'@'localhost';
FLUSH PRIVILEGES;
exit;
Примечание: Заменить youdb с именем базы данных, которое вы хотите задать, в то время как ваш пользователь с именем пользователя и ваш пароль с паролем, который вы хотите назначить.
4. Загрузите PHP 8.1
По умолчанию в системном репозитории AlmaLinux или Rocky доступна версия PHP 8.0, однако мы будем использовать PHP 8.1. Поэтому добавьте сторонний репозиторий Remni вручную, чтобы получить последние версии языка PHP.
sudo dnf install epel-release
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-9.rpm
sudo dnf update
sudo dnf module reset php
sudo dnf module enable php:remi-8.1

Установите PHP и расширения, необходимые для NextCloud:
Теперь выполните указанную команду в терминале, чтобы установить PHP и его расширения.
sudo dnf install php php-{cli,mysqlnd,zip,devel,gd,mcrypt,mbstring,curl,xml,pear,bcmath,json,pdo,pecl-apcu,pecl-apcu-devel,ldap}

Не забудьте включить и начало службу PHP-FPM, необходимую NextCloud.
sudo systemctl enable --now php-fpm.service
Увеличение лимита памяти PHP:
sudo sed -i "s/memory_limit = .*/memory_limit = 512M /" /etc/php.ini
Перезапустить сервер Apache:
sudo systemctl restart httpd
Шаг 4: Загрузите сервер Nextcloud Server
Итак, мы создали среду веб-сервера вместе с другими требованиями NextCloud. Теперь давайте загрузим установочные файлы этого облачного ПО с официального сайта в заархивированном виде. Мы можем воспользоваться приведенной командой, чтобы быстро получить их, не посещая страницу загрузки.
wget https://download.nextcloud.com/server/releases/latest.zip
Шаг 5: Установка NextCloud в Alma или Rocky Linux 9
После загрузки установочных файлов Nextcloud распакуйте их с помощью указанной команды.
unzip latest.zip
Переместите извлеченный файл в /var/www/html/
каталог
sudo mv nextcloud/ /var/www/html/
Создайте папку данных для хранения загруженных данных в Nextcloud
sudo mkdir /var/www/html/nextcloud/data
Теперь предоставьте права на папку Nextcloud пользователю Apache:
sudo chown apache:apache -R /var/www/html/nextcloud
Шаг 6. Создайте файл Apache VirtualHost для NextCloud
Создадим файл конфигурации Apache для NextCloud на Almalinux или Rocky для обслуживания файла в случае использования доменного имени или нескольких веб-сайтов, работающих на одном сервере.
sudo nano /etc/httpd/conf.d/nextcloud.conf
Вставьте следующие строки:
Примечание: Не забудьте заменить cloud.example.com с доменным именем, которое вы хотите использовать. Если у вас их нет, оставьте все как есть.
<VirtualHost *:80>
ServerName cloud.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/html/nextcloud
<directory /var/www/html/nextcloud>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud
</directory>
</VirtualHost>
Перезапустите веб-сервер Apache и установите политики SELinux:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
sudo sudo restorecon -Rv /var/www/html
sudo systemctl restart httpd
Шаг 7. Доступ к веб-интерфейсу NextCloud
После выполнения всех описанных выше шагов вы можете получить доступ к веб-интерфейсу для дальнейшей настройки NextCloud в системе Rocky или AlmaLinux 9.
Откройте браузер, чтобы получить доступ к домену или IP-адресу сервера, на котором вы установили NextCloud. После этого укажите IP-адрес или домен:
http://your-server-ip-address
or
http://your-domain.com
Создайте пользователя Admin и введите сведения о базе данных
На первой странице вам будет предложено создать Администратор пользователь. Затем выберите MySQL/MariaDB в качестве базы данных. Там же введите данные База данных , которую вы создали.
После , нажмите на УСТАНОВИТЬ кнопка.

Шаг 8. Вход в панель управления NextCloud
Когда вы перейдете на страницу входа, введите данные созданного вами пользователя Admin и войдите в систему, чтобы получить доступ к панели NextCloud Dashboard и загрузить файлы.
Примечание: Если вы забыли пароль администратора, здесь статья о том, как его изменить: Как сбросить пароль администратора NextCloud с помощью команды.


Шаг 9. Команда для обновления NextCloud
Если в будущем вы захотите легко обновить NextCloud с помощью команды, то вот одна из них:
Отредактируйте php.ini
sudo nano /etc/php.ini
Прокрутите файл до конца:
--define apc.enable_cli=1
Сохранить файл с помощью Ctrl+O, нажмите кнопку Введите , а затем нажмите Ctrl+X
После добавления выполните эту команду, чтобы проверить, доступны ли обновления NextCloud для установки.
sudo -u apache php --define apc.enable_cli=1 /var/www/html/nextcloud/updater/updater.phar
Шаг 10. Установка Let’s Encrypt SSL для NextCloud (необязательно)
Тем, кто также хочет установить SSL-сертификат, необходимо выполнить следующие команды:
Примечание: Убедитесь, что запись «A» в DNS вашего домена указывает на IP-адрес, на который вы установили NextCloud.
sudo dnf -y install certbot mod_ssl
sudo certbot certonly --standalone -d cloud.example.com --preferred-challenges http --agree-tos -n -m [email protected] --keep-until-expiring
Как только SSL сертификат был успешно выпущен, отредактируйте существующую конфигурацию Apache:
sudo nano /etc/httpd/conf.d/nextcloud.conf
Удалите существующую конфигурацию и добавьте следующую. Не забудьте заменить cloud.example.com с доменным именем, которое вы хотите использовать для доступа к NextCloud.
<VirtualHost *:80>
ServerName files.example.com
ServerAdmin [email protected]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName cloud.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/html/nextcloud
<directory /var/www/html/nextcloud>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud
</directory>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/cloud.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cloud.example.com/privkey.pem
</VirtualHost>
</IfModule>
Вы можете сохранить файл, нажав кнопку Ctlr+O, нажав на Введите , а затем выйти из файла с помощью клавиши Ctrl + X.
Перезапустите веб-сервер:
sudo systemctl restart httpd
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ:
Да, NextCloud похож на Google Drive, но в нем все данные находятся под вашим контролем и на вашем личном сервере, в то время как в Google Drive все данные и серверы находятся под контролем Google. Таким образом, это одно из лучших персональных облачных решений.
NextCloud — это форк OwnCloud, поэтому они оба одинаковые, но разные по идеологии. С одной стороны, NextCloud фокусируется на добавлении новых функций, в то время как OwnCloud старается быть стабильной платформой для совместной работы с файлами корпоративного уровня.
Да, 2 ГБ оперативной памяти достаточно для установки NextCloud, поскольку рекомендуемый минимальный объем памяти для этого персонального облачного ПО составляет всего 512 МБ.
Согласно официальной документации NextCloud, лучше всего использовать серверы баз данных с открытым исходным кодом MariaDB или MySQL; однако по умолчанию они настроены на использование SQLite.
Да, мы можем использовать NextCloud Server или Client в версиях Windows 10 и Windows 11 от Microsoft.
Да, NextCloud безопасен, поскольку может использовать SSL или TSL для передачи данных и шифровать их с помощью стандартного шифрования военного класса AES-256 с управлением ключами на сервере или на заказ. Однако если вы устанавливаете его на свой сервер, то общая безопасность находится в ваших руках.