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

Предпосылки

  • Сервер под управлением Rocky Linux 9.5 или любой другой ОС Linux.
  • Привилегии пользователя: пользователь root или не root с привилегиями sudo.

Конвенции

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

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

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

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

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

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

1
sudo dnf install httpd -y

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

1
sudo systemctl start httpd && sudo systemctl enable httpd

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

1
sudo dnf install mariadb-server mariadb -y

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

1
sudo systemctl start mariadb && sudo systemctl enable mariadb

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

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

Включить PHP 8.3

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

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

1
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:

1
sudo mysql -u root -p

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

1
CREATE DATABASE nextcloud_db;

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

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

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

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

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

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

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

1
2
FLUSH PRIVILEGES;
EXIT;

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

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

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

1
sudo dnf install unzip wget -y

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

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

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

1
unzip latest.zip

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

1
sudo mv nextcloud/ /var/www/html/

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

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

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

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

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

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

1
2
3
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, чтобы мы могли получить к нему доступ через доменное имя:

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

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<VirtualHost *:80>
        DocumentRoot "/var/www/html/nextcloud"
        ServerName yourdomain.com
        ErrorLog /var/log/httpd/nextcloud-error.log
        CustomLog /var/log/httpd/nextcloud-access.log combined
                <Directory /var/www/html/nextcloud/>
                        Require all granted
                        Options FollowSymlinks MultiViews
                        AllowOverride All
                </Directory>
</VirtualHost>

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

1
sudo systemctl restart httpd

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

1
2
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.

1
sudo dnf install certbot python3-certbot-apache -y

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

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

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

1
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, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.