Как установить Nextcloud на сервер Ubuntu 24.04

Nextcloud – это программное обеспечение с открытым исходным кодом для публичного и частного хранения файлов. Оно позволяет создавать собственные сервисы, подобные Dropbox, Google Drive или Mega.nz. Изначально она была создана разработчиком Owncloud Фрэнком Карлитшеком. В 2016 году он форкнул проект Owncloud и создал новый проект с новым названием “Nextcloud”.

Проект Nextcloud быстро развивается и становится не просто программным обеспечением для хостинга файлов. Это скорее платформа для синхронизации файлов и совместной работы с контентом. Благодаря множеству плагинов Nextcloud превратился в мощное программное обеспечение для совместной работы. Вы можете установить плагины для управления проектами, видеоконференций, совместного редактирования, заметок, почтового клиента и т. д.

В этом руководстве рассказывается о том, как установить Nextcloud на сервер Ubuntu 24.04. Вы установите Nextcloud с помощью стека LAMP, а затем защитите Netxcloud с помощью HTTPS через Certbot и Letsencrypt.

Предварительные условия

Перед началом работы убедитесь, что у вас есть следующее:

  • Сервер Ubuntu 24.04
  • Некорневой пользователь с правами администратора
  • Доменное имя, указывающее на IP-адрес сервера
  • UFW (Uncomplicated Firewall) запущен и работает

Установка зависимостей

В этом разделе вы установите зависимости пакетов для Nextcloud. Вы запустите Nextcloud с помощью стека LAMP, используя curl для загрузки исходного кода Nextcloud, а затем используя Certbot и Letsencrypt для защиты Nextcloud с помощью HTTPS.

Перед началом работы выполните следующую команду, чтобы обновить индекс пакетов Ubuntu

sudo apt update

обновить репо

Теперь установите зависимости Nextcloud с помощью следующей команды apt install. Это позволит установить стек LAMP (Linux, Apache, MySQL/MariaDB и PHP), curl, unzip, ImageMagick и certbot.

sudo apt install apache2 mariadb-server php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev php-redis php-memcached curl unzip imagemagick certbot python3-certbot-apache

Введите Y, чтобы подтвердить установку.

установить deps

После установки проверьте состояние веб-сервера Apache с помощью приведенной ниже команды. Вы увидите, что веб-сервер Apache запущен и включен.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

test apache2

Теперь проверьте состояние сервера MariaDB с помощью следующей команды. Вы должны получить аналогичный результат, так как MariaDB запущена.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

проверить mariadb

Наконец, выполните приведенную ниже команду, чтобы проверить версию PHP в вашей системе. Вы увидите, что установлен PHP 8.3.

php -v

проверить php

Настройка PHP

После установки зависимостей вы настроите PHP, отредактировав файл php.ini. Вы можете настроить конфигурацию PHP по мере необходимости для некоторых параметров, таких как максимальный объем памяти и максимальный размер загрузки.

Откройте файл /etc/php/8.3/apache2/php.ini с помощью редактора nano.

sudo nano /etc/php/8.3/apache2/php.ini

Измените конфигурацию по умолчанию на следующую, и убедитесь, что вы настроили memory_limit на ваш максимальный объем памяти и date.timezone на ваше местоположение/временной пояс сервера.

date.timezone = Europe/Amsterdam
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
file_uploads = On
allow_url_fopen = On
display_errors = Off
output_buffering = Off

После завершения сохраните файл и выйдите.

Теперь выполните следующую команду systemctl, чтобы перезапустить веб-сервер Apache и применить новую конфигурацию PHP.

sudo systemctl restart apache2

Настройка сервера MariaDB

Теперь, когда вы настроили PHP, вы настроите сервер MariaDB и создадите новую базу данных и пользователя для Nextcloud. Вы защитите MariaDB с помощью mariadb-secure-installation , затем создайте новую базу данных и пользователя с помощью утилиты mariadb клиент.

Чтобы защитить сервер MariaDB, выполните команду mariadb-secure-installation команда ниже.

sudo mariadb-secure-installation

В процессе выполнения вам будет задан вопрос о следующих конфигурациях сервера MariaDB:

  • Нажмите ENTER, когда вас попросят ввести пароль корня MariaDB.
  • Введите n в ответ на вопрос о методе аутентификации unix_socket.
  • Введите Y, чтобы установить новый пароль для пользователя MariaDB root. Затем введите новый пароль и повторите.
  • Введите Y, чтобы удалить анонимного пользователя по умолчанию из MariaDB.
  • Затем снова введите Y, чтобы отключить удаленный вход для пользователя MariaDB root.
  • Введите Y, чтобы удалить тест базы данных по умолчанию из MariaDB.
  • Наконец, введите Y еще раз, чтобы перезагрузить привилегии таблицы и применить изменения.

Далее выполните приведенную ниже команду mariadb client для входа на сервер MariaDB. Введите пароль root, когда появится запрос.

sudo mariadb -u root -p

Выполните следующие запросы для создания новой базы данных nextclouddb, пользователь nextcloud@localhost, с паролем passw0rd. Вы можете изменить сведения о базе данных в соответствии с вашими данными.

CREATE DATABASE nextclouddb;
CREATE USER nextcloud@localhost IDENTIFIED BY 'passw0rd';
GRANT ALL PRIVILEGES ON nextclouddb.* to nextcloud@localhost;
FLUSH PRIVILEGES;

создание базы данных и пользователя

Теперь выполните приведенный ниже запрос, чтобы убедиться, что пользователь nextcloud@localhost может получить доступ к базе данных nextclouddb.

SHOW GRANTS FOR nextcloud@localhost;

Вы увидите вывод, подобный следующему:

показать привилегии пользователя

Введите quit, чтобы выйти из сервера MariaDB.

Открытие портов HTTP и HTTPS

В этом разделе вы откроете порты HTTP и HTTPS для доступа к Nextcloud. Поэтому вы должны убедиться, что UFW настроен и включен на вашем сервере Ubuntu.

Чтобы открыть порты HTTP и HTTPS на Ubuntu, выполните приведенную ниже команду ufw. С Apache Full профиль, вы разрешите соединения с портами HTTP и HTTPS.

sudo ufw allow 'Apache Full'
sudo ufw reload

Теперь проверьте правила списка на UFW с помощью следующей команды. Убедитесь, что Apache Full профиль включен на вашем сервере Ubuntu.

sudo ufw status

настройка ufw

Загрузка Nextcloud

Теперь, когда вы настроили PHP, MariaDB и UFW, загрузите исходный код Nextcloud и настройте корневой каталог документа для установки Nextcloud.

Перейдите на страницу /var/www и загрузите исходный код Nextcloud с помощью команды curl, приведенной ниже.

cd /var/www/
sudo curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip

После загрузки запустите команду разархивировать Команда ниже для извлечения Nextcloud. В результате корневой каталог Netxcloud будет установлен в /var/www/nextcloud.

sudo unzip nextcloud.zip

Теперь выполните приведенную ниже команду, чтобы изменить право собственности на /var/www/nextcloud каталог для пользователя www-data.

sudo chown -R www-data:www-data /var/www/nextcloud

скачать nextcloud

Настройка виртуального хоста Apache для Nextcloud

После загрузки Nextcloud вы создадите новый виртуальный хост Apache для Nextcloud. Затем вы сгенерируете SSL-сертификаты и защитите Nextcloud с помощью HTTPS.

Создание новой конфигурации виртуального хоста Apache /etc/apache2/sites-available/nextcloud.conf с помощью следующего редактора nano.

sudo nano /etc/apache2/sites-available/nextcloud.conf

Вставьте приведенную ниже конфигурацию и не забудьте изменить доменное имя nextcloud.local.

ServerName nextcloud.local
DocumentRoot /var/www/nextcloud/

# log files
ErrorLog /var/log/apache2/nextclouds.local-error.log
CustomLog /var/log/apache2/nextcloud.local-access.log combined

Options +FollowSymlinks
AllowOverride All

Dav off

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud

После этого сохраните файл и выйдите из редактора.

Теперь выполните приведенную ниже команду, чтобы активировать файл виртуального хоста nextcloud.conf и проверьте синтаксис вашего Apache. Если синтаксис Apache правильный, вы получите вывод Синтаксис в порядке.

sudo a2ensite nextcloud.conf
sudo apachectl configtest

Затем выполните приведенную ниже команду systemctl, чтобы перезапустить веб-сервер Apache и применить внесенные изменения.

sudo systemctl restart apache2

настройка apache

После перезапуска Apache выполните приведенную ниже команду certbot, чтобы сгенерировать SSL-сертификаты и защитить вашу установку Nextcloud с помощью HTTPS. Не забудьте изменить доменное имя и адрес электронной почты на свои данные.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d nextcloud.local

Установка Nextcloud

Откройте веб-браузер и перейдите по адресу https://nexcloud.local/. Если настройка прошла успешно, вы увидите страницу установки Nextcloud.

На странице установки Nextcloud настройте следующее:

  • Введите пользователя и пароль администратора для Nextcloud
  • Выберите путь к хранилищу в качестве каталога по умолчанию
  • Введите данные базы данных Nextcloud, которую вы создали
  • Нажмите Установить чтобы начать установку.

установить nextcloud

Теперь вы можете установить некоторые приложения Nextcloud или нажать кнопку Пропустить.

пропустить установку приложений

После завершения процесса вы увидите следующую страницу:

приборная панель nextcloud

Заключение

Поздравляем! Вы завершили установку Nextcloud на сервер Ubuntu 24.04. Nextcloud работает с LAMP-стеком и защищен HTTPS с помощью Certbot и Letsencrypt. Теперь вы можете создавать новых пользователей и загружать файлы в Nextcloud, а также добавить новые методы кэширования для повышения его производительности.

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

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