Задача: Разобрать что есть интересного по сравнению с используемым 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-zip
php8.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@
и нажимаю "Войти"
Если все сделано правильно, то после авторизации вы видите Web
-интерфейс вида
Если смотреть в сравнении с OwnCloud
который я использую, то тут более удобный Web
-интерфейс (он как живой смотрится) не такой унылый, вроде много есть из настроек. Но как по мне, я с OwnCloud
с шестой версии и по последнюю на текущий день, меня все устраивает. Сервис развернут дома, доступ к нему осуществляет через VPN
. Есть клиенты, как на Windows, Ubuntu, Android.
Знаю, что NextCloud
— это форк от OwnCloud.
Функционал одинаков.
Итого: Форк есть форк, что-то лучше, что не так привычно, как в оригинале, но что выберите Вы то выберите. Как по мне, что понравится.
На заметку: Будет что дополнить, то заметка дополнится.
На этом заметка для самого себя успешно завершена, с уважением автор блога Олло Александр aka ekzorchik.