Как установить Nextcloud на Rocky Linux
Дата публикации: 2024-11-27T16:01:27
Теги: ["nextcloud", "Rocky"]
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.
Конвенции
# — данные команды должны выполняться с правами 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, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.