Как установить NextCloud на Almalinux 9 | Rocky Linux 9

В этой статье мы узнаем, как установить и настроить 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
Отключить SELinux в Rocky Linux

Шаг 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

Вы увидите что-то вроде следующего:

Страница веб-сервера Apache по умолчанию Almalinux

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 8.1 на Almalinux 9 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 из Remni

Не забудьте включить и начало службу 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 в качестве базы данных. Там же введите данные База данных , которую вы создали.

После , нажмите на УСТАНОВИТЬ кнопка.

Настройка базы данных Веб-интерфейс NextCloud

Шаг 8. Вход в панель управления NextCloud

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

Примечание: Если вы забыли пароль администратора, здесь статья о том, как его изменить: Как сбросить пароль администратора NextCloud с помощью команды.

Вход в панель управления облаком
Установите NextCloud на Almalinux или Rockylinux 9

Шаг 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?

Да, NextCloud похож на Google Drive, но в нем все данные находятся под вашим контролем и на вашем личном сервере, в то время как в Google Drive все данные и серверы находятся под контролем Google. Таким образом, это одно из лучших персональных облачных решений.

Что лучше, ownCloud или Nextcloud?

NextCloud — это форк OwnCloud, поэтому они оба одинаковые, но разные по идеологии. С одной стороны, NextCloud фокусируется на добавлении новых функций, в то время как OwnCloud старается быть стабильной платформой для совместной работы с файлами корпоративного уровня.

Достаточно ли 2 ГБ оперативной памяти для Nextcloud?

Да, 2 ГБ оперативной памяти достаточно для установки NextCloud, поскольку рекомендуемый минимальный объем памяти для этого персонального облачного ПО составляет всего 512 МБ.

Какая база данных лучше всего подходит для Nextcloud?

Согласно официальной документации NextCloud, лучше всего использовать серверы баз данных с открытым исходным кодом MariaDB или MySQL; однако по умолчанию они настроены на использование SQLite.

Могу ли я использовать Nextcloud под Windows?

Да, мы можем использовать NextCloud Server или Client в версиях Windows 10 и Windows 11 от Microsoft.

Безопасен ли Nextcloud?

Да, NextCloud безопасен, поскольку может использовать SSL или TSL для передачи данных и шифровать их с помощью стандартного шифрования военного класса AES-256 с управлением ключами на сервере или на заказ. Однако если вы устанавливаете его на свой сервер, то общая безопасность находится в ваших руках.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *