Произошла неизвестная ошибка nextcloud

Server configuration detail
Operating system: Linux 3.10.0-962.3.2.lve1.5.26.1.el7.x86_64 #1 SMP Fri Jun 28 06:30:57 EDT 2019 x86_64

Webserver: LiteSpeed (litespeed)

Database: mysql 10.3.17

PHP version: 7.1.30

Modules loaded: Core, date, libxml, openssl, pcre, sqlite3, zlib, bz2, calendar, ctype, curl, hash, filter, ftp, gettext, gmp, SPL, iconv, pcntl, readline, Reflection, session, standard, shmop, SimpleXML, mbstring, tokenizer, xml, litespeed, bcmath, dom, fileinfo, gd, imagick, imap, intl, json, exif, mcrypt, mysqlnd, mysqli, PDFlib, PDO, pdo_mysql, pdo_sqlite, Phar, posix, rar, soap, sockets, tidy, wddx, xmlreader, xmlrpc, xmlwriter, xsl, zip, ionCube Loader, Zend OPcache

Nextcloud version: 16.0.3 — 16.0.3.0

Updated from an older Nextcloud/ownCloud or fresh install:

Where did you install Nextcloud from: unknown

Signing status
Array ( )

List of activated apps
Enabled:

  • accessibility: 1.2.0
  • activity: 2.9.1
  • audioplayer: 2.7.2
  • bruteforcesettings: 1.3.0
  • cloud_federation_api: 0.2.0
  • comments: 1.6.0
  • dav: 1.9.2
  • federatedfilesharing: 1.6.0
  • federation: 1.6.0
  • files: 1.11.0
  • files_pdfviewer: 1.5.0
  • files_rightclick: 0.13.0
  • files_sharing: 1.8.0
  • files_texteditor: 2.8.0
  • files_trashbin: 1.6.0
  • files_versions: 1.9.0
  • files_videoplayer: 1.5.0
  • firstrunwizard: 2.5.0
  • gallery: 18.3.0
  • logreader: 2.1.0
  • lookup_server_connector: 1.4.0
  • music: 0.10.0
  • nextcloud_announcements: 1.5.0
  • notifications: 2.4.1
  • oauth2: 1.4.2
  • password_policy: 1.6.0
  • privacy: 1.0.0
  • provisioning_api: 1.6.0
  • recommendations: 0.4.0
  • serverinfo: 1.6.0
  • sharebymail: 1.6.0
  • support: 1.0.0
  • survey_client: 1.4.0
  • systemtags: 1.6.0
  • theming: 1.7.0
  • twofactor_backupcodes: 1.5.0
  • updatenotification: 1.6.0
  • viewer: 1.0.0
  • workflowengine: 1.6.0
    Disabled:
  • admin_audit
  • encryption
  • files_external
  • user_ldap
    Configuration (config/config.php)
    {
    «instanceid»: «REMOVED SENSITIVE VALUE«,
    «passwordsalt»: «REMOVED SENSITIVE VALUE«,
    «secret»: «REMOVED SENSITIVE VALUE«,
    «trusted_domains»: [
    «REMOVED SENSITIVE VALUE«,»
    ],
    «datadirectory»: «REMOVED SENSITIVE VALUE«,
    «dbtype»: «mysql»,
    «version»: «16.0.3.0»,
    «overwrite.cli.url»: REMOVED SENSITIVE VALUE«,
    «dbname»: «REMOVED SENSITIVE VALUE«,
    «dbhost»: «REMOVED SENSITIVE VALUE«,
    «dbport»: «»,
    «dbtableprefix»: «oc_»,
    «dbuser»: «REMOVED SENSITIVE VALUE«,
    «dbpassword»: «REMOVED SENSITIVE VALUE«,
    «installed»: true
    }
    External storages: files_external is disabled

Encryption: no

User-backends:

OCUserDatabase
Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36

При работе в Nextcloud возникают ошибки.
Для их устранения необходимо перевести облачное хранилище в режим обслуживания. Сделаем это с помощью утилиты occ находящаяся в корне web-проекта.

Переводим в режим обслуживания выполнив команду:

# sudo -u www-data php occ maintenance:mode --on

Для отключения режима обслуживания выполним команду:

# sudo -u www-data php occ maintenance:mode --off

В режиме обслуживания на Desktop-клиентах будет запрошен пароль пользователя.

Ошибка «File is locked»

Ошибка при использовании серверов с медленной дисковой подсистемой.
Для исправления потребует перевести хранилища в режим обслуживания и выполненить SQL-запрос по очистке таблицы блокировок.

> delete from oc_file_locks;

Ошибка «Файл был удален с сервера» («File was deleted from server»)

Это довольно распространенная не блокирующая ошибка и синхронизация будет продолжаться, но в логах клиента будут присутствовать соответствующие ошибки.

Для устранения этой ошибки необходимо воспользоваться встроенной функцией сканирования файлового хранилища. Эта функция может быть запущена для всех пользователей:

# sudo -u www-data php occ files:scan --all

Это доволно длительная операция и зависящая от того сколько пользователей и файлов и для устранения проблем у одного пользователя можно указать вместо параметра его имя или идентификатор из Active Directory:

# sudo -u www-data php occ files:scan 2718B513-40C2-497A-8461-5CA930CEC4E9

Если вам известно расположение сбойного файла, то можно указать какой каталог требуется пересканировать:

# sudo -u www-data php occ files:scan 2718B513-40C2-497A-8461-5CA930CEC4E9 
--path="2718B513-40C2-497A-8461-5CA930CEC4E9/files_versions/"

Когда штатные средства не помогают, придется удалить записи о файлах напрямую из базы данных, подключаемся базе данных mysql и выполняем запрос файлового идентификатора искомого файла.

> select fileid,path from oc_filecache where path like '%data/4.%';

Где, ‘%data/4.%’ — это запрос части имени файла вызывающего ошибку.

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

> delete from oc_filecache where fileid=589434;

589434 — соответственно идентификатор сбойного файла.

Ошибка «Precondition failed (An If-Match header was specified and the resource did not exist)»

Ошибка возникает на стороне клиента и оптимальным решением является переместить файл на временное хранение в другой каталог и после окончания синхронизации переместить файл обратно.

CityCat4

CityCat4

@CityCat4

Жил-был у бабушки серенький троллик…

Message»:»touch(): Unable to create file /usr/local/nginx/html/nextcloud/config/config.php because Permission denied at /usr/local/nginx/html/nextcloud/lib/private/Config.php

Глеб, ну ешкин кот! Не видишь, что ли, что прав не хватает на запись конфига? Семен Семеныч…

  • CityCat4,

    Не видишь, что ли, что прав не хватает на запись конфига?

    Вы на время вообще смотрели? Я знаю, что была ошибка по правам. Я её исправил. Файл config.php успешно создался. Теперь другая ошибка: Failed to start session
    В чём может быть дело и как её решить?

  • CityCat4,

    {«reqId»:»T8g6e9yEVmJ2YsTeDLTP»,»level»:3,»time»:»2022-08-18T23:31:11+00:00″,»remoteAddr»:»1.1.1.1″,»user»:»—«,»app»:»base»,»method»:»GET»,»url»:»/nextcloud/»,»message»:»Failed to start session»,»userAgent»:»Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36″,»version»:»»,»exception»:{«Exception»:»Exception»,»Message»:»Failed to start session»,»Code»:0,»Trace»:[{«file»:»/usr/local/nginx/html/nextcloud/lib/base.php»,»line»:431,»function»:»__construct»,»class»:»OCSessionInternal»,»type»:»->»},{«file»:»/usr/local/nginx/html/nextcloud/lib/base.php»,»line»:659,»function»:»initSession»,»class»:»OC»,»type»:»::»},{«file»:»/usr/local/nginx/html/nextcloud/lib/base.php»,»line»:1104,»function»:»init»,»class»:»OC»,»type»:»::»},{«file»:»/usr/local/nginx/html/nextcloud/index.php»,»line»:34,»args»:[«/usr/local/nginx/html/nextcloud/lib/base.php»],»function»:»require_once»}],»File»:»/usr/local/nginx/html/nextcloud/lib/private/Sess» while reading response header from upstream, client: 1.1.1.1, server: domain.com, request: «GET /nextcloud/ HTTP/1.1», upstream: «fastcgi://unix:/var/run/php-fpm.sock:», host: «domain.com»
    2022/08/19 02:32:53 [error] 41545#106517: *10 FastCGI sent in stderr: «PHP message:

  • CityCat4

    WSGlebKavash, Проблемы с php-fpm, однако. Ошибка чтения заголовка ответа. Тут однозначного ответа дать нельзя, нужно доки грызть. А, пардон, на куа тебе nextcloud именно на FreeBSD? Шоб було?

  • CityCat4,

    Ошибка чтения заголовка ответа.

    Таков он на фряхе. На Ubuntu всё с первого раза заработало.

    А, пардон, на куа тебе nextcloud именно на FreeBSD?

    Обязательно будет вопрос на эту тему. Пожалуйста, подождите. Будьте готовы дать ответ.

    нужно доки грызть.

    Доки чего? Nextcloud? PHP 8.0?

  • CityCat4

    WSGlebKavash, И того и другого, а еще fastCGI, php-fpm и всего, что там задействовано. У меня кстати на генте nextcloud взлетел вообще без проблем

  • CityCat4,

    У меня кстати на генте nextcloud взлетел вообще без проблем

    То ж Linux. Более того, самый True GNU/Linux. А не BSD, где программы работают только с патчами, а некоторые линуксовые системные вызовы вообще невозможно реализовать.

  • DevMan

    CityCat4, это же глебушка.
    для него Per Aspera Ad Astra — походу смысл существования.

  • CityCat4

    DevMan, Ниче, вырастет, начнет работать (а не балду околачивать) — будет у него дохрена бесполезных знаний :)

  • DevMan

    CityCat4, чел, который на фрю пытается натянуть туксовые привычки, в нормального не вырастет.

  • CityCat4

    DevMan, Ну, как человек, который перешел с FreeBSD на линух, могу сказать, что если есть моск — разница нащупывается очень быстро и приходит понимание, что почем. Обратно на FreeBSD я кстати точно не вернусь :)

  • CityCat4

    WSGlebKavash, Глеб, твое обслуждение (ты кого-то обслуживать собрался?) уже пристрелил модератор :)

  • DevMan

    WSGlebKavash, ты до сих пор (после кучи снесенных акков) не понял, что
    тут не социалочка и обсуждений не ведут?
    ну не клоун ли ты после этого?

  • CityCat4

    DevMan, Да ладно. Все-таки растет. Раньше любой его вопрос приводил к дикому ржачу. Сейчас уже более-менее серьезные вопросы пошли (этот конечно не в счет)

  • DevMan

    CityCat4, так я о чем? он же хочет развлекалочки, как в дотку погонять.

Содержание

По ходу инсталляции, будут настроены «pretty URLs» (ссылки без index.php в составе), кэш и настройка аутентификации через LDAP. Fail2ban (утилита против брутфорса) рассматривается в отдельной статье.

Установка и настройка системы и необходимых компонентов

Во время установки Ubuntu Server, отметить для установки SSH Server и LAMP. Выбрать автоустановку обновлений безопасности.

# Войти в режим рута
sudo -i
# Задать статический IP:
nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.7
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
dns-search workgroup

Перезагрузиться.

Зайти в систему по SSH и обновить систему целиком:

sudo -i
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y && apt-get autoremove

Установить все необходимые компоненты и, в данном случае, механизм кэширования APCu + Redis и компоненты для автогенерации favicon:

apt-get install php-zip php-xml php-gd php-json php-curl php-mbstring php-bz2 php-intl php-mcrypt php-apcu redis-server php-redis php-imagick libmagickcore-6.q16-2-extra -y

Если нужен SMB client (для подключения внешних накопителей в Nextcloud), LDAP и Midnight Commander:

apt-get install smbclient php-ldap mc -y

Клиент

# Скачать последнюю версию
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
# Распаковать архив в корневую папку веб-сервера
tar xjf latest.tar.bz2 --strip=1 -C /var/www/html
# Удалить исходный архив (если нужно)
rm latest.tar.bz2
# Создать папку для пользовательских данных
mkdir /var/nextcloud-data
# Дать права владельца веб-серверу:
chown -R www-data:www-data /var/www/html /var/nextcloud-data
# Перезапустить Apache:
systemctl restart apache2
# Создать базу MySQL с именем "nextcloud":
mysql -u root -p -e "create database nextcloud";

Открыть браузер, зайти на веб-интерфейс (здесь: 192.168.1.7), задать логин и пароль админа, путь к папке с данными пользователей (здесь: /var/nextcloud-data) и имя БД (здесь: nextcloud). Либо настроить из командной строки:

FIXME — уточнить, можно ли тут обойтись без паролей

sudo -u www-data php /var/www/html/occ maintenance:install --database "mysql" --data-dir "/var/nextcloud-data" --database-name "nextcloud" --database-user "root" --database-pass "password" --admin-user "admin" --admin-pass "password"

Настройка

# Убрать закрывающую строку из конфига и заменить строку overwrite.cli.url на нужную.
# В sed экранирование апострофа безумное - '"'"'
sed -i '
/);/d
/overwrite.cli.url/c '"'"'overwrite.cli.url'"'"' => '"'"'https://192.168.1.7'"'"',' /var/www/html/config/config.php
 
# Настроить конфиг - "pretty URLs", кэширование, часовой пояс для логов и их ротацию (100 МБ)
echo "'htaccess.RewriteBase' => '/',
'memcache.local' => 'OCMemcacheAPCu',
'memcache.locking' => 'OCMemcacheRedis',
 'redis' => array(
      'host' => 'localhost',
      'port' => 6379,
       ),
'logtimezone' => 'Europe/Moscow',
'log_rotate_size' => 104857600,
);" >> /var/www/html/config/config.php
 
# Настроить максимальный размер файла на закачку в PHP и лимит памяти
# Проверить версию PHP и путь к используемым php.ini (php --ini), например, он может быть
# /etc/php/7.3/fpm/php.ini. Есть ещё
# /etc/php/7.3/cli/php.ini.
sed -i '
/upload_max_filesize =/c upload_max_filesize = 4G
/post_max_size =/c post_max_size = 4G
/memory_limit =/c memory_limit = 512M' /etc/php/7.3/apache2/php.ini
 
# Настроить параметры opcache
sed -i '
/opcache.enable=/c opcache.enable=1
/opcache.enable_cli=/c opcache.enable_cli=1
/opcache.memory_consumption=/c opcache.memory_consumption=128
/opcache.interned_strings_buffer=/c opcache.interned_strings_buffer=8
/opcache.max_accelerated_files=/c opcache.max_accelerated_files=10000
/opcache.revalidate_freq=/c opcache.revalidate_freq=1
/opcache.save_comments=/c opcache.save_comments=1' /etc/php/7.3/apache2/php.ini

Список часовых поясов для PHP

SSL, mod_env и mod_rewrite для pretty URLs

a2enmod ssl headers env rewrite && a2ensite default-ssl

Включить Strict transport security, Referrer Policy и Forward secrecy:

echo "<IfModule mod_headers.c>
 Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
 Header always set Referrer-Policy "no-referrer-when-downgrade"
</IfModule>
 
# Set Forward Secrecy
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder on
SSLCipherSuite HIGH:!aNULL:!MD5:!3DES
" >> /etc/apache2/sites-available/default-ssl.conf

Перенаправить HTTP на HTTPS

nano /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
ServerName www.yourdomain.com
Redirect / https://www.yourdomain.com/
</VirtualHost>
systemctl restart apache2

Настроить Pretty URLs

nano /etc/apache2/apache2.conf
 
# В разделе <Directory /var/www> изменить параметр AllowOverride None на AllowOverride All
# Выйти из редактора.
 
# Обновить файл .htaccess:
sudo -u www-data php /var/www/html/occ maintenance:update:htaccess
 
# Перезапустить Apache:
systemctl restart apache2

Переключить фоновые задачи на выполнение кроном

Выключить ненужные ссылки

config/config.php:

# Выключить ссылку на сброс пароля
'lost_password_link' => 'disabled',
# Remove link “Get your own free account”
'simpleSignUpLink.shown' => false,

Настроить аутентификацию через LDAP

Для работы этого типа аутентификации необходимо установить компонент php-ldap, если он не был установлен ранее:

apt-get install php-ldap -y

Далее настройка производится в веб-интерфейсе админа.

Онлайн-офис

# Collabora (довольно тормозной вариант)
sudo -u www-data php /var/www/html/occ app:install richdocumentscode richdocuments
 
# OnlyOffice (ограничение в 20 соединений в бесплатной версии)
sudo -u www-data php /var/www/html/occ app:install documentserver_community onlyoffice

Для OnlyOffice, добавить в /var/www/html/config/config.php:

  'onlyoffice' =>
  array (
    'verify_peer_off' => true,
  ),
  'allow_local_remote_servers' => true,

OnlyOffice — работа через прокси: https://helpcenter.onlyoffice.com/ru/installation/docs-community-proxy.aspx

«Неизвестная ошибка» при открытии документа — нужно в конфиге Nextcloud

'overwriteprotocol' => 'https', (add)
'overwrite.cli.url' => 'https' (change)

https://github.com/nextcloud/docker/issues/975

Внешние хранилища

S3

Способ доступа — Access key

Bucket — каталог в облаке, например, Media

Hostname — s3.cloud.mts.ru

Port — 443

Region — пусто

✔ Enable SSL

✔ Enable path style

SMB (CIFS)

Host — [IP address]

Share — Files (имя общего ресурса)

Remote subfolder — Отдел продажГруппа впариванияОбмен

Domain — example.com

Обновление

# Автоматически:
sudo -u www-data php /var/www/html/updater/updater.phar
 
# Вручную:
# Скачать последний релиз
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
# Распаковать скачанный архив в папку установки
tar xjf latest.tar.bz2 --strip=1 -C /var/www/html
# Дать права владельца веб-серверу:
chown -R www-data:www-data /var/www/html
# Включить режим обслуживания
sudo -u www-data php /var/www/html/occ maintenance:mode --on
# Запустить процесс обновления
sudo -u www-data php /var/www/html/occ upgrade
# Выключить режим обслуживания
sudo -u www-data php /var/www/html/occ maintenance:mode --off

https://docs.nextcloud.com/server/latest/admin_manual/maintenance/update.html

Экспресс-обновление со сменой шлюза

ip route change default via 192.168.1.254 dev eth0
apt update && apt upgrade -y && apt autoremove -y
sudo -u www-data php /var/www/html/updater/updater.phar --no-interaction
ip route change default via 192.168.1.1 dev eth0

Обновление на след. мажорный релиз

# Нужно переключиться на бета-канал обновлений, обновляться, а затем переключиться обратно.
sudo -u www-data php /var/www/html/cloud/occ config:system:set updater.release.channel --value=beta
sudo -u www-data php /var/www/html/cloud/updater/updater.phar --no-interaction
sudo -u www-data php /var/www/html/cloud/occ config:system:set updater.release.channel --value=stable

В Докере

docker exec nc-php sudo -u www-data php /var/www/html/cloud/occ config:system:set updater.release.channel --value=beta
docker exec nc-php sudo -u www-data php /var/www/html/cloud/updater/updater.phar --no-interaction
docker exec nc-php sudo -u www-data php /var/www/html/cloud/occ config:system:set updater.release.channel --value=stable

Обновление всех приложений

sudo -u www-data php /var/www/html/cloud/occ app:update --all
# docker
docker exec -uwww-data nc-php php /var/www/html/cloud/occ app:update --all

Настройка кэширования через сервер Redis

Как-то раз произошла ситуация — невозможно было стереть файл с сервера или обновить его, файл был заблокирован:

file is locked

Error transferring bva.dyndns.info/cloud/remote.php/dav/files/user/123.txt — server replied: Locked («123.txt» is locked)

В соответствующем howto советуют обнулить таблицу блокировок в базе mysql, а чтобы ситуация не повторялась, рекомендуют поставить кэширующий сервис Redis. Так как у меня уже был APCu, было решено поставить Redis для блокировок, а APCu оставить для локального кэша.

В Ubuntu это ставится просто, а в Armbian в репозитории отсутствуют соответствующие пакеты, так что пришлось их собирать из исходников.

Установить Redis

Информация устарела, в репозиториях для процессоров ARM появились собранные пакеты.

Теперь достаточно выполнить команду

apt-get install redis-server php-redis

Сборка из исходников

Настройка Nextcloud и разблокировка файлов

Конфиг Nextcloud в части кэширования нужно привести к следующему виду:

'memcache.local' => 'OCMemcacheAPCu',
'memcache.locking' => 'OCMemcacheRedis',
 'redis' => array(
      'host' => 'localhost',
      'port' => 6379,
       ),
# Перевести Nextcloud в режим обслуживания:
sudo -u www-data php /var/www/html/occ maintenance:mode --on
# Зайти в базу "cloud" и очистить блокировки:
mysql -u root -p cloud
DELETE FROM oc_file_locks WHERE 1;
quit
# Вывести Nextcloud из режима обслуживания:
sudo -u www-data php /var/www/html/occ maintenance:mode --off
# Перезапустить Apache:
systemctl restart apache2

Дополнительные материалы

Сертификаты

#Сделать папочку для сертификатов
mkdir /etc/ssl/certs/nextcloud
# самоподписанный сертификат на 10 лет без запроса пароля
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/certs/nextcloud/nextcloud.key -out /etc/ssl/certs/nextcloud/nextcloud.crt
nano /etc/apache2/sites-available/default-ssl.conf
SSLCertificateKeyFile /etc/ssl/certs/nextcloud/nextcloud.key
SSLCertificateFile /etc/ssl/certs/nextcloud/nextcloud.crt
#SSLCACertificateFile /etc/ssl/certs/nextcloud/nextcloud-int.crt

FIXME

sed -i '
/SSLCertificateKeyFile/c SSLCertificateKeyFile /etc/ssl/certs/nextcloud/nextcloud.key
/SSLCertificateFile/c SSLCertificateFile /etc/ssl/certs/nextcloud/nextcloud.crt' /etc/apache2/sites-available/default-ssl.conf

Импорт контактов из файла vcf

Проблема: выгруженный файл vcf с мобильника на Android 4.4 не загружается в приложение «Контакты» в Nextcloud.

Решение:

  1. Открыть файл в программе tcode (в Windows), чтобы строки с кодировкой Quoted Printable перекодировались в нормальный русский текст. Это можно сделать и из командной строки:

    tcode input.vcf /auto output.vcf
  2. Убрать из всего файла строки ;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE

  3. Строки VERSION:2.1 заменить на VERSION:3.0

  4. Сохранить файл в кодировке UTF-8.

Ссылка на выгруженные контакты мобильным приложением

https://path-to-nextcloud-site.com/apps/files/?dir=/.Contacts-Backup

Полезные плагины

Плагин для Outlook

Автоудаление файлов

Снежок

Полезные команды

Включить превью офисных форматов:

nano /var/www/html/config/config.php
'preview_libreoffice_path' => '/usr/bin/libreoffice',

Удалить пользователя username вместе с его каталогом:

u=username
sudo -u www-data php /var/www/html/occ user:delete $u && rm -rf /var/nextcloud-data/$u

Почистить корзину у всех пользователей

sudo -u www-data php /var/www/html/cloud/occ trashbin:cleanup --all-users

Решение проблем

Failed to connect to www.nextcloud.com

В логах куча сообщений:

GuzzleHttpExceptionConnectException: cURL error 7: Failed to connect to www.nextcloud.com port 80: Connection timed out

Сайт nexcloud.com реально бывает недоступен. Workaround — отключить проверку на наличие интернета:

echo "'has_internet_connection' => false," >> /var/www/html/config/config.php

Или не обращать внимания.

Some files have not passed the integrity check

После обновления — ошибка подписи файлов:

Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the documentation. (List of invalid files… / Rescan…)

Помимо выполнения рекомендаций, убедиться, что core/signature.json актуальный.

Поломались «красивые» ссылки (без index.php)

Specified key was too long; max key length is 767 bytes

При обновлении Nexcloud ошибка:

DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin ENGINE = InnoDB ROW_FORMAT = compressed’: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

Решение:

mysql -u root -p cloud
 
MariaDB [cloud]> set global innodb_large_prefix=on;
MariaDB [cloud]> set global innodb_file_format=Barracuda;
quit
 
sudo -u www-data php /var/www/html/occ maintenance:repair
sudo -u www-data php /var/www/html/occ upgrade

The database is missing some indexes

Проверка в админке пишет: The database is missing some indexes

Решение:

sudo -u www-data php /var/www/html/occ db:add-missing-indices
# В докере:
docker exec -u www-data nc php occ db:add-missing-indices

Обновление прошло неуспешно, PHP грузит систему на 100%, сайт в неотключаемом maintenance mode

Отключить регулярную задачу в crontab.

# Проверить, включен ли apc cli:
php -i | grep apc.enable
  apc.enable_cli => Off => Off
  apc.enabled => On => On
# Если нет, то включить
echo "apc.enable_cli=1" >> /etc/php/7.4/cli/php.ini
# Перейти в каталог NC (обязательно!) и запустить апгрейд заново
cd /var/www/html/cloud
sudo -u www-data php occ upgrade

Включить регулярную задачу в crontab.

https://help.nextcloud.com/t/nextcloud-21-update-needed/108714/25

«Module php-imagick in this instance has no SVG support. For better compatibility it is recommended to install it

Your installation has no default phone region set

sudo -u www-data php /var/www/html/occ config:system:set default_phone_region --value="RU"
# Докер
docker exec -u www-data nc php occ config:system:set default_phone_region --value="RU"

Last background job execution ran 15 hours ago. Something seems wrong

Запустить принудительно

sudo -u www-data php -f /var/www/html/cloud/cron.php

PHP Fatal error: Out of memory (allocated 3533701120) (tried to allocate 36864 bytes) in /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

Warning: The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the documentation.

docker exec -uwww-data nc-php php /var/www/html/cloud/occ config:system:set forwarded_for_headers 0 --value="X-Forwarded-For"
# docker exec -uwww-data nc-php php /var/www/html/cloud/occ config:system:set forwarded_for_headers 1 --value="HTTP_X_FORWARDED_FOR"
docker exec -uwww-data nc-php php /var/www/html/cloud/occ config:system:set trusted_proxies 0 --value=reverse-proxy
# docker exec -uwww-data nc-php php /var/www/html/cloud/occ config:system:set trusted_proxies 1 --value="172.16.0.0/12"

https://github.com/nextcloud/docker/issues/800

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/reverse_proxy_configuration.html

Docker — exec: «php»: executable file not found in $PATH

После обновления контейнера PHP с версии 7.4 на 8.0 при попытке выполнить команду php occ внутри контейнера выдаётся ошибка:

OCI runtime exec failed: exec failed: unable to start container process: exec: «php»: executable file not found in $PATH: unknown

Проблема в том, что в дистрибутиве Alpine автоматически не создаётся символическая ссылка php8 → php, т. к. для php8 не готовы все пакеты. Решение: добавить в Dockerfile

ln -sf /usr/bin/php8 /usr/bin/php # -f - перезаписывать, если она уже есть (после предыдущего создания)

The __Host prefix mitigates cookie injection

Клиент виснет после начала синхронизации

Ситуация — виснет клиент практически сразу после запуска, нагружает процессор, настройки открыть невозможно, в логах ничего внятного, переустановка на разные версии, удаление служебных файлов в каталоге синхронизации ничего не даёт.

Решение:

# убить процесс
Get-Process nextcloud |kill
# запустить синхронизацию с помощью nextcloudcmd
"$env:programfilesNextcloudnextcloudcmd.exe" --silent `
"$env:userprofileNextcloud" https://bva.dyndns.info/cloud

Затем запустить клиента, зайти в Настройки → Сеть и убрать ограничения на скорость загрузки/передачи.

https://docs.nextcloud.com/desktop/latest/advancedusage.html#nextcloud-command-line-client

Ссылки

Nextcloud community

Loading

Print Friendly, PDF & Email

Задача:

Исправить ошибку nextcloud при открытии видео или аудио файлов в браузере

—————————————————————

Пробуем открыть файл и сразу смотрим, что записалось в логах: “Настройки > Журналирование”

По дате и времени находим, какая запись в логах соответствует попытке открыть файл.

[index] Error: OCPFilesNotPermittedException: Could not create folder at <<closure>>

 0. /usr/local/www/nextcloud/lib/private/Files/AppData/AppData.php line 158
    OCFilesNodeFolder->newFolder("920872")
 1. /usr/local/www/nextcloud/lib/private/Preview/Generator.php line 433
    OCFilesAppDataAppData->newFolder("920872")
 2. /usr/local/www/nextcloud/lib/private/Preview/Generator.php line 119
    OCPreviewGenerator->getPreviewFolder(OCFilesNodeFile {})
 3. /usr/local/www/nextcloud/lib/private/PreviewManager.php line 185
    OCPreviewGenerator->getPreview(OCFilesNodeFile {}, 1920, 1080, false, "fill", "image/jpeg")
 4. /usr/local/www/nextcloud/core/Controller/PreviewController.php line 172
    OCPreviewManager->getPreview(OCFilesNodeFile {}, 1920, 1080, false, "fill")
 5. /usr/local/www/nextcloud/core/Controller/PreviewController.php line 144
    OCCoreControllerPreviewController->fetchPreview(OCFilesNodeFile {}, 1920, 1080, true, true, "fill")
 6. /usr/local/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php line 170
    OCCoreControllerPreviewController->getPreviewByFileId(920872, 1920, 1080, true, true, "fill")
 7. /usr/local/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php line 99
    OCAppFrameworkHttpDispatcher->executeController(OCCoreControllerPreviewController {}, "getPreviewByFileId")
 8. /usr/local/www/nextcloud/lib/private/AppFramework/App.php line 125
    OCAppFrameworkHttpDispatcher->dispatch(OCCoreControllerPreviewController {}, "getPreviewByFileId")
 9. /usr/local/www/nextcloud/lib/private/AppFramework/Routing/RouteActionHandler.php line 47
    OCAppFrameworkApp::main("OC\Core\Controller\PreviewController", "getPreviewByFileId", OCAppFramework ... {}, {_route: "core.P ... "})
10. <<closure>>
    OCAppFrameworkRoutingRouteActionHandler->__invoke({_route: "core.P ... "})
11. /usr/local/www/nextcloud/lib/private/Route/Router.php line 299
    call_user_func(OCAppFramework ... {}, {_route: "core.P ... "})
12. /usr/local/www/nextcloud/lib/base.php line 1008
    OCRouteRouter->match("/core/preview")
13. /usr/local/www/nextcloud/index.php line 38
    OC::handleRequest()

GET /core/preview?fileId=920872&x=1920&y=1080&a=true
from 192.168.17.231 by admin at 2020-05-23T11:57:51+00:00

Из логов видно, что ошибка прав доступа. Nextcloud не может создать папку.

OCPFilesNotPermittedException: Could not create folder

Авторизуемся в консоли сервера и проверяем какой веб сервер у нас используется

сurl --insecure --silent --show-error --connect-timeout 1 -I http://localhost | grep Server

Или можно узнать более короткой командой

root@cloud:/ # curl -I http://localhost
HTTP/1.1 404 Not Found
Server: nginx/1.16.1
Date: Sat, 23 May 2020 11:24:15 GMT
Content-Type: text/html
Content-Length: 153
Connection: keep-alive

root@cloud:/ #

Теперь необходимо узнать пользователя от кого работает nginx

root@cloud:/ # ps aux | grep nginx
root    781   0.0  0.1   32268    9500  -  Is   28Apr20      0:00.31 nginx: master process /usr/local/sbin/nginx
www    4314   0.0  0.1   29476   11756  -  S     8May20     18:37.97 nginx: worker process (nginx)
root   8480   0.0  0.0   11260    2716  0  S+   13:33        0:00.00 grep nginx
root@cloud:/ #

в какой группе состоит пользователь www

root@cloud:/ # groups www
www
root@cloud:/ # 

После того как мы получили нужную информацию, переходим в веб-директорию nextcloud

root@cloud:/ # cd /usr/local/www/
root@cloud:/usr/local/www #

назвачаем необходимые права на файлы и директории

chown -R www:www nextcloud
find nextcloud/ -type d -exec chmod 750 {} ;
find nextcloud/ -type f -exec chmod 640 {} ;

может быть, что файлы пользователей лежат в другой директории. Проверяем

root@cloud:/usr/local/www # cat nextcloud/config/config.php | grep datadir
  'datadirectory' => '/mnt/da1p1/data',
root@cloud:/usr/local/www #

назначаем нужные права на папку

root@cloud:/ # cd /mnt/da1p1
root@cloud:/mnt/da1p1 # chown -R www:www data
root@cloud:/mnt/da1p1 # find data/ -type d -exec chmod 750 {} ;
root@cloud:/mnt/da1p1 # find data/ -type f -exec chmod 640 {} ;

Пробуем генерировать файлы предварительного просмотра самостоятельно

root@cloud:/usr/local/www/nextcloud # sudo -u www php occ preview:pre-generate
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
2020-06-03T22:17:59+00:00
2020-06-03T22:17:59+00:00 In Folder.php line 164:
2020-06-03T22:17:59+00:00
2020-06-03T22:17:59+00:00   Could not create folder
2020-06-03T22:17:59+00:00
2020-06-03T22:17:59+00:00
2020-06-03T22:17:59+00:00 preview:pre-generate
2020-06-03T22:17:59+00:00
root@cloud:/usr/local/www/nextcloud #sudo -u www php occ preview:pre-generate -vvvv
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
2020-06-03T22:37:43+00:00 Generating previews for /virzai/files/Автозагрузка/WhatsApp Images/IMG-20200506-WA0019.jpg
2020-06-03T22:37:43+00:00
2020-06-03T22:37:43+00:00 In Folder.php line 164:
2020-06-03T22:37:43+00:00
2020-06-03T22:37:43+00:00   [OCPFilesNotPermittedException]
2020-06-03T22:37:43+00:00   Could not create folder
2020-06-03T22:37:43+00:00
2020-06-03T22:37:43+00:00
2020-06-03T22:37:43+00:00 Exception trace:
2020-06-03T22:37:43+00:00   at /usr/local/www/nextcloud/lib/private/Files/Node/Folder.php:164
2020-06-03T22:37:43+00:00  OCFilesNodeFolder->newFolder() at /usr/local/www/nextcloud/lib/private/Files/AppData/AppData.php:158
2020-06-03T22:37:43+00:00  OCFilesAppDataAppData->newFolder() at /usr/local/www/nextcloud/lib/private/Preview/Generator.php:433
2020-06-03T22:37:43+00:00  OCPreviewGenerator->getPreviewFolder() at /usr/local/www/nextcloud/lib/private/Preview/Generator.php:119
2020-06-03T22:37:43+00:00  OCPreviewGenerator->getPreview() at /usr/local/www/nextcloud/lib/private/PreviewManager.php:185
2020-06-03T22:37:43+00:00  OCPreviewManager->getPreview() at /usr/local/www/nextcloud/apps/previewgenerator/lib/Command/PreGenerate.php:205
2020-06-03T22:37:43+00:00  OCAPreviewGeneratorCommandPreGenerate->processFile() at /usr/local/www/nextcloud/apps/previewgenerator/lib/Command/PreGenerate.php:193
2020-06-03T22:37:43+00:00  OCAPreviewGeneratorCommandPreGenerate->processRow() at /usr/local/www/nextcloud/apps/previewgenerator/lib/Command/PreGenerate.php:164
2020-06-03T22:37:43+00:00  OCAPreviewGeneratorCommandPreGenerate->startProcessing() at /usr/local/www/nextcloud/apps/previewgenerator/lib/Command/PreGenerate.php:132
2020-06-03T22:37:43+00:00  OCAPreviewGeneratorCommandPreGenerate->execute() at /usr/local/www/nextcloud/3rdparty/symfony/console/Command/Command.php:255
2020-06-03T22:37:43+00:00  SymfonyComponentConsoleCommandCommand->run() at /usr/local/www/nextcloud/3rdparty/symfony/console/Application.php:915
2020-06-03T22:37:43+00:00  SymfonyComponentConsoleApplication->doRunCommand() at /usr/local/www/nextcloud/3rdparty/symfony/console/Application.php:272
2020-06-03T22:37:43+00:00  SymfonyComponentConsoleApplication->doRun() at /usr/local/www/nextcloud/3rdparty/symfony/console/Application.php:148
2020-06-03T22:37:43+00:00  SymfonyComponentConsoleApplication->run() at /usr/local/www/nextcloud/lib/private/Console/Application.php:214
2020-06-03T22:37:43+00:00  OCConsoleApplication->run() at /usr/local/www/nextcloud/console.php:99
2020-06-03T22:37:43+00:00  require_once() at /usr/local/www/nextcloud/occ:11
2020-06-03T22:37:43+00:00
2020-06-03T22:37:43+00:00 preview:pre-generate
2020-06-03T22:37:43+00:00
root@cloud:/usr/local/www/nextcloud #

Удаляем папку data/appdata_*

rm -r /mnt/da1p1/data/appdata_*

Пробуем пересканировать файлы приложений

root@cloud:/usr/local/www/nextcloud # sudo -u www php occ files:scan-app-data
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php

Scanning AppData for files
Path not found: /appdata_ocf5begso4j5

+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 0       | 0     | 00:00:00     |
+---------+-------+--------------+

Запускаем режим восстановления и ещё раз сканирование файлов приложений

root@cloud:/usr/local/www/nextcloud # sudo -u www php occ maintenance:repair
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
 - Repair MySQL collation
     - All tables already have the correct collation -> nothing to do
 - Repair mime types
 - Clean tags and favorites
     - 0 tags of deleted users have been removed.
     - 0 tags for delete files have been removed.
     - 0 tag entries for deleted tags have been removed.
     - 0 tags with no entries have been removed.
 - Repair invalid shares
 - Move .step file of updater to backup location
 - Fix potential broken mount points
     - No mounts updated
 - Add log rotate job
 - Clear frontend caches
     - Image cache cleared
     - SCSS cache cleared
     - JS cache cleared
 - Clear every generated avatar on major updates
 - Add preview background cleanup job
 - Queue a one-time job to cleanup old backups of the updater
 - Cleanup invalid photocache files for carddav
 - Add background job to cleanup login flow v2 tokens
 - Remove potentially over exposing share links
     - No need to remove link shares.
 - Clear access cache of projects
 - Switches from deprecated "production" to "stable" update channel
 - Sets the enterprise logo
     - Repair step already executed
 - Reset generated avatar flag
 - Update name of the stored view
 - Fix component of birthday calendars
     - 4 birthday calendars updated.
 - Regenerating birthday calendars to use new icons and fix old birthday events without year
     - Repair step already executed
 - Fix broken values of calendar objects
    0 [>---------------------------]
 - Registering building of calendar search index as background job
     - Repair step already executed
 - Registering background jobs to update cache for webcal calendars
     - Added 0 background jobs to update webcal calendars
 - Registering building of calendar reminder index as background job
     - Repair step already executed
 - Clean up orphan event and contact data
     - 0 events without a calendar have been cleaned up
     - 0 properties without an events have been cleaned up
     - 0 changes without a calendar have been cleaned up
     - 0 cached events without a calendar subscription have been cleaned up
     - 0 changes without a calendar subscription have been cleaned up
     - 0 contacts without an addressbook have been cleaned up
     - 0 properties without a contact have been cleaned up
     - 0 changes without an addressbook have been cleaned up
 - Remove activity entries of private events
     - Removed 0 activity entries
 - Delete orphaned ACL rules
 - Copy default images to the app data directory
     - Icon %s copied successfully
     - Icon %s copied successfully
     - Icon %s copied successfully
 - Fix the share type of guest shares when migrating from ownCloud
 - Copy the share password into the dedicated column
 - Set existing shares as accepted
 - Purify and migrate collected mail addresses
    0 [>---------------------------]
 - Insert sync background job for all accounts
 1/1 [============================] 100%
 - Make Mail itinerary extractor executable
 - Migrate Mail provisioning config from config.php to the database
     - No old config found
 - Create or update provisioned Mail accounts
     - No Mail provisioning config set
 - Remove any playlist files mistakenly added to music_tracks table
 - Combine multi-disk albums and store disk numbers per track
 - Set creation date for playlists without one
 - Migrate binary status into separate boolean fields
 - Update OAuth token expiration times
 - Repair Passwords Database Objects
     - Checking 0 tag revisions
    0 [>---------------------------]
     - Fixed 0 tag revisions
     - Checking 2 folder revisions
 2/2 [============================] 100%
     - Fixed 0 folder revisions
     - Checking 38 password revisions
 38/38 [============================] 100%
     - Fixed 0 password revisions
     - Checking 0 tag models
    0 [>---------------------------]
     - Fixed 0 tag models
     - Checking 1 folder models
 1/1 [============================] 100%
     - Fixed 0 folder models
     - Checking 21 password models
 21/21 [============================] 100%
     - Fixed 0 password models
     - Checking 0 password tag relations
    0 [>---------------------------]
     - Fixed 0 password tag relations
 - Create help command
 - Invalidate access cache for projects conversation provider
     - Invalidation not required
 - Add background job to check for backup codes
 - Populating added database structures for workflows
root@cloud:/usr/local/www/nextcloud # sudo -u www php occ files:scan-app-data
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php

Scanning AppData for files

+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 6       | 3     | 00:00:00     |
+---------+-------+--------------+

Запускаем создание изображений

root@cloud:/usr/local/www/nextcloud # sudo -u www php occ preview:pre-generate -vvvv
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
2020-06-03T22:48:37+00:00 Generating previews for /virzai/files/Автозагрузка/WhatsApp Images/IMG-20200427-WA0003.jpg
2020-06-03T22:48:39+00:00 Generating previews for /virzai/files/Автозагрузка/WhatsApp Images/IMG-20200503-WA0008.jpg
2020-06-03T22:48:40+00:00 Generating previews for /virzai/files/Автозагрузка/WhatsApp Images/IMG-20200427-WA0020.jpg
2020-06-03T22:48:43+00:00 Generating previews for /virzai/files/Автозагрузка/WhatsApp Images/IMG-20200414-WA0041.jpg

После этого всё работало!

Другие статьи

Содержание

  1. Устранение проблем с облачным хранилищем NextCloud
  2. Ошибка «File is locked»
  3. Ошибка «Файл был удален с сервера» («File was deleted from server»)
  4. Ошибка «Precondition failed (An If-Match header was specified and the resource did not exist)»
  5. Читайте другие интересные статьи
  6. NextCloud не работает через клиента
  7. Установка Nextcloud
  8. Инструкция по установке Nextcloud на Centos 7, Ubuntu 18.04 server, +apache, mariadb, fail2ban, postfix, ssl let’s encrypt, регистрация домена, Яндекс коннект, NGINX
  9. Ошибки после обновления Nextcloud.
  10. Ошибки после обновления. Centos 7
  11. Ошибки после обновления Nextcloud. Ubuntu 19.04 server Nginx

Устранение проблем с облачным хранилищем NextCloud

При работе в Nextcloud возникают ошибки.
Для их устранения необходимо перевести облачное хранилище в режим обслуживания. Сделаем это с помощью утилиты occ находящаяся в корне web-проекта.

Переводим в режим обслуживания выполнив команду:

Для отключения режима обслуживания выполним команду:

В режиме обслуживания на Desktop-клиентах будет запрошен пароль пользователя.

Ошибка «File is locked»

Ошибка при использовании серверов с медленной дисковой подсистемой.
Для исправления потребует перевести хранилища в режим обслуживания и выполненить SQL-запрос по очистке таблицы блокировок.

Ошибка «Файл был удален с сервера» («File was deleted from server»)

Это довольно распространенная не блокирующая ошибка и синхронизация будет продолжаться, но в логах клиента будут присутствовать соответствующие ошибки.

Для устранения этой ошибки необходимо воспользоваться встроенной функцией сканирования файлового хранилища. Эта функция может быть запущена для всех пользователей:

Это доволно длительная операция и зависящая от того сколько пользователей и файлов и для устранения проблем у одного пользователя можно указать вместо параметра его имя или идентификатор из Active Directory:

Если вам известно расположение сбойного файла, то можно указать какой каталог требуется пересканировать:

Когда штатные средства не помогают, придется удалить записи о файлах напрямую из базы данных, подключаемся базе данных mysql и выполняем запрос файлового идентификатора искомого файла.

Где, ‘%data/4.%’ — это запрос части имени файла вызывающего ошибку.

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

> delete from oc_filecache where fileid=589434;

589434 — соответственно идентификатор сбойного файла.

Ошибка возникает на стороне клиента и оптимальным решением является переместить файл на временное хранение в другой каталог и после окончания синхронизации переместить файл обратно.

Читайте другие интересные статьи

Понравилась статья, расскажи о ней друзьям, нажми кнопку!

Источник

NextCloud не работает через клиента

Подскажите, установил nextcloud на отдельной ВМ в гипервизоре proxmox. Настроил nginx на проксирование в эту ВМ. Через браузер все прекрасно работает по доменному имени захожу, пытаюсь подключить через клиент и там возникает проблема. Приложение пытается залогиться после ввода имени сервера по локальному адресу. Как исправить, чтоб клиент долбился по доменному адресу,а не пытался авторизоваться по ip локальному?

Возможно стоит вправить на клиенте /etc/hosts и /var/www/nextcloud/config/config.php

Попробуй убрать из trusted_domains локальный адрес.

Приложение пытается залогиться после ввода имени сервера по локальному адресу. Как исправить, чтоб клиент долбился по доменному адресу,а не пытался авторизоваться по ip локальному?

Указать в настройках приложения доменное имя.

если убрать, то ругается на «Доступ через недоверенный домен»

Ну, так добавить в доверенные адреса домен или его ip.

Я сам домен не добавлял, иди нет его у меня, а с «внешним» ip все работало отлично.

если оставить один домен, то ругается на «Доступ через недоверенный домен». Если к домену еще добавить локальный адрес, то работает только веб морда. Через клиента он пытается авторизоваться через локальный адрес, который естественно извне не доступен. Вопрос в том как сделать авторизацию через клиента по домену?

Источник

Установка Nextcloud

Инструкция по установке Nextcloud на Centos 7, Ubuntu 18.04 server, +apache, mariadb, fail2ban, postfix, ssl let’s encrypt, регистрация домена, Яндекс коннект, NGINX

Ошибки после обновления Nextcloud.

Ошибки после обновления. Centos 7


Исправим последнюю ошибку:
Заголовок HTTP «Referrer-Policy» не содержит значения «no-referrer», «no-referrer-when-downgrade», «strict-origin» или «strict-origin-when-cross-origin», что может привести к утечке информации об адресе источника перехода по ссылке

В 15 NC Значение «no-referrer» уже указано в .htaccess
Закомментируем строку:

]$ sudo nano /etc/httpd/sites-available/nextcloud.conf
#Header always set Referrer-Policy no-referrer

Header always set Strict-Transport-Security «max-age=31536000; includeSubDomains; preload»
#Header always set Referrer-Policy no-referrer
Header set Feature-Policy «geolocation ‘none’; midi ‘none’; microphone ‘none’; camera ‘none’; magnetometer ‘none’; gyroscope ‘none’; sp$

Some columns in the database are missing a conversion to big int. Due to the fact that changing column types on big tables could take some time they were not changed automatically. By running ‘occ db:convert-filecache-bigint’ those pending changes could be applied manually. This operation needs to be made while the instance is offline. For further details read the documentation page about this.
• filecache.mtime
• filecache.storage_mtime

или бывает так же:

Некоторые индексы базы данных не были преобразованы в тип big int. Так как преобразование таких индексов может занять продолжительное время, оно должно быть запущенно вручную. Чтобы выполнить преобразование, необходимо включить режим обслуживания и запустить в терминале команду «occ db:convert-filecache-bigint».

  • mounts.storage_id
  • mounts.root_id
  • mounts.mount_id

Переведем NC в режим обслуживания:

]$ cd /var/www/html/nextcloud/
[user@server nextcloud]$

[user@server nextcloud]$ sudo -u apache php occ maintenance:mode —on
[sudo] пароль для user:
The current PHP memory limit is below the recommended value of 512MB.
Maintenance mode enabled
[user@server nextcloud]$
[user@server nextcloud]$ sudo -u apache php occ db:convert-filecache-bigint
The current PHP memory limit is below the recommended value of 512MB.
Nextcloud is in maintenance mode — no apps have been loaded

Following columns will be updated:

This can take up to hours, depending on the number of files in your instance!
Continue with the conversion (y/n)? [n] Y

Выключаем режим обслуживания:

]$ cd /var/www/html/nextcloud/
[user@server nextcloud]$ sudo -u apache php occ db:add-missing-indices
The current PHP memory limit is below the recommended value of 512MB.
Check indices of the share table.
Adding additional owner index to the share table, this can take some time.
Share table updated successfully.
Adding additional initiator index to the share table, this can take some time.
Share table updated successfully.
[user@server nextcloud]$
[user@server nextcloud]$ sudo systemctl restart httpd
[user@server nextcloud]$

Проверяем сообщение о количестве памяти «The current PHP memory limit is below the recommended value of 512MB.»

+
Предупреждения о текущей конфигурации:
В базе данных отсутствуют некоторые необязательные столбцы. Из-за того, что добавление столбцов в больших таблицах может занять некоторое время, они не добавляются автоматически, если они могут быть необязательными. Запустив «occ db:add-missing-columns», эти недостающие столбцы можно добавить вручную, пока экземпляр продолжает работать. После добавления столбцов некоторые функции могут улучшить отзывчивость или удобство использования.
Отсутствует необязательный столбец «reference_id» в таблице «oc_comments».

]$ sudo -u apache php /var/www/html/nextcloud/occ db:add-missing-columns
Check columns of the comments table.
Adding additional reference_id column to the comments table, this can take some time.
Comments table updated successfully.
[user@server

Ошибки после обновления Nextcloud. Ubuntu 19.04 server Nginx

  • The old server-side-encryption format is enabled. We recommend disabling this. For more details see the documentation.
  • Заголовок HTTP «X-Frame-Options» не настроен на значение «SAMEORIGIN». Это потенциальная проблема безопасности для устранения которой рекомендуется задать этот параметр.
  • Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в документации.
  • В базе данных отсутствуют некоторые индексы. Так как создание таких индексов может занять достаточно продолжительное время, оно должно быть запущено вручную. Для создания индексов необходимо запустить команду «occ db:add-missing-indices» во время работы сервера Nextcloud. При созданных индексах, как правило, запросы к базе данных выполняются значительно быстрее.
    • В таблице «oc_calendarobjects_props» отсутствует индекс «calendarobject_calid_index».
    • В таблице «oc_schedulingobjects» отсутствует индекс «schedulobj_principuri_index».
    • В таблице «oc_properties» отсутствует индекс «properties_path_index».
  • В базе данных отсутствуют некоторые необязательные столбцы. Из-за того, что добавление столбцов в больших таблицах может занять некоторое время, они не добавляются автоматически, если они могут быть необязательными. Запустив «occ db:add-missing-columns», эти недостающие столбцы можно добавить вручную, пока экземпляр продолжает работать. После добавления столбцов некоторые функции могут улучшить отзывчивость или удобство использования.
    • Отсутствует необязательный столбец «reference_id» в таблице «oc_comments».
  • В системе не установлены рекомендуемые модули PHP. Для улучшения производительности и совместимости рекомендуется установить эти модули.
  • bcmath
  • gmp
  • Некоторые индексы базы данных не были преобразованы в тип big int. Так как преобразование таких индексов может занять продолжительное время, оно должно быть запущенно вручную. Чтобы выполнить преобразование, необходимо включить режим обслуживания и запустить в терминале команду «occ db:convert-filecache-bigint». Дополнительные сведения приведены на соответствующей странице документации.
    • mounts.storage_id
    • mounts.root_id
    • mounts.mount_id

1. The old server-side-encryption format is enabled. We recommend disabling this. For more details see the documentation.
Если ранее включали шифрование, но затем отключили, вы все еще можете видеть это предупреждение, удалим или закомментируем строки в config/config.php:

# nano /var/www/html/nextcloud/config/config.php
***
// ‘encryption.legacy_format_support’ => true,
// ‘encryption.key_storage_migrated’ => false,
// ‘updater.secret’ => ‘12345678XXXXXXXXXXXXXXXXXXXXXX’,
);
root@test:

2. Заголовок HTTP «X-Frame-Options» не настроен на значение «SAMEORIGIN». Это потенциальная проблема безопасности для устранения которой рекомендуется задать этот параметр.
Необходимо добавить строку: add_header X-Frame-Options SAMEORIGIN; в конфигурацию виртуального хоста Nginx:

# nano /etc/nginx/sites-available/nextcloud.conf
***
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection «1; mode=block»;
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy no-referrer;
add_header X-Frame-Options SAMEORIGIN;
***
root@test:

3. Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в документации.

# nano /var/www/html/nextcloud/config/config.php
***
‘memcache.local’ => ‘OCMemcacheAPCu’,
***
);
root@test:

4. В базе данных отсутствуют некоторые индексы. Так как создание таких индексов может занять достаточно продолжительное время, оно должно быть запущено вручную. Для создания индексов необходимо запустить команду «occ db:add-missing-indices» во время работы сервера Nextcloud. При созданных индексах, как правило, запросы к базе данных выполняются значительно быстрее.

  • В таблице «oc_calendarobjects_props» отсутствует индекс «calendarobject_calid_index».
  • В таблице «oc_schedulingobjects» отсутствует индекс «schedulobj_principuri_index».
  • В таблице «oc_properties» отсутствует индекс «properties_path_index».

5. В базе данных отсутствуют некоторые необязательные столбцы. Из-за того, что добавление столбцов в больших таблицах может занять некоторое время, они не добавляются автоматически, если они могут быть необязательными. Запустив «occ db:add-missing-columns», эти недостающие столбцы можно добавить вручную, пока экземпляр продолжает работать. После добавления столбцов некоторые функции могут улучшить отзывчивость или удобство использования.

  • Отсутствует необязательный столбец «reference_id» в таблице «oc_comments».

6. В системе не установлены рекомендуемые модули PHP. Для улучшения производительности и совместимости рекомендуется установить эти модули.
bcmath
gmp

# apt install php-bcmath php-gmp -y

Фоновые задания Nextcloud 21-22 версии. Последнее задание было выполнено nn минут, часов или дней назад. Похоже, что-то не в порядке.
Вероятнее всего вы используете кэширование APCu, например в файле конфигурации /var/www/html/nextcloud/config/config.php:
‘memcache.local’ => ‘\OC\Memcache\APCu’,
Для centos7 (php7.4) потребуется отредактировать файл по пути «/etc/php.d/40-apcu.ini»
Находим строку «;apc.enable_cli=0», раскомментируем и изменим значение на 1:
apc.enable_cli=1

Через несколько минут проверьте результат:
«Фоновые задания. Последнее задание выполнено несколько секунд назад.»

Источник

Понравилась статья? Поделить с друзьями:
  • Произошла неизвестная ошибка lol
  • Произошла неизвестная ошибка already in match фасткап
  • Произошла неизвестная ошибка 9039 itunes
  • Произошла неизвестная ошибка 9006
  • Произошла неизвестная ошибка 9 403