Don't load login form after resver restore

Due to power outages, the root file system on the home server was damaged. I restore all applications after reinstalling the system. There are archives for restoring the database, Apache virtual host files, folders with PHP nextcloud scripts. Nextcloud data folder on other media was not corrupted.
What I’ve done:

  • installed the operating system, Apache, PHP and modules for them, mariadb.
  • restored the database + PHPMyAdmin
  • extracted the archive for nextcloud and created a symlink to the data folder
  • changed the owner of extracted files:
    # chown -R wwwrun:www /srv/www/htdocs/cloud

What i got:

  • desktop clients work fine
  • moble app woks fine
  • web interface do not load login form scripts
    error messages in nextcloun.log:
{"reqId":"3Ywykfwnw6yTAiy8mRn8","level":3,"time":"2023-02-07T19:07:04+00:00","remoteAddr":"78.137.6.69","user":"--","app":"jsresourceloader","method":"GET","url":"/index.php/login","message":"Could not find resource core/js/common.js to load","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0","version":"25.0.2.3","data":{"app":"jsresourceloader"}}

the same errors for files: core/js/main.js, core/js/files_fileinfo.js, core/js/files_client.js, core/js/login.js
Apache log is empty.
Browser console show error messages:
Uncaught ReferenceError: OC is not defined

[detals]
operational system - opensuse tumbleweed
Apache 2.4.54
PHP 8.1.14
mariadb 10.10.2
nextcloud 25.0.2.3

[PHP Modules]
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imagick
intl
json
ldap
libxml
mbstring
memcache
memcached
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
snmp
soap
sockets
sodium
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
uuid
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

[# apachectl -t -D DUMP_MODULES ]
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_prefork_module (static)
unixd_module (static)
systemd_module (static)
authz_host_module (shared)
alias_module (shared)
authz_groupfile_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_user_module (shared)
autoindex_module (shared)
dir_module (shared)
env_module (shared)
expires_module (shared)
include_module (shared)
log_config_module (shared)
mime_module (shared)
setenvif_module (shared)
status_module (shared)
asis_module (shared)
cache_module (shared)
dav_module (shared)
deflate_module (shared)
headers_module (shared)
imagemap_module (shared)
proxy_module (shared)
proxy_connect_module (shared)
proxy_http_module (shared)
rewrite_module (shared)
ssl_module (shared)
php_module (shared)
session_module (shared)
proxy_wstunnel_module (shared)
proxy_fcgi_module (shared)
version_module (shared)
authz_core_module (shared)
http2_module (shared)
authn_core_module (shared)

I managed to find the reason: this is not a complete recovery archive. It was missing the ./dist folder
I downloaded the installation archive from the official site and took this folder from there.