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

Дата публикации: 2024-11-27T16:01:27

Теги: ["nextcloud", "Rocky"]

⏪ На главную
⏪ В Gemlog

Nextcloud — это клиент-серверное программное обеспечение, написанное на PHP и Javascript, которое хранит данные. Его функциональность аналогична функциональности Dropbox, Google Drive и Office 365. Nextcloud использует MySQL, PostgreSQL или SQLite для хранения данных. Он может быть установлен в различных операционных системах и предлагает множество функций, таких как многофакторная аутентификация, возможности мониторинга, полнотекстовый поиск и т.д. В этом статье мы шаг за шагом объясним, как установить Nextcloud и стек LAMP на Rocky Linux 9.5.

Предпосылки

Конвенции

# — данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ – данные команды должны выполняться от имени обычного пользователя.

Шаг 1. Обновите систему

Мы предполагаем, что у вас установлена ​​новая версия Rocky Linux. Нам необходимо обновить системные пакеты до последних доступных версий. Для этого выполните следующие команды:

sudo dnf update -y && sudo dnf upgrade -y

Шаг 2. Установите стек LAMP

Первой установкой стека LAMP будет веб-сервер Apache. Чтобы установить Apache, выполните следующую команду:

sudo dnf install httpd -y

После установки запустите и включите службу:

sudo systemctl start httpd && sudo systemctl enable httpd

Далее мы установим сервер базы данных MariaDB. Выполните команду ниже:

sudo dnf install mariadb-server mariadb -y

После установки сервера MariaDB нам нужно запустить и включить службу:

sudo systemctl start mariadb && sudo systemctl enable mariadb

Последней частью стека LAMP будет PHP8.3 вместе с его расширениями. Чтобы установить PHP8.3, мы добавим его в нашу систему из репозитория RPM Remi:

sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.5.rpm

Включить PHP 8.3

sudo dnf module reset php -y
sudo dnf module enable php:remi-8.3 -y

Установите пакет php для использования CLI и других ключевых расширений.

sudo dnf install php php-{common,gmp,fpm,curl,intl,pdo,mbstring,gd,zip,xml,bz2,cli,bcmath,zip,imagick,mysqli} -y

Шаг 3. База данных и пользователь Nextcloud

Далее мы создадим базу данных `nextcloud_db` и пользователя `nextcloud` и назначим привилегии этому пользователю и базе данных.

Итак, заходим в консоль MariaDB:

sudo mysql -u root -p

Теперь создайте новую базу данных:

CREATE DATABASE nextcloud_db;

Вы также можете присвоить ему другое имя.

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

CREATE USER 'nextcloud'@'localhost' identified by 'YourStrongPasswordHere';

Конечно, вы можете изменить имя пользователя и значение пароля.

Установите соответствующие разрешения для новой базы данных для пользователя.

GRANT ALL PRIVILEGES ON nextcloud_db.* TO 'nextcloud'@'localhost'; 

Обновите разрешения и выйдите из консоли.

FLUSH PRIVILEGES;
EXIT;

Шаг 4. Загрузите Nextcloud

Стек LAMP готов, база данных создана. Теперь нам нужно загрузить последнюю версию Nextcloud и поместить ее в корень документа Apache.

Но сначала установите пакеты `unzip` и `wget`, чтобы иметь возможность загружать и распаковывать Nextcloud.

sudo dnf install unzip wget -y

Теперь выполните загрузку:

cd /tmp/
wget https://download.nextcloud.com/server/releases/latest.zip

Теперь разархивируйте загруженный файл:

unzip latest.zip

Переместите его в папку `/var/www/html/`, которая является путем по умолчанию для Apache DocumentRoot.

sudo mv nextcloud/ /var/www/html/

Для Nextcloud создайте каталог для хранения данных;

sudo mkdir -p /var/www/html/nextcloud/data

Сделайте пользователя `apache` владельцем папки и установите соответствующие разрешения.

sudo chown -R apache:apache /var/www/html/nextcloud/
sudo chmod -R 755 /var/www/html/nextcloud/

Шаг 5. Настройка Apache, SELinux и Firewall

Чтобы был доступен, вам нужно настроить SELinux, как показано:

sudo dnf -y install policycoreutils-python-utils
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/nextcloud(/.*)?"
sudo restorecon -Rvv /var/www/html/nextcloud

Шаг 6. Создайте файл виртуального хоста Apache

Следующее - создать файл виртуального хоста Apache для сервера файлов Nextcloud, чтобы мы могли получить к нему доступ через доменное имя:

sudo nano /etc/httpd/conf.d/nextcloud.conf

Откройте созданный файл в вашем любимом редакторе и вставьте следующие строки кода:


        DocumentRoot "/var/www/html/nextcloud"
        ServerName yourdomain.com
        ErrorLog /var/log/httpd/nextcloud-error.log
        CustomLog /var/log/httpd/nextcloud-access.log combined
                
                        Require all granted
                        Options FollowSymlinks MultiViews
                        AllowOverride All
                

Сохраните файл, перезапустите веб-сервер Apache:

sudo systemctl restart httpd

Разрешить HTTP-сервис через брандмауэр:

sudo firewall-cmd --add-service={http,https} --zone=public --permanent
sudo firewall-cmd --reload

Шаг 7. Завершите установку Nextcloud

Теперь вы можете открыть веб-браузер и войти в систему через http://yourdomain.com

Там вам нужно будет создать пользователя-администратора, который является наиболее важным. Далее вам нужно будет настроить параметры базы данных

Затем вам будут показаны некоторые рекомендуемые приложения, а затем экран входа в систему.

После входа в систему вы увидите экран приветствия.

Шаг 8. Используем Let’s Encrypt SSL

Для серверов в общественном достоянии вы можете использовать бесплатный Let’s Encrypt SSL.

sudo dnf install certbot python3-certbot-apache -y

Запрос на Let’s Encrypt SSL.

sudo certbot --apache -d $DOMAIN --agree-tos

Если вы не хотите предоставлять адрес электронной почты.

sudo certbot --apache -d $DOMAIN --agree-tos --register-unsafely-without-email

Он автоматически настраивает `/etc/httpd/conf.d/nextcloud.conf` для включения SSL.

Завершение

Мы завершили наше руководство по установке Nextcloud на системах Rocky Linux. Мы начали с подготовки сервера с необходимыми зависимостями, а затем приступили к установке и настройке Nextcloud.

Если вам понравился этот пост по установке Nextcloud на системах Rocky Linux, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.