Установка NextCloud

Установка NextCloud

В этой шпаргалке будет кратко показано, как выполняется установка NextCloud – файлового сервера, который предоставляет возможность получения веб доступа к вашим файлам через веб интерфейс.

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

Полный перечень предварительных требований приведен в официальной документации.

Кратко основные требования приведены ниже:

Параметр Значение
Операционная система Ubuntu 22.04 LTS (рекомендуется)
Ubuntu 20.04 LTS
Red Hat Enterprise Linux 8 (рекомендуется)
Debian 11 (Bullseye)
SUSE Linux Enterprise Server 15
openSUSE Leap 15.4
CentOS Stream
База данных MySQL 8.0+ or MariaDB 10.3/10.4/10.5/10.6 (рекомендуется)
Oracle Database 11g
PostgreSQL 10/11/12/13/14/15
SQLite (только для тестирования)
Веб сервер Apache 2.4 с модулями mod_php или php-fpm (рекомендуется)
nginx с модулем php-fpm
PHP 8.0 (устарело)
8.1
8.2 (рекомендуется)

Как обычно, будет использоваться Ubuntu Server 22.04.

Подготовка сервера баз данных

Установим сервер MariaDB:

sudo apt install -y mariadb-server

Настроим автоматический запуск и проверим, что сервер запущен:

sudo systemctl enable mariadb
sudo systemctl status mariadb

Выполним первоначальную настройку сервера MariaDB:

sudo mysql_secure_installation
You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] n
 ... skipping.

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Создадим отдельного пользователя и базу данных

mysql -u root -p
CREATE USER 'ncuser'@'localhost' IDENTIFIED BY 'Qwerty123';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncuser'@'localhost';
FLUSH PRIVILEGES;
exit

Подготовка сервера для установки NextCloud

Теперь подготовим сам сервер:

sudo apt install -y apache2 mariadb-server libapache2-mod-php php-gd php-mysql php-curl php-mbstring php-intl php-gmp php-bcmath php-xml php-imagick php-zip

Хранение данных будет на отдельном выделенном диске в каталоге /data.

Создадим раздел на диске и подготовим директорию для монтирования:

sudo mkfs.ext4 /dev/sdb
sudo mkdir /data

Определим UUID диска – он понадобится нам для монтирования:

sudo blkid

Настроим запись для монтирования устройства /dev/sdb в каталог /data:

nano /etc/fstab

Добавим соответствующую строчку:

UUID="c59438b7-b489-4138-9df1-5fa981ef800c"     /data   ext4    defaults 0 1

Проверим, что монтирование выполняется без ошибок (в противном случае могут быть проблемы с загрузкой сервера):

sudo mount -a
df -h

Как видно из скриншота выше – монтирование выполнено успешно.

Установка NextCloud

Теперь перейдем непосредственно у установке NextCloud.

Сначала загрузим установщик сервера для коммунити редакции. Перейдите на сервер NextCloud и выполните загрузку дистрибутива:

wget https://download.nextcloud.com/server/releases/latest.tar.bz2

Распакуйте архив:

tar -xjvf latest.tar.bz2

Создадим директорию для данных NextCloud сервера и скопирует туда все файлы дистрибутива:

sudo mkdir -p /data/nextcloud
sudo cp -r nextcloud/ /data/

Теперь необходимо изменить владельца для всего каталога /data/nextcloud:

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

Теперь необходимо выполнить настройки веб сервера Apache. Создадим конфигурационный файл для нашего сайта с NextCloud:

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

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

<VirtualHost *:80>
  DocumentRoot /data/nextcloud/
  ServerName  files.itproblog.ru

  <Directory /data/nextcloud/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

    <IfModule mod_dav.c>
      Dav off
    </IfModule>
  </Directory>
</VirtualHost>

В конфигурационном файле выше есть несколько важных параметров:

Параметр Значение
DocumentRoot Путь к директории, куда вы скопировали файлы с дистрибутивом сервера NextCloud
ServerName Имя, по которому сервер NextCloud будет доступен
Directory /data/nextcloud/ Содержит настройки для директории /data/nextcloud/

Сохраняем внесенные изменения и публикуем сайт:

sudo a2ensite nextcloud.conf
sudo systemctl reload apache2

Дополнительно необходимо включить некоторые модули Apache:

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
sudo systemctl restart apache2

Мы выполнили все шаги по подготовке и теперь можем продолжить установку через веб. Перейдите по имени, которое вы указали в конфигурационном файле:

http://files.itproblog.ru

Отобразится стартовая страница мастера установки. Укажите параметры подключения к базе данных и расположение дистрибутива сервера NextCloud:

Дождитесь окончания процесса установки.

Установку рекомендуемых приложений пропустим:

После завершения процесса установки вы должны попасть на главную страницу сервиса NextCloud:

Установка NextCloud завершена.

Метаданные статьи

Идентификатор статьи:
42
Категория:
Дата добавления:
2024-03-11 23:40:02
Просмотры:
54
Рейтинг (Голоса):
(0)

Связанные статьи