Задача: Разобрать что есть интересного по сравнению с используемым OwnCloud в лице его форка, а именно NextCloud. Где операционная система будет Ubuntu 22.04 LTS Server. В качестве железа выступит виртуальная машина, наверное, уже нет таких людей кто что-либо тестирует на физическом железе. Просто я как познакомился давным-давно с OwnCloud то с него и не слезал, знаю, что есть его форк, но смотрел я в его сторону, а зачем? если меня все устраивает, нужно посмотреть, что изменилось и как это отражается если операционная система — это Ubuntu 22.04 Server.

Шаг №1: Изучаю системные требования:

OS: т.к. я только Ubuntu системы приемлю то здесь указываю только их, а именно: Ubuntu 22.04 LTS, Ubuntu 24.04 LTS

Database:

  • MySQL 8.0 / 8.4 or MariaDB 10.6/ 10.11 (recommended) / 11.4
  • Oracle Database 11g, 18, 21, 23 (only as part of an enterprise subscription)
  • PostgreSQL 13/14/15/16/17
  • SQLite 3.24+ (only recommended for testing and minimal-instances

WebServer:

  • Apache 2.4 with mod_php or php-fpm (recommended)
  • nginx with php-fpm

RAM: не менее 128Mb

Шаг №2: Произвожу предварительную настройку операционной системы перед дальнейшем использованием:

ekzorchik@srv-us2204a:~$ sudo nano /etc/update-manager/release-upgrades

[DEFAULT]

Prompt=never

ekzorchik@srv-us2204a:~$ sudo visudo

ekzorchik ALL=(ALL) NOPASSWD:ALL

ekzorchik@srv-us2204a:~$ sudo nano /etc/apt/sources.list

#deb [check-date=no] file:///cdrom jammy main restricted

ekzorchik@srv-us2204a:~$ sudo rm -Rf /var/lib/apt/lists

ekzorchik@srv-us2204a:~$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y

sudo rm -f /etc/localtime

sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

sudo locale-gen en_US.UTF-8

echo "LC_ALL="en_US.UTF-8"" | sudo -s tee /etc/default/locale

echo "LANG="en_US.UTF-8"" | sudo tee -a /etc/default/locale

echo "LANGUAGE="en.US.UTF-8"" | sudo tee -a /etc/default/locale

ekzorchik@srv-us2204a:~$ sudo apt-get install -y mc unzip qemu-guest-agent

sudo reboot

ekzorchik@srv-us2204a:~$ uname -a && lsb_release -a

Linux srv-us2204a 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 22.04.5 LTS

Release:        22.04

Codename:       jammy

Шаг №3: Устанавливаю сервис под базы данных и под разворачиваемый сервис создаем базу данных, пользователя и пароль:

ekzorchik@srv-us2204a:~$ apt-cache show mariadb-server | grep Version | head -n1

Version: 1:10.6.22-0ubuntu0.22.04.1

ekzorchik@srv-us2204a:~$ sudo apt-get install -y mariadb-server

ekzorchik@srv-us2204a:~$ sudo systemctl start mariadb.service

ekzorchik@srv-us2204a:~$ sudo mariadb-upgrade  --force

ekzorchik@srv-us2204a:~$ sudo mysql_secure_installation

ekzorchik@srv-us2204a:~$ sudo mysql -u root -p712mbddr@ -e "create user 'us_nextcloud'@'localhost' identified by '612mbddr@';"

ekzorchik@srv-us2204a:~$ sudo mysql -u root -p712mbddr@ -e "create database if not exists db_nextcloud character set utf8mb4 collate utf8mb4_general_ci;"

ekzorchik@srv-us2204a:~$ sudo mysql -u root -p712mbddr@ -e "grant all privileges on db_nextcloud.* to 'us_nextcloud'@'localhost';"

ekzorchik@srv-us2204a:~$ sudo mysql -u root -p712mbddr@ -e "flush privileges;"

Шаг №4: Устанавливаем Webсервис Apache2 (на момент написания заметки версия 2.4.52):

sudo apt-get install -y apache2 libapache2-mod-php php-bz2 php-gd php-mysql php-curl php-zipphp8.1-mbstring php-imagick php-ctype php-curl php-dom php-json php-posix php-bcmath php-xml php-intl php-gmp zip unzip wget

ekzorchik@srv-us2204a:~$ sudo rm -f /var/www/html/index.html

ekzorchik@srv-us2204a:~$ sudo nano /etc/apache2/apache2.conf

ServerName 127.0.0.1

Шаг №5: Активируем модули Apache2 и перезапускаем сервис:

ekzorchik@srv-us2204a:~$ sudo a2enmod rewrite dir mime env headers

Enabling module rewrite.

Module dir already enabled

Module mime already enabled

Module env already enabled

Enabling module headers.

To activate the new configuration, you need to run:

systemctl restart apache2

ekzorchik@srv-us2204a:~$ sudo systemctl restart apache2

Шаг №6: Скачиваю самый последний релиз NextCloud (Nextcloud Hub 25 Autumn (32.0.0)) на момент написания своей заметки, а именно на 06.10.2025 (размер 291Mb), распаковываю, перемещаю в корень откуда работает Web-сервис и предопределяю разрешения:

ekzorchik@srv-us2204a:~$ wget -c https://download.nextcloud.com/server/releases/latest.zip

ekzorchik@srv-us2204a:~$ unzip latest.zip

ekzorchik@srv-us2204a:~$ sudo mv nextcloud/ /var/www/html/

ekzorchik@srv-us2204a:~$ sudo chown -R www-data:www-data /var/www/html/

Шаг №7: Произвожу инсталляцию NextCloud, удобнее правда кому как, а мне делать это через консоль командной строки:

ekzorchik@srv-us2204a:/var/www/html/nextcloud$ sudo -u www-data php occ maintenance:install --database "mysql" --database-name "db_nextcloud" --database-user "us_nextcloud" --database-pass "612mbddr@" --admin-user "ekzorchik" --admin-pass "712mbddr@"

An unhandled exception has been thrown:

OCP\HintException: [0]: The PHP SimpleXML/PHP-XML extension is not installed. (Install the extension or make sure it is enabled.)

Если мы видим ошибку выше, значит не установлен компонент, ставим его:

sudo apt-get install -y php8.1-xmlrpc php8.1-xml

php -m | grep xml

libxml

xml

xmlreader

xmlrpc

xmlwriter

Повторяю, команду выше по части инсталляции Nextcloud:

ekzorchik@srv-us2204a:/var/www/html/nextcloud$ sudo -u www-data php occ maintenance:install --database "mysql" --database-name "db_nextcloud" --database-user "us_nextcloud" --database-pass "612mbddr@" --admin-user "ekzorchik" --admin-pass "712mbddr@"

Nextcloud was successfully installed

ekzorchik@srv-us2204a:/var/www/html/nextcloud$

ekzorchik@srv-us2204a:/var/www/html/nextcloud$ cd ~

ekzorchik@srv-us2204a:~$

Шаг №8: По умолчанию доступ к развернутому NextCloud возможен лишь с текущей системы, а нужно изменить на отовсюду, для этого прописываем либо FQDN, либо IP текущей системы:

ekzorchik@srv-us2204a:~$ sudo nano /var/www/html/nextcloud/config/config.php

<?php

$CONFIG = array (

'passwordsalt' => '2NoSj5rERFxpT56rAW0IwiZehFr+Li',

'secret' => '6pO3m3tm1UumwjEfHJgNoMh0taToslXeZArUcLf4COLMr9bU',

'trusted_domains' =>

array (

0 => 'localhost',

1 => '172.33.33.10',

),

'datadirectory' => '/var/www/html/nextcloud/data',

'dbtype' => 'mysql',

'version' => '32.0.0.13',

'overwrite.cli.url' => 'http://localhost',

'dbname' => 'db_nextcloud',

'dbhost' => 'localhost',

'dbtableprefix' => 'oc_',

'mysql.utf8mb4' => true,

'dbuser' => 'us_nextcloud',

'dbpassword' => '612mbddr@',

'installed' => true,

'instanceid' => 'ocujrp9ocw32',

);

Шаг №9: Создаем сайт для Webсервиса Apache2 для работы с сервисом NextCloud:

ekzorchik@srv-us2204a:~$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/nextcloud.conf

ekzorchik@srv-us2204a:~$ sudo rm /etc/apache2/sites-available/000-default.conf

ekzorchik@srv-us2204a:~$ sudo rm /etc/apache2/sites-enabled/000-default.conf

ekzorchik@srv-us2204a:~$ sudo nano /etc/apache2/sites-available/nextcloud.conf

<VirtualHost *:80>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html/nextcloud

ErrorLog ${APACHE_LOG_DIR}/error-nextcloud.log

CustomLog ${APACHE_LOG_DIR}/access-nextcloud.log combined

</VirtualHost>

ekzorchik@srv-us2204a:~$ sudo a2ensite nextcloud

Enabling site nextcloud.

To activate the new configuration, you need to run:

systemctl reload apache2

ekzorchik@srv-us2204a:~$

ekzorchik@srv-us2204a:~$ sudo apache2ctl configtest

Syntax OK

ekzorchik@srv-us2204a:~$

ekzorchik@srv-us2204a:~$ sudo systemctl restart apache2

ekzorchik@srv-us2204a:~$ sudo netstat -tulpn | grep :80

tcp6       0      0 :::80                   :::*                    LISTEN      14471/apache2

ekzorchik@srv-us2204a:~$

Шаг №10: На основной системе, это у меня Windows 10 Pro запускаю браузер и обращаюсь на URL адрес развернутого Nextcloud, либо http://FQDN, либо http://IP системы с осью Ubuntu 22.04 Server где шагами выше развернул NextCloud

вижу окно авторизации, указываю

  • Учетная запись или адрес эл. почты: ekzorchik
  • Пароль: 712mbddr@

При обращении к NextCloud через Web-интерфейс вижу окно авторизации.

и нажимаю "Войти"

Если все сделано правильно, то после авторизации вы видите Web-интерфейс вида

Вход успешно произведен в NextCloud развернутый на Ubuntu 22.04 Server

Если смотреть в сравнении с OwnCloud который я использую, то тут более удобный Web-интерфейс (он как живой смотрится) не такой унылый, вроде много есть из настроек. Но как по мне, я с OwnCloud с шестой версии и по последнюю на текущий день, меня все устраивает. Сервис развернут дома, доступ к нему осуществляет через VPN. Есть клиенты, как на Windows, Ubuntu, Android. Знаю, что NextCloud — это форк от OwnCloud. Функционал одинаков.

Итого: Форк есть форк, что-то лучше, что не так привычно, как в оригинале, но что выберите Вы то выберите. Как по мне, что понравится.

На заметку: Будет что дополнить, то заметка дополнится.

На этом заметка для самого себя успешно завершена, с уважением автор блога Олло Александр aka ekzorchik.