Произошла неизвестная ошибка 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 community

Loading

При работе в 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

Ссылки

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

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

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("OCCoreControllerPreviewController", "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. Индексирование файлов
  3. Предупреждения о текущей конфигурации /.well-known/.
  4. Зависание входа в панель NextCloud
  5. Не настроена система кэширования.
  6. Модуль php-imagick не поддерживает SVG
  7. Не указан регион размещения этого сервера Nextcloud
  8. Предупреждение headers
  9. Заголовок HTTP «Strict-Transport-Security»
  10. PHP не настроен для системного окружения.
  11. Значение PHP ниже рекомендуемого значения .
  12. Не скачиваются файлы больше 1Гб
  13. Nextcloud won’t upload larger files #5438
  14. Comments
  15. Steps to reproduce
  16. Expected behaviour
  17. Actual behaviour
  18. Server configuration
  19. LDAP configuration (delete this part if not used)
  20. Client configuration
  21. Web server error log
  22. Nextcloud log (data/nextcloud.log)
  23. Browser log
  24. Почему скачивается, но не закачивается файл в nextcloud по WebDav?
  25. NextCloud – ошибка при загрузке изображения, видео файла
  26. Устраняем предупреждения в админ панели NextCloud
  27. Индексирование файлов
  28. Предупреждения о текущей конфигурации /.well-known/.
  29. Зависание входа в панель NextCloud
  30. Не настроена система кэширования.
  31. Модуль php-imagick не поддерживает SVG
  32. Не указан регион размещения этого сервера Nextcloud
  33. Предупреждение headers
  34. Заголовок HTTP «Strict-Transport-Security»
  35. PHP не настроен для системного окружения.
  36. Значение PHP ниже рекомендуемого значения .
  37. Не скачиваются файлы больше 1Гб

В предыдущей статье я писал как можно установить и настроить nextcloud на операционной системе Ubuntu Server 20.04 с web-сервером nginx+php-fpm и базой данных postgresql. Почитать можно тут.

После успешного запуска nextcloud в панели администратора Вы можете в пункте общие сведения, увидеть следующие предупреждения:

Индексирование файлов

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

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

И вводим данные строки:

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

После данной манипуляции ошибка должна исчезнуть.

Предупреждения о текущей конфигурации /.well-known/.

  • Веб-сервер не настроен должным образом для разрешения «/.well-known/webfinger».
  • Веб-сервер не настроен должным образом для разрешения «/.well-known/nodeinfo».
  • Веб-сервер не настроен должным образом для разрешения «/.well-known/caldav».
  • Веб-сервер не настроен должным образом для разрешения «/.well-known/carddav».

Чтобы исправить данные предупреждения в конфигурационный файл nginx вашего облака внесем следующую location:

Адрес https://mynextcloud.ru измените на свой.

Также внесём следующие строки в файл .htaccess

Зависание входа в панель NextCloud

Включил https на web сервере для nextclou и появился неприятный глюк: в google chrome, opera и яндекс браузере, а также в firefox, IE и edge при входе в аккаунт и выходе из него браузер «зависает» на странице входа, но при этом авторизуется. Если нажать F5, то окажемся в своем аккаунте.
Как же победить данную проблему?

Лечится добавлением в конфигурационный файл NexCloud:

Не настроена система кэширования.

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

Хочу использовать Memcached. Для этого надо установите модуль для PHP и сам memcached.

Как оказалось есть два похожих пакета:

  • php-memcache — модуль Memcache для PHP,
  • php-memcached — расширение PHP для взаимодействия с memcached.

Нужен с буквой d в конце.

настройки в /etc/php/8.0/mods-available/memcached.ini оставляю все без изменений.
В выводе phpinfo(); появился блок с описанием memcached.

Настройки запуска сервиса в /etc/systemd/system/multi-user.target.wants/memcached.service и конфигурационный файл /etc/memcached.conf тоже не менял.

Проверяем запустился ли сервис

Должно выдать что-то вроде этого

Теперь в конфиге NextCloud добавим строки:

Модуль php-imagick не поддерживает SVG

Для устранения данного предупреждения необходимо установить модуль imagick:

Не указан регион размещения этого сервера Nextcloud

Не указан регион размещения этого сервера Nextcloud, что требуется для возможности проверки номеров телефонов без указания кода страны.

Чтобы разрешить пользователям сервера указывать номера телефонов без указания кода страны, добавьте параметр «default_phone_region» с соответствующим кодом страны в соответствии с ISO 3166-1↗.

Для устранения данного предупреждения откроем конфигурационный файл NextCloud :

и добавим следующие строки:

Для устранения данных ошибок в терминале набираем следующее:

И заполняем данным текстом:

Сохраняем файл (ctrl+o, ctrl+x). И перезагружаем nginx

Заголовок HTTP «Strict-Transport-Security»

Для устранения данного предупреждения отредактируем файл Nginx headers.conf:

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

PHP не настроен для системного окружения.

PHP не настроен правильно для получения переменных системного окружения.

Запрос getenv(«PATH») возвращает пустые результаты.
Обратитесь к разделу о конфигурации PHP и примечаниям к конфигурации PHP из руководства по установке. Обратите внимание на настройку параметров PHP, особенно при использовании механизма php-fpm.

Когда вы используете php-fpm, системные переменные среды, такие как PATH, TMP или другие, не заполняются автоматически так же, как при использовании php-cli. Вызов функции PHP, такой как getenv(‘PATH’); может возвращать пустой результат. Поэтому вам может потребоваться вручную настроить переменные среды в файле конфигурации php-fpm.

И сними с них комментарий (;).

Далее перезапустим php8.0-fpm

Значение PHP ниже рекомендуемого значения .

Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения в 512 МБ.

В терминале набираем:

Находим и редактируем следующие строки:

Не скачиваются файлы больше 1Гб

При попытках скачать из облака файлы объемом более 1гб скачивание прерывается при достижении 1гб. Такое происходит при условии использования Nginx как реверс-прокси. Решается очень просто, нужно добавить в конфигурационный файл сайта опцию «proxy_buffering off». Открываем и добавляем эту опцию:

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Решаем проблему с ошибкой W: mdadm. Имеется сервер работающий на Ubuntu Server 16.04, после обновления системы в логах, да и Читать

NextCloud на Ubuntu Server в журнале первого выходила постоянная Ошибка «PHP Startup: Unable to load dynamic library ‘xmlrpc.so’ «

Если при работе в Linux вы получаете ошибку «getcwd() failed: No such file or directory» при запуске какого-либо скрипта или Читать

Источник

Nextcloud won’t upload larger files #5438

Steps to reproduce

I try to upload a file 200 MB large (not that big, thus), yet I can’t get it done. Neither via nextcloud web, WebDAV nor nextcloud client. I properly set up the php.ini configuration and everything around.

  1. Install nextcloud and try to upload the file

Expected behaviour

The file is uploaded

Actual behaviour

Web: It uploads, but finally nothing happens. After the (upload) process, just nothing
WebDAV on Windows: I/O Device Error
Nextcloud Client: Nothing happens (the nextcloud log doesn’t say anything else)

Server configuration

Operating system: Deb 8

Web server: Plesk’s apache

Database: mysql

PHP version: 7

Nextcloud version: (see Nextcloud admin page) latest

Updated from an older Nextcloud/ownCloud or fresh install:

Where did you install Nextcloud from: setup.php

Signing status:

List of activated apps:

Nextcloud configuration:

Are you using external storage, if yes which one:

Are you using encryption: yes

Are you using an external user-backend, if yes which one:

LDAP configuration (delete this part if not used)

Client configuration

Browser:

Operating system:

Web server error log

Nextcloud log (data/nextcloud.log)

Browser log

The text was updated successfully, but these errors were encountered:

Hi, there is a maximum file size option under Admin > Additional Settings. Please take a look at what it is currently set to. Fyi, I set mine to 2gb. Be sure to post back the solution if you find it. 🙂

Also, here is a way to change maximum upload filesize in Apache. You can google for Nginx info, etc.

  • vim /etc/php*/apache2/php.ini
  • vim /etc/php*/apache2/php.ini
  • Find upload_max_filesize and change it (along with post_max_size)
  • Save the file
  • Restart apache2
  • Edit admin settings in NC to reflect php.ini

For Plesk use following Settings:
PHP Settings for your-nextcloud.com:
Leave everything default, except:
max_execution_timem => 3600
max_input_time => 3600
open_basedir => add «:/dev/urandom:/proc/meminfo» to the end of line

Additional directives:
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

As @sunjam mentioned change Setting under Admin > Additional Settings.
Do not change php.ini directly, but only with Plesk Gui

If you use nginx there will be additional steps to to

Источник

Почему скачивается, но не закачивается файл в nextcloud по WebDav?

Установлен сервер nextcloud на ubuntu 16.04 Apache2.
Доступ по webdav работает нормально. На телефоне установлен Android 6.0.2 и программа FolderSync, которая в автоматическом режиме по webdav синхронизирует папку на телефоне и в nextcloud.
При синхронизации скачиваются файлы с сервера — всё ок. Но, если происходит попытка закачать файл с телефона на сервер, с сервера приходит следующая ошибка:

Debug webdav SabreDAVExceptionNotFound: File with name /test/Kn7IrxJgukU.jpg could not be located
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Tree.php — line 76: OCADAVConnectorSabreDirectory->getChild(‘Kn7IrxJgukU.jpg’)
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php — line 967: SabreDAVTree->getNodeForPath(‘files/***/tes. ‘)
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php — line 1666: SabreDAVServer->getPropertiesIteratorForPath(‘files/***/tes. ‘, Array, 0)
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php — line 355: SabreDAVServer->generateMultiStatus(Object(Generator), false)
[internal function] SabreDAVCorePlugin->httpPropFind(Object(SabreHTTPRequest), Object(SabreHTTPResponse))
/var/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php — line 105: call_user_func_array(Array, Array)
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php — line 479: SabreEventEventEmitter->emit(‘method PROPFIND’, Array)
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php — line 254: SabreDAVServer->invokeMethod(Object(SabreHTTPRequest), Object(SabreHTTPResponse))
/var/www/nextcloud/apps/dav/lib/Server.php — line 258: SabreDAVServer->exec()
/var/www/nextcloud/apps/dav/appinfo/v2/remote.php — line 33: OCADAVServer->exec()
/var/www/nextcloud/remote.php — line 162: require_once(‘/var/www/nextcl. ‘)

Подозреваю, что проблема с правами доступа. Может кто-нибудь лог расшифровать?

  • Вопрос задан более трёх лет назад
  • 1302 просмотра

Сам вопрос задал — сам отвечаю:

Изначально сам NC дает для WebDav ссылку вида:
https://DOMEN/remote.php/webdav/ — она не правильная., с ней синхронизация будет в одну сторону.

С ней всё синхронизируется и устанавливается.

Источник

NextCloud – ошибка при загрузке изображения, видео файла

Задача:

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

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

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

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

OCPFilesNotPermittedException: Could not create folder

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Устраняем предупреждения в админ панели NextCloud

В предыдущей статье я писал как можно установить и настроить nextcloud на операционной системе Ubuntu Server 20.04 с web-сервером nginx+php-fpm и базой данных postgresql. Почитать можно тут.

После успешного запуска nextcloud в панели администратора Вы можете в пункте общие сведения, увидеть следующие предупреждения:

Индексирование файлов

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

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

И вводим данные строки:

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

После данной манипуляции ошибка должна исчезнуть.

Предупреждения о текущей конфигурации /.well-known/.

  • Веб-сервер не настроен должным образом для разрешения «/.well-known/webfinger».
  • Веб-сервер не настроен должным образом для разрешения «/.well-known/nodeinfo».
  • Веб-сервер не настроен должным образом для разрешения «/.well-known/caldav».
  • Веб-сервер не настроен должным образом для разрешения «/.well-known/carddav».

Чтобы исправить данные предупреждения в конфигурационный файл nginx вашего облака внесем следующую location:

Адрес https://mynextcloud.ru измените на свой.

Также внесём следующие строки в файл .htaccess

Зависание входа в панель NextCloud

Включил https на web сервере для nextclou и появился неприятный глюк: в google chrome, opera и яндекс браузере, а также в firefox, IE и edge при входе в аккаунт и выходе из него браузер «зависает» на странице входа, но при этом авторизуется. Если нажать F5, то окажемся в своем аккаунте.
Как же победить данную проблему?

Лечится добавлением в конфигурационный файл NexCloud:

Не настроена система кэширования.

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

Хочу использовать Memcached. Для этого надо установите модуль для PHP и сам memcached.

Как оказалось есть два похожих пакета:

  • php-memcache — модуль Memcache для PHP,
  • php-memcached — расширение PHP для взаимодействия с memcached.

Нужен с буквой d в конце.

настройки в /etc/php/8.0/mods-available/memcached.ini оставляю все без изменений.
В выводе phpinfo(); появился блок с описанием memcached.

Настройки запуска сервиса в /etc/systemd/system/multi-user.target.wants/memcached.service и конфигурационный файл /etc/memcached.conf тоже не менял.

Проверяем запустился ли сервис

Должно выдать что-то вроде этого

Теперь в конфиге NextCloud добавим строки:

Модуль php-imagick не поддерживает SVG

Для устранения данного предупреждения необходимо установить модуль imagick:

Не указан регион размещения этого сервера Nextcloud

Не указан регион размещения этого сервера Nextcloud, что требуется для возможности проверки номеров телефонов без указания кода страны.

Чтобы разрешить пользователям сервера указывать номера телефонов без указания кода страны, добавьте параметр «default_phone_region» с соответствующим кодом страны в соответствии с ISO 3166-1↗.

Для устранения данного предупреждения откроем конфигурационный файл NextCloud :

и добавим следующие строки:

Для устранения данных ошибок в терминале набираем следующее:

И заполняем данным текстом:

Сохраняем файл (ctrl+o, ctrl+x). И перезагружаем nginx

Заголовок HTTP «Strict-Transport-Security»

Для устранения данного предупреждения отредактируем файл Nginx headers.conf:

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

PHP не настроен для системного окружения.

PHP не настроен правильно для получения переменных системного окружения.

Запрос getenv(«PATH») возвращает пустые результаты.
Обратитесь к разделу о конфигурации PHP и примечаниям к конфигурации PHP из руководства по установке. Обратите внимание на настройку параметров PHP, особенно при использовании механизма php-fpm.

Когда вы используете php-fpm, системные переменные среды, такие как PATH, TMP или другие, не заполняются автоматически так же, как при использовании php-cli. Вызов функции PHP, такой как getenv(‘PATH’); может возвращать пустой результат. Поэтому вам может потребоваться вручную настроить переменные среды в файле конфигурации php-fpm.

И сними с них комментарий (;).

Далее перезапустим php8.0-fpm

Значение PHP ниже рекомендуемого значения .

Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения в 512 МБ.

В терминале набираем:

Находим и редактируем следующие строки:

Не скачиваются файлы больше 1Гб

При попытках скачать из облака файлы объемом более 1гб скачивание прерывается при достижении 1гб. Такое происходит при условии использования Nginx как реверс-прокси. Решается очень просто, нужно добавить в конфигурационный файл сайта опцию «proxy_buffering off». Открываем и добавляем эту опцию:

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Решаем проблему с ошибкой W: mdadm. Имеется сервер работающий на Ubuntu Server 16.04, после обновления системы в логах, да и Читать

NextCloud на Ubuntu Server в журнале первого выходила постоянная Ошибка «PHP Startup: Unable to load dynamic library ‘xmlrpc.so’ «

Если при работе в Linux вы получаете ошибку «getcwd() failed: No such file or directory» при запуске какого-либо скрипта или Читать

Источник

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

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

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

  • Произошла неизвестная ошибка fastcgi
  • Произошла неизвестная ошибка directx call of duty warzone
  • Произошла неизвестная ошибка apple id macbook
  • Произошла неизвестная ошибка 75 067e 004b
  • Произошла неизвестная ошибка 66681