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
Жил-был у бабушки серенький троллик…
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: -
WSGlebKavash, Проблемы с php-fpm, однако. Ошибка чтения заголовка ответа. Тут однозначного ответа дать нельзя, нужно доки грызть. А, пардон, на куа тебе nextcloud именно на FreeBSD? Шоб було?
-
CityCat4,
Ошибка чтения заголовка ответа.
Таков он на фряхе. На Ubuntu всё с первого раза заработало.
А, пардон, на куа тебе nextcloud именно на FreeBSD?
Обязательно будет вопрос на эту тему. Пожалуйста, подождите. Будьте готовы дать ответ.
нужно доки грызть.
Доки чего? Nextcloud? PHP 8.0?
-
WSGlebKavash, И того и другого, а еще fastCGI, php-fpm и всего, что там задействовано. У меня кстати на генте nextcloud взлетел вообще без проблем
-
CityCat4,
У меня кстати на генте nextcloud взлетел вообще без проблем
То ж Linux. Более того, самый True GNU/Linux. А не BSD, где программы работают только с патчами, а некоторые линуксовые системные вызовы вообще невозможно реализовать.
-
CityCat4, это же глебушка.
для него Per Aspera Ad Astra — походу смысл существования. -
DevMan, Ниче, вырастет, начнет работать (а не балду околачивать) — будет у него дохрена бесполезных знаний
-
CityCat4, чел, который на фрю пытается натянуть туксовые привычки, в нормального не вырастет.
-
DevMan, Ну, как человек, который перешел с FreeBSD на линух, могу сказать, что если есть моск — разница нащупывается очень быстро и приходит понимание, что почем. Обратно на FreeBSD я кстати точно не вернусь
-
WSGlebKavash, Глеб, твое обслуждение (ты кого-то обслуживать собрался?) уже пристрелил модератор
-
WSGlebKavash, ты до сих пор (после кучи снесенных акков) не понял, что
тут не социалочка и обсуждений не ведут?
ну не клоун ли ты после этого? -
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). Либо настроить из командной строки:
— уточнить, можно ли тут обойтись без паролей
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
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.
Решение:
-
Открыть файл в программе tcode (в Windows), чтобы строки с кодировкой Quoted Printable перекодировались в нормальный русский текст. Это можно сделать и из командной строки:
tcode input.vcf /auto output.vcf
-
Убрать из всего файла строки ;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE
-
Строки VERSION:2.1 заменить на VERSION:3.0
-
Сохранить файл в кодировке 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
Ссылки
Loading
Задача:
Исправить ошибку 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
После этого всё работало!
Другие статьи
Содержание
- Устранение проблем с облачным хранилищем NextCloud
- Ошибка «File is locked»
- Ошибка «Файл был удален с сервера» («File was deleted from server»)
- Ошибка «Precondition failed (An If-Match header was specified and the resource did not exist)»
- Читайте другие интересные статьи
- NextCloud не работает через клиента
- Установка Nextcloud
- Инструкция по установке Nextcloud на Centos 7, Ubuntu 18.04 server, +apache, mariadb, fail2ban, postfix, ssl let’s encrypt, регистрация домена, Яндекс коннект, NGINX
- Ошибки после обновления Nextcloud.
- Ошибки после обновления. Centos 7
- Ошибки после обновления 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
Через несколько минут проверьте результат:
«Фоновые задания. Последнее задание выполнено несколько секунд назад.»
Источник