The admin logging page is also blank with loading spinner.
Steps to reproduce
- Installed Nextcloud 14 (fresh install)
- Logged in
- Clicked on Apps menu item / Click on Logging
Expected behaviour
Apps page should load. Should be able to disable/enable apps and browse apps to download and install. Logging page should load.
Actual behaviour
Apps pages are blank with just the circle loading animation. An error that is repeated three times appears in the notifications at the top of the screen, “An error occured during the request. Unable to proceed.”.
Screenshot: https://help.nextcloud.com/uploads/default/original/2X/0/0534e4916e1c5483ca4900886c043f9e3bffad89.png
The admin Logging page is the same but does not have errors appear. It is just blank with the loading spinner.
Server configuration
Operating system: Shared hosting, I think Cloud Linux (kernel 3.10.0-714.10.2.lve1.4.74.el7.x86_64)
Web server: Apache 2.4.34 (nginx service is also running)
Database: MySQL 5.6.40
PHP version: 7.2.10
PHP info: https://intothegarbagechuteflyboy.net/phpinfo.php
Nextcloud version: (see Nextcloud admin page) 14.0.0
Updated from an older Nextcloud/ownCloud or fresh install: FRESH (I did try upgrading from 13.0.5 but had issues with the calendar and contacts apps being disabled and reset. Installing apps kept failing so I decided to start fresh.
Where did you install Nextcloud from: Softaculous (cPanel)
Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
No errors have been found.
List of activated apps:
Can’t access apps. But all the default ones that are activated on fresh install.
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder
Don’t have access (shared hosting)
Nextcloud configuration:
config.php
<?php
$CONFIG = array (
'instanceid' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'passwordsalt' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'secret' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'trusted_domains' =>
array (
0 => 'intothegarbagechuteflyboy.net',
),
'datadirectory' => '/home/intothegarbage/nextclouddata',
'dbtype' => 'mysql',
'version' => '14.0.0.19',
'overwrite.cli.url' => 'https://intothegarbagechuteflyboy.net/nextcloud',
'dbname' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'dbpassword' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'installed' => true,
'mail_smtpmode' => 'smtp',
'mail_smtpsecure' => 'ssl',
'mail_smtpauthtype' => 'LOGIN',
'mail_from_address' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_domain' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_smtpauth' => 1,
'mail_smtphost' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_smtpport' => '465',
'mail_smtpname' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_smtppassword' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'memcache.local' => 'OCMemcacheAPCu',
);
Are you using external storage, if yes which one: N/A
Are you using encryption: NO
Are you using an external user-backend, if yes which one: Not yet but would be webdav
Client configuration
Browser: Firefox 62
Operating system: Arch Linux
Logs
Web server error log
I only have access to home/user/logs files. This log also dates back to the 13.0.5 install which had issues with webdav
Web server error log: https://intothegarbagechuteflyboy.net/intothegarbagechuteflyboy.net-Sep-2018.log
Nextcloud log (data/nextcloud.log)
The only issue in this log is a warning about intl falback which I have fixed by enabling the intl module. Since doing that there is nothing more in the log. Below is the last log entry.
Nextcloud log
{"reqId":"W6HuwlSYVdZD449RsLAVdQAAAM0","level":3,"time":"2018-09-19T06:37:55+00:00","remoteAddr":"121.99.121.82","user":"stormrose","app":"PHP","method":"GET","url":"/nextcloud/ocs/v2.php/apps/notifications/api/v2/notifications","message":"You are using a fallback implementation of the intl extension. Installing the native one is highly recommended instead. at /home/intothegarbage/public_html/nextcloud/3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/intl.php#18","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0","version":"14.0.0.19"}
Browser log
Browser console log
Content Security Policy: The page’s settings blocked the loading of a resource at data:font/woff;base64,d09GRgABAAAAAIw4AB... (“font-src”).
JQMIGRATE: Migrate is installed, version 1.4.0 jquery-migrate.min.js:2:542
New search handler registered search.js:66:4
Shutting down notifications: [500] Internal Server Error App.vue:144
_fetch/<
App.vue:144
Object { users: Getter & Setter, apps: Getter & Setter, settings: Getter & Setter, oc: Getter & Setter, route: Getter & Setter, … }
Error: "Request failed with status code 500"
exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:17293exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:45:1313hhttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:16307 index.js:43:2
Object { users: Getter & Setter, apps: Getter & Setter, settings: Getter & Setter, oc: Getter & Setter, route: Getter & Setter, … }
Error: "Request failed with status code 500"
exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:17293exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:45:1313hhttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:16307 index.js:43:2
Object { users: Getter & Setter, apps: Getter & Setter, settings: Getter & Setter, oc: Getter & Setter, route: Getter & Setter, … }
Error: "Request failed with status code 500"
exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:17293exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:45:1313hhttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:16307 index.js:43:2
Browser network har file:
http://intothegarbagechuteflyboy.net/Archive%2018-09-20%2016-31-55.har
The admin logging page is also blank with loading spinner.
Steps to reproduce
- Installed Nextcloud 14 (fresh install)
- Logged in
- Clicked on Apps menu item / Click on Logging
Expected behaviour
Apps page should load. Should be able to disable/enable apps and browse apps to download and install. Logging page should load.
Actual behaviour
Apps pages are blank with just the circle loading animation. An error that is repeated three times appears in the notifications at the top of the screen, “An error occured during the request. Unable to proceed.”.
Screenshot: https://help.nextcloud.com/uploads/default/original/2X/0/0534e4916e1c5483ca4900886c043f9e3bffad89.png
The admin Logging page is the same but does not have errors appear. It is just blank with the loading spinner.
Server configuration
Operating system: Shared hosting, I think Cloud Linux (kernel 3.10.0-714.10.2.lve1.4.74.el7.x86_64)
Web server: Apache 2.4.34 (nginx service is also running)
Database: MySQL 5.6.40
PHP version: 7.2.10
PHP info: https://intothegarbagechuteflyboy.net/phpinfo.php
Nextcloud version: (see Nextcloud admin page) 14.0.0
Updated from an older Nextcloud/ownCloud or fresh install: FRESH (I did try upgrading from 13.0.5 but had issues with the calendar and contacts apps being disabled and reset. Installing apps kept failing so I decided to start fresh.
Where did you install Nextcloud from: Softaculous (cPanel)
Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
No errors have been found.
List of activated apps:
Can’t access apps. But all the default ones that are activated on fresh install.
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder
Don’t have access (shared hosting)
Nextcloud configuration:
config.php
<?php
$CONFIG = array (
'instanceid' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'passwordsalt' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'secret' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'trusted_domains' =>
array (
0 => 'intothegarbagechuteflyboy.net',
),
'datadirectory' => '/home/intothegarbage/nextclouddata',
'dbtype' => 'mysql',
'version' => '14.0.0.19',
'overwrite.cli.url' => 'https://intothegarbagechuteflyboy.net/nextcloud',
'dbname' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'dbpassword' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'installed' => true,
'mail_smtpmode' => 'smtp',
'mail_smtpsecure' => 'ssl',
'mail_smtpauthtype' => 'LOGIN',
'mail_from_address' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_domain' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_smtpauth' => 1,
'mail_smtphost' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_smtpport' => '465',
'mail_smtpname' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_smtppassword' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'memcache.local' => 'OCMemcacheAPCu',
);
Are you using external storage, if yes which one: N/A
Are you using encryption: NO
Are you using an external user-backend, if yes which one: Not yet but would be webdav
Client configuration
Browser: Firefox 62
Operating system: Arch Linux
Logs
Web server error log
I only have access to home/user/logs files. This log also dates back to the 13.0.5 install which had issues with webdav
Web server error log: https://intothegarbagechuteflyboy.net/intothegarbagechuteflyboy.net-Sep-2018.log
Nextcloud log (data/nextcloud.log)
The only issue in this log is a warning about intl falback which I have fixed by enabling the intl module. Since doing that there is nothing more in the log. Below is the last log entry.
Nextcloud log
{"reqId":"W6HuwlSYVdZD449RsLAVdQAAAM0","level":3,"time":"2018-09-19T06:37:55+00:00","remoteAddr":"121.99.121.82","user":"stormrose","app":"PHP","method":"GET","url":"/nextcloud/ocs/v2.php/apps/notifications/api/v2/notifications","message":"You are using a fallback implementation of the intl extension. Installing the native one is highly recommended instead. at /home/intothegarbage/public_html/nextcloud/3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/intl.php#18","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0","version":"14.0.0.19"}
Browser log
Browser console log
Content Security Policy: The page’s settings blocked the loading of a resource at data:font/woff;base64,d09GRgABAAAAAIw4AB... (“font-src”).
JQMIGRATE: Migrate is installed, version 1.4.0 jquery-migrate.min.js:2:542
New search handler registered search.js:66:4
Shutting down notifications: [500] Internal Server Error App.vue:144
_fetch/<
App.vue:144
Object { users: Getter & Setter, apps: Getter & Setter, settings: Getter & Setter, oc: Getter & Setter, route: Getter & Setter, … }
Error: "Request failed with status code 500"
exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:17293exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:45:1313hhttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:16307 index.js:43:2
Object { users: Getter & Setter, apps: Getter & Setter, settings: Getter & Setter, oc: Getter & Setter, route: Getter & Setter, … }
Error: "Request failed with status code 500"
exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:17293exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:45:1313hhttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:16307 index.js:43:2
Object { users: Getter & Setter, apps: Getter & Setter, settings: Getter & Setter, oc: Getter & Setter, route: Getter & Setter, … }
Error: "Request failed with status code 500"
exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:17293exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:45:1313hhttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:16307 index.js:43:2
Browser network har file:
http://intothegarbagechuteflyboy.net/Archive%2018-09-20%2016-31-55.har
После установки Nextcloud им можно сразу же пользоваться. (А если вы здесь по вопросу отключения техобслуживания Nextcloud, то вот команда — sudo -u www-data php /path/to/nextcloud/occ maintenance:mode —off (перед off ставьте два дефиса) )
Но, если вам хочется большей производительности, а также не хочется видеть предупреждение о текущей конфигурации, которое будет видно каждый раз при заходе в административную панель, то следующие советы для вас.
Как и ранее я писал, Nextcloud стоит на Ubuntu 18.04 и работает под связкой nginx + php-fpm (версии 7.4) + mysql. Язык интерфейса — русский. Nextcloud установлен в /usr/share/nginx/nextcloud/
После внесения изменений не забываем перезапускать php-fpm. Или можете после применения всех изменений перезапустить его один раз.
Содержание:
- PHP не настроен правильно для получения переменных системного окружения.
- PHP OPcache не настроен правильно
- Некоторые индексы базы данных не были преобразованы в тип big int
- Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения в 512 МБ
- Не настроена система кеширования
- В базе данных отсутствуют некоторые индексы
- MySQL используется в качестве базы данных, но не поддерживает 4-байтовые символы
- Задействован устаревший режим шифрования файлов на стороне сервера
- Настройка обратного прокси для доступа
- Заголовок HTTP «X-Frame-Options» не настроен на значение «SAMEORIGIN»
- Новый dashboard
- Модуль php-imagick и SVG
- Регион размещения сервера
Убираем первое предупреждение:
«PHP не настроен правильно для получения переменных системного окружения.
Запрос getenv(«PATH») возвращает пустые результаты.
Обратитесь к разделу о конфигурации PHP и примечаниям к конфигурации
PHP из руководства по установке. Обратите внимание на настройку
параметров PHP, особенно при использовании механизма php-fpm.»
Как сказано в документации
Когда вы используете php-fpm, системные переменные среды, такие как PATH, TMP или другие, не заполняются автоматически так же, как при использовании php-cli. Вызов функции PHP, такой как getenv(‘PATH’); может возвращать пустой результат. Поэтому вам может потребоваться вручную настроить переменные среды в файле конфигурации php-fpm.
Редактируем файл /etc/php/7.4/fpm/pool.d/www.conf
Ищем такие строки:
;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp
И раскомментируем их.
Или, если побыстрее
sed -i -e "s/;env[/env[/g" /etc/php/7.4/fpm/pool.d/www.conf
Не забываем перезапустить php-fpm
systemctl restart php7.4-fpm
Готово. Идём дальше.
К оглавлению
Убираем второе предупреждение
«PHP OPcache не настроен правильно»
Для обеспечения лучшей производительности рекомендуется задать в файле
php.ini
следующие параметры настроек:
opcache.enable=1
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
Заменим вручную вышеуказанные параметры в файле /etc/php/7.4/fpm/php.ini или сразу заменим значения sed’ом
sed -i -e "s/;opcache.enable=1/opcache.enable=1/g" /etc/php/7.4/fpm/php.ini sed -i -e "s/;opcache.enable_cli=0/opcache.enable_cli=1/g" /etc/php/7.4/fpm/php.ini sed -i -e "s/;opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=8/g" /etc/php/7.4/fpm/php.ini sed -i -e "s/;opcache.max_accelerated_files=10000/opcache.max_accelerated_files=10000/g" /etc/php/7.4/fpm/php.ini sed -i -e "s/;opcache.memory_consumption=128/opcache.memory_consumption=128/g" /etc/php/7.4/fpm/php.ini sed -i -e "s/;opcache.save_comments=1/opcache.save_comments=1/g" /etc/php/7.4/fpm/php.ini sed -i -e "s/;opcache.revalidate_freq=2/opcache.revalidate_freq=1/g" /etc/php/7.4/fpm/php.ini
К оглавлению
Убираем третье предупреждение
Некоторые индексы базы данных не были преобразованы в тип big int
Так как преобразование таких индексов может занять продолжительное время, оно должно быть запущенно вручную. Чтобы выполнить преобразование, необходимо включить режим обслуживания и запустить в терминале команду «occ db:convert-filecache-bigint». Дополнительные сведения приведены на соответствующей странице документации.filecache.mtime
filecache.storage_mtime
Для того, чтобы не потерять данные, или чтобы не было ошибок на клиентах, или просто для спокойствия нервной системы введите Nextcloud в режим обслуживания.
sudo -u www-data php /usr/share/nginx/nextcloud/occ maintenance:mode --on
В браузере вы можете увидеть, что система находится в режиме обслуживания. Теперь в консоли выполните следующее:
sudo -u www-data php /usr/share/nginx/nextcloud/occ db:convert-filecache-bigint --no-interaction
Затем выключите режим обслуживания.
sudo -u www-data php /usr/share/nginx/nextcloud/occ maintenance:mode --off
К оглавлению
Убираем предупреждение о php
Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения в 512 МБ.
sudo nano /etc/php/7.4/fpm/php.ini
Ищем memory_limit и вводим, например, 512M вместо 128M. И перезапускаем php-fpm
или если хотим побыстрее
sed -i -e "s/memory_limit = 128M/memory_limit = 512M/g" /etc/php/7.4/fpm/php.ini
sudo systemctl restart php7.4-fpm
К оглавлению
Убираем предупреждение о кешировании.
Не настроена система кеширования
Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в документации
Поэтому прикручиваем систему кэширования, состоящую из локальной системы кэширования на основе APCu и системы распределённого кеширования Redis.
Ставим APCu
sudo apt install php-apcu -y
В файле php.ini включаем apcu
sudo nano /etc/php/7.4/cli/php.ini
вставив в начало
apc.enable_cli=1
Сохраняем файл и перезапускаем php-fpm.
sudo systemctl restart php7.4-fpm
Редактируем файл config/config.php в директории установки Nextсloud
sudo nano /usr/share/nginx/nextcloud/config/config.php
и вставляем следующую строку перед закрывающем скобкой «);»
'memcache.local' => 'OCMemcacheAPCu',
Ставим Redis.
sudo apt install redis-server php-redis -y
Проверяем, что он запустился
ps ax | grep redis
15758 ? Ssl 0:00 /usr/bin/redis-server 127.0.0.1:6379
В тот же файл config/config.php
sudo nano /usr/share/nginx/nextcloud/config/config.php
вставьте следующее опять перед закрывающей скобкой «);»
'memcache.distributed' => 'OCMemcacheRedis',
'redis' =>
array (
'host' => '127.0.0.1',
'port' => 6379,
),
'memcache.locking' => 'OCMemcacheRedis',
Сохраняем файл. Перезапускаем php-fpm, если вы это ещё не сделали и наслаждаемся ускоренной работе Nextcloud.
P.S. Если при консольном выполнении команд вы получаете такое сообщение:
OCHintException: [0]: Memcache OCMemcacheAPCu not available for local cache (Is the matching PHP module installed and enabled?)
то тогда пропишите в файл php.ini, который находится по пути /etc/php/7.4/cli следующий текст
apc.enable_cli=1
Ошибка должна исчезнуть
К оглавлению
Убираем ошибку отсутствия индексов
В базе данных отсутствуют некоторые индексы.
Так как создание таких индексов может занять достаточно продолжительное время, оно должно быть запущено вручную. Для создания индексов необходимо запустить команду «occ db:add-missing-indices» во время работы сервера Nextcloud. При созданных индексах, как правило, запросы к базе данных выполняются значительно быстрее.
Выполняем
sudo -u www-data php /usr/share/nginx/nextcloud/occ db:add-missing-indices
При успешном индексировании будет следующий текст:
Check indices of the share table. Check indices of the filecache table. Check indices of the twofactor_providers table. Check indices of the login_flow_v2 table. Check indices of the whats_new table. Check indices of the cards table. Check indices of the cards_properties table. Check indices of the calendarobjects_props table. Adding calendarobject_calid_index index to the calendarobjects_props table, this can take some time… calendarobjects_props table updated successfully. Check indices of the schedulingobjects table. Adding schedulobj_principuri_index index to the schedulingobjects table, this can take some time… schedulingobjects table updated successfully.
Некоторые индексы базы данных не были преобразованы в тип big int.
Так как преобразование таких индексов может занять продолжительное время, оно должно быть запущенно вручную. Чтобы выполнить преобразование, необходимо включить режим обслуживания и запустить в терминале команду «occ db:convert-filecache-bigint». Дополнительные сведения приведены на соответствующей странице документации.
Вводим сервер в режим обслуживания и выполняем преобразование
sudo -u www-data php /usr/share/nginx/nextcloud/occ maintenance:mode --on
sudo -u www-data php /usr/share/nginx/nextcloud/occ db:convert-filecache-bigint
Появится сообщение
Nextcloud is in maintenance mode - no apps have been loaded Following columns will be updated: mounts.storage_id mounts.root_id mounts.mount_id This can take up to hours, depending on the number of files in your instance! Continue with the conversion (y/n)? [n]
Вводим «y»
И выводим из режима обслуживания
sudo -u www-data php /usr/share/nginx/nextcloud/occ maintenance:mode --off
К оглавлению
Убираем предупреждение о 4-х байтовых символах
MySQL используется в качестве базы данных, но не поддерживает 4-байтовые символы.
Чтобы иметь возможность обрабатывать 4-байтовые символы (например, смайлики) без проблем в именах файлов или комментариях, рекомендуется включить 4-байтовую поддержку в MySQL. Для получения более подробной информации обратитесь к документации.
Так как первоначально Nextcloud я ставил на базе MariaDB, то по ссылке выше для возможности обработки ошибки я не заметил продолжение про MariaDB, а сразу стал применять шаги для MySQL. Не надо так. Поэтому распишу по шагам, что и как надо делать.
P.S. Убедитесь, что MariaDB версии выше 10.2. У меня была версия 15.1
Убедитесь, что на вашем сервере MySQL установлены следующие параметры InnoDB в файле:
sudo nano /etc/mysql/mariadb.cnf
[mysqld] innodb_large_prefix=true innodb_file_format=barracuda innodb_file_per_table=1
и если их нет, то вставьте в конец файла.
Перезапустите сервер MariaDB
sudo systemctl restart mariadb
Выясните был ли изменён формат файла на Barracuda
sudo mariadb
SELECT NAME, SPACE, FILE_FORMAT FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME like "nextcloud%";
Если формат файла — «barracuda» для каждой отдельной таблицы, то ничего особенного не остается делать. Продолжайте с инструкциями для MySQL. Во время тестирования формат файла всех таблиц был “Antelope”.
Таблицы должны быть перенесены в “barracuda” вручную, одна за другой. Однако команды SQL можно легко создавать:
USE INFORMATION_SCHEMA; SELECT CONCAT("ALTER TABLE `", TABLE_SCHEMA,"`.`", TABLE_NAME, "` ROW_FORMAT=DYNAMIC;") AS MySQLCMD FROM TABLES WHERE TABLE_SCHEMA = "nextcloud";
Скопируйте появившийся ответ и уберите в нем символ «|». После этого вставляйте текст в консоль mariadb
После всего проделанного формат файла должен поменяться на Barracuda. Проверим.
SELECT NAME, SPACE, FILE_FORMAT FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME like "nextcloud%"; exit;
Инструкции для MySQL
Вводим в режим обслуживания.
sudo -u www-data php /usr/share/nginx/nextcloud/occ maintenance:mode --on
sudo mariadb
ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; exit;
sudo -u www-data php /usr/share/nginx/nextcloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"
Должен быть такой результат
Nextcloud is in maintenance mode - no apps have been loaded System config value mysql.utf8mb4 set to boolean true
Запускаем конвертацию
sudo -u www-data php /usr/share/nginx/nextcloud/occ maintenance:repair
Отключаем режим обслуживания.
sudo -u www-data php /usr/share/nginx/nextcloud/occ maintenance:mode --off
К оглавлению
Режим шифрования
Задействован устаревший режим шифрования файлов на стороне сервера.
Рекомендуется отключить такое шифрование. Более подробные сведения содержатся в документации.
Как я понял, устаревший режим шифрования был введён в ранних версиях Nextcloud и впоследствии заменён на новый. Однако в хранилище могли остаться файлы со старым (legacy) типом шифрования.
В документации сказано, что найти эти файлы можно командой
occ encryption:scan:legacy-format
или более полный вариант
sudo -u www-data php /usr/share/nginx/nextcloud/occ encryption:scan:legacy-format
В процессе сканирования occ начнёт искать файлы со старым типом шифрования или если в базе такие файлы отсутствуют, выдаст предупреждение, «does not have a proper header«.
Такие файлы я просто заменил копиями тех, у кого есть нужные заголовки. Так как таких файлов у меня просто не было.
После этого в файле config.php можно отключить поддержку устаревшего формата шифрования, удалив строку
'encryption.legacy_format_support' => true,
или, выставив значение false вместо true
С самими файлами в хранилище ничего не произойдёт, они так же будут зашифрованы как и раньше. В данном случае, мы просто отключили поддержку старого режима шифрования.
К оглавлению
Настройка обратного прокси для доступа
Для доступа к файлам, используя обратный прокси, особых настроек делать не надо, достаточно в директиве proxy_pass указать IP сервера с Nextcloud. Однако, если вы используете клиент Nextcloud, то он при авторизации запустит окно браузера с IP сервера Nextcloud, а не его доменным именем. Чтобы это исправить, делаем следующее:
Для примера IP обратного прокси — 192.168.0.1, IP Nextcloud-сервера — 192.168.0.2
В файле nextcloud/config/config.php
'trusted_domains' => array ( 0 => '192.168.0.2', 1 => '192.168.0.1', ),
'overwritehost' => 'domain.name.example.org', 'overwriteprotocol' => 'https', 'overwritewebroot' => '', 'overwritecondaddr' => '^192.168.0.1$', 'overwrite.cli.url' => 'https://domain.name.example.org',
'trusted_proxies' => array ( 0 => '192.168.0.1', ),
Таким образом, опция trusted_proxies исправляет проблему «Заголовки обратного прокси настроены неправильно, либо вы подключены к серверу Nextcloud через доверенный прокси«
К оглавлению
Уведомление о HTTP «X-Frame-Options»
Заголовок HTTP «X-Frame-Options» не настроен на значение «SAMEORIGIN».
Это потенциальная проблема безопасности для устранения которой рекомендуется задать этот параметр.
Для этого добавьте в файл конфигурации nginx на стороне nextcloud следующее содержимое в секцию server
add_header X-Frame-Options "SAMEORIGIN";
Веб-сервер не настроен должным образом для разрешения «/.well-known/caldav». .
Дополнительная информация может быть найдена в нашей документации
В конфиге nextcloud в статье есть строки с настройкой доступа к этому пути. Для удобства повторю тут
location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; }
К оглавлению
Новый dashboard
Следующая опция для тех, кто обновился до 20 версии и при заходе на главную облака видит новый dashboard вместо знакомого списка файлов.
Исправляется просто добавлением в файл config.php следующей строки
'defaultapp' => 'files',
К оглавлению
Модуль php-imagick и SVG
Модуль php-imagick в этом случае не поддерживает SVG.
Для лучшей совместимости рекомендуется установить его
После установки или обновления Nextcloud до 21 версии появится сообщение об ошибке в модуле php-imagick. И хотя само расширение для php установлено, может статься, что в системе не установлен пакет приложения imagemagick. Поэтому ставим его через apt
apt install imagemagick
В русском переводе на 2021.03.25 фраза переведена немного неправильно. В оригинале это выглядит как «Module php-imagick in this instance has no SVG support. For better compatibility it is recommended to install it.» — «У модуля php-imagick на этом сервере отсутствует поддержка формата SVG. Для лучшей совместимости рекомендуется установить его»
К оглавлению
Регион размещения сервера
Не указан регион размещения этого сервера Nextcloud, что требуется для возможности проверки номеров телефонов без указания кода страны.
Чтобы разрешить пользователям сервера указывать номера телефонов без указания кода страны, добавьте параметр «default_phone_region» с соответствующим кодом страны в соответствии с ISO 3166-1↗.
Опять же после обновления до 21 версии Nextcloud появляется такое предупреждение. Точную причину почему в Nextcloud понадобилось указывать номер телефона я не знаю, но как устранить это предупреждение — знаю.
Открывает файл config.php, расположенный в директории Nextcloud по пути config/config.php и внизу вставляем строку
'default_phone_region' => 'RU',
Не знаю для чего вообще понадилось разработчикам из Nextcloud вставлять в код такое требование (а это требование, потому что иначе бы не было предупреждения на странице проверки конфигурации), но пока обновляться до 21 версии не стоит. Хотя, возможно, это из-за многочисленных требований регуляторов многих стран, в государственных учреждениях которых используется Nextcloud. Всё может быть. Со временем такое категоричное непринятие 21 версии у меня пропадёт. 🙂
К оглавлению
На этом тюнинг закончен, но не завершён.
Steps to reproduce
-
Upgrade NC from 14 to 15 using the instructions here: https://docs.nextcloud.com/server/15/admin_manual/maintenance/manual_upgrade.html (see bug: File Permissions documentation#1142)
-
Visit your website
Expected behaviour
I expect a login screen.
Actual behaviour
I get this error:
The server was unable to complete your request.
If this happens again, please send the technical details below to the server administrator.
More details can be found in the server log.
Technical details
Remote Address: <private>
Request ID: nI04wIe4C2WrAAVG4KBV
Type: OCPFilesNotFoundException
Code: 0
Message:
File: /var/www/nextcloud/lib/private/Files/Node/Node.php
Line: 97
Trace
#0 /var/www/nextcloud/lib/private/Files/Node/Node.php(216): OCFilesNodeNode->getFileInfo()
#1 /var/www/nextcloud/lib/private/Files/Node/Node.php(117): OCFilesNodeNode->getPermissions()
#2 /var/www/nextcloud/lib/private/Files/Node/File.php(64): OCFilesNodeNode->checkPermissions(2)
#3 /var/www/nextcloud/lib/private/Files/SimpleFS/SimpleFile.php(104): OCFilesNodeFile->putContent('/**n * @copyrig...')
#4 /var/www/nextcloud/lib/private/Template/SCSSCacher.php(309): OCFilesSimpleFSSimpleFile->putContent('/**n * @copyrig...')
#5 /var/www/nextcloud/lib/private/Template/SCSSCacher.php(153): OCTemplateSCSSCacher->cache('/var/www/nextcl...', '339f-319d-jquer...', 'jquery-ui-fixes...', Object(OCFilesSimpleFSSimpleFolder), '/core/css')
#6 /var/www/nextcloud/lib/private/Template/CSSResourceLocator.php(109): OCTemplateSCSSCacher->process('/var/www/nextcl...', 'core/css/jquery...', 'core')
#7 /var/www/nextcloud/lib/private/Template/CSSResourceLocator.php(61): OCTemplateCSSResourceLocator->cacheAndAppendScssIfExist('/var/www/nextcl...', 'core/css/jquery...')
#8 /var/www/nextcloud/lib/private/Template/ResourceLocator.php(78): OCTemplateCSSResourceLocator->doFind('css/jquery-ui-f...')
#9 /var/www/nextcloud/lib/private/TemplateLayout.php(286): OCTemplateResourceLocator->find(Array)
#10 /var/www/nextcloud/lib/private/TemplateLayout.php(195): OCTemplateLayout::findStylesheetFiles(Array)
#11 /var/www/nextcloud/lib/private/legacy/template.php(211): OCTemplateLayout->__construct('user', 'files')
#12 /var/www/nextcloud/lib/public/AppFramework/Http/TemplateResponse.php(157): OC_Template->fetchPage(Array)
#13 /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php(119): OCPAppFrameworkHttpTemplateResponse->render()
#14 /var/www/nextcloud/lib/private/AppFramework/App.php(118): OCAppFrameworkHttpDispatcher->dispatch(Object(OCAFilesControllerViewController), 'index')
#15 /var/www/nextcloud/lib/private/AppFramework/Routing/RouteActionHandler.php(47): OCAppFrameworkApp::main('ViewController', 'index', Object(OCAppFrameworkDependencyInjectionDIContainer), Array)
#16 [internal function]: OCAppFrameworkRoutingRouteActionHandler->__invoke(Array)
#17 /var/www/nextcloud/lib/private/Route/Router.php(297): call_user_func(Object(OCAppFrameworkRoutingRouteActionHandler), Array)
#18 /var/www/nextcloud/lib/base.php(987): OCRouteRouter->match('/apps/files/')
#19 /var/www/nextcloud/index.php(42): OC::handleRequest()
#20 {main}
The file /var/www/nextcloud/lib/private/Files/Node/Node.php
exists.
Server configuration
Operating system: Ubuntu 16.04
Web server: Apache2
Database: mariaDB (& redis)
PHP version: 7.0.32
Nextcloud version: 15
Updated from an older Nextcloud/ownCloud or fresh install: from 14
Where did you install Nextcloud from: What does this question mean?
Signing status: What does this question mean?
Signing status
Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
I can’t do that because I can’t log in.
List of activated apps:
App list
root@nextcloud:/var/www/nextcloud# sudo -u www-data php occ app:list
Enabled:
- accessibility: 1.1.0
- activity: 2.8.2
- cloud_federation_api: 0.1.0
- comments: 1.5.0
- dav: 1.8.1
- federatedfilesharing: 1.5.0
- files: 1.10.0
- files_external: 1.6.0
- files_pdfviewer: 1.4.0
- files_sharing: 1.7.0
- files_texteditor: 2.7.0
- files_trashbin: 1.5.0
- files_versions: 1.8.0
- files_videoplayer: 1.4.0
- firstrunwizard: 2.4.0
- gallery: 18.2.0
- logreader: 2.0.0
- lookup_server_connector: 1.3.0
- nextcloud_announcements: 1.4.0
- notifications: 2.3.0
- oauth2: 1.3.0
- password_policy: 1.5.0
- provisioning_api: 1.5.0
- serverinfo: 1.5.0
- sharebymail: 1.5.0
- support: 1.0.0
- survey_client: 1.3.0
- systemtags: 1.5.0
- theming: 1.6.0
- twofactor_backupcodes: 1.4.1
- updatenotification: 1.5.0
- workflowengine: 1.5.0
Disabled:
- admin_audit
- encryption
- federation
- user_ldap
Nextcloud configuration:
Config report
root@nextcloud:/var/www/nextcloud# sudo -u www-data php occ config:list system
{
"system": {
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"nextcloud.mydomain.com",
"files.mydomain.com"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"overwrite.cli.url": "https://nextcloud.mydomain.com",
"dbtype": "mysql",
"version": "15.0.2.0",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"theme": "",
"loglevel": 2,
"debug": true,
"maintenance": false,
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_smtpmode": "smtp",
"mail_sendmailmode": "smtp",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtpauthtype": "PLAIN",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "587",
"mail_smtpauth": 1,
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"mail_smtpsecure": "tls",
"updater.release.channel": "stable",
"memcache.local": "\OC\Memcache\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"port": 6379
},
"memcache.locking": "\OC\Memcache\Redis"
}
}
Are you using external storage, if yes which one: local/smb/sftp/…
No
Are you using encryption: yes/no
No
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/…
No
Client configuration
Browser:
Firefox
Operating system:
Linux
Logs
Web server error log
Web server error log
Nextcloud log (data/nextcloud.log)
Nextcloud log
Do you really want this? It looks like a lot of HTML.
Browser log
Browser log
What do you want here? I don't get browser errors so do you need this?
Содержание
- Internal Server Error в Nextcloud
- Nextcloud 13 — New Instalation 500 Internal Server Error #8406
- Comments
- Steps to reproduce
- Expected behaviour
- Actual behaviour
- Server configuration
- Internal Server Error #13597
- Comments
- Steps to reproduce
- Expected behaviour
- Actual behaviour
- Server configuration
- Client configuration
- Web server error log
- Nextcloud log (data/nextcloud.log)
- Browser log
- [Nextcloud 14] Internal Server Error #11205
- Comments
- Internal Server Error #911
- Comments
Internal Server Error в Nextcloud
Убрать ошибку “Internal Server Error” в Nextcloud
Уже сталкивался с ошибкой в статье “Ошибка nextcloud — Internal Server Error“, в этот раз попробую разобрать решение проблемы более детально.
Ошибка появилась после отключения питания на сервере
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.
Немного информации о сервере:
- FreeBSD 13.0 release p4
- Nginx 1.20.1
- PHP 8.0.11
- MariaDB 10.5.12
- Redis 6.0.15
- memcached
- APCu
- OPcache
Кеширование Nextcloud (часть конфига nextcloud)
Я сразу проверил службы отвечающие за кеш
Проверяем конфиг Редиса
Проверяем лог Redis
Файлы .rdb – это дампы на диске для резервного копирования или сохранения. Их можно безопасно удалить, конечно в рамках решения проблем c nextcloud, ну а сама база данных Redis полностью находится в памяти.
Удаляем файлы и пробуем запустить
Как видим, dump файл заново создался. Проверяем работу Nextcloud, всё работает
Источник
Nextcloud 13 — New Instalation 500 Internal Server Error #8406
Steps to reproduce
I’ve installed Nextcloud 13 with the following procedure:
apt-get install apache2 mariadb-server -y
systemctl start apache2
systemctl enable apache2
systemctl start mysql
systemctl enable mysql
apt-get install php7.1-xml php7.1 php7.1-cgi php7.1-cli php7.1-gd php7.1-curl php7.1-zip php7.1-mysql php7.1-mbstring wget unzip -y
mysql_secure_installation
created a database named «nextclouddb» and a user ‘nextcloud’@’localhost’.
Downloaded and unpacked nextcloud 13 then:
chown -R www-data:www-data /var/www/html/nextcloud/
sudo -u www-data php7.1 occ maintenance:install —database mysql —database-name nextclouddb —database-user nextcloud —admin-user admin
configured config.php and then:
sudo -u www-data php /var/www/html/nextcloud/occ maintenance:update:htaccess
sudo systemctl restart apache2
Expected behaviour
When I connect from my browser to http://127.0.0.1/nextcloud or http://localhost/nextcloud I should see the nextcloud start page.
Actual behaviour
Here is the error on the browser:
- @author Joas Schilling * @author Jörn Friedrich Dreyer * @author Lukas Reschke * @author Morris Jobke * @author Robin Appelman * @author Sergio BertolÃn * @author Thomas Müller * @author Vincent Petry * * @license AGPL-3.0 * * This code is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License, version 3, * along with this program. If not, see * */ require_once DIR . ‘/lib/versioncheck.php’; try < require_once DIR . ‘/lib/base.php’; OC::handleRequest(); > catch(OCServiceUnavailableException $ex) < OC::$server->getLogger()->logException($ex, array(‘app’ => ‘index’)); //show the user a detailed error page OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE); OC_Template::printExceptionErrorPage($ex); > catch (OCHintException $ex) < OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE); try < OC_Template::printErrorPage($ex->getMessage(), $ex->getHint()); > catch (Exception $ex2) < OC::$server->getLogger()->logException($ex, array(‘app’ => ‘index’)); OC::$server->getLogger()->logException($ex2, array(‘app’ => ‘index’)); //show the user a detailed error page OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR); OC_Template::printExceptionErrorPage($ex); > > catch (OCUserLoginException $ex) < OC_Response::setStatus(OC_Response::STATUS_FORBIDDEN); OC_Template::printErrorPage($ex->getMessage(), $ex->getMessage()); > catch (Exception $ex) < OC::$server->getLogger()->logException($ex, array(‘app’ => ‘index’)); //show the user a detailed error page OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR); OC_Template::printExceptionErrorPage($ex); > catch (Error $ex) < try < OC::$server->getLogger()->logException($ex, array(‘app’ => ‘index’)); > catch (Error $e) < $claimedProtocol = strtoupper($_SERVER[‘SERVER_PROTOCOL’]); $validProtocols = [ ‘HTTP/1.0’, ‘HTTP/1.1’, ‘HTTP/2’, ]; $protocol = ‘HTTP/1.1’; if(in_array($claimedProtocol, $validProtocols, true)) < $protocol = $claimedProtocol; >header($protocol . ‘ 500 Internal Server Error’); header(‘Content-Type: text/plain; charset=utf-8’); print(«Internal Server Errornn»); print(«The server encountered an internal error and was unable to complete your request.n»); print(«Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.n»); print(«More details can be found in the webserver log.n»); throw $e; > OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR); OC_Template::printExceptionErrorPage($ex); >
Server configuration
Here is my config.php:
Operating system:
Web server:
Apache 2
Database:
PHP version:
Nextcloud version: (see Nextcloud admin page)
Updated from an older Nextcloud/ownCloud or fresh install:
The text was updated successfully, but these errors were encountered:
Источник
Internal Server Error #13597
Steps to reproduce
Visit your website
Expected behaviour
I expect a login screen.
Actual behaviour
I get this error:
The file /var/www/nextcloud/lib/private/Files/Node/Node.php exists.
Server configuration
Operating system: Ubuntu 16.04
Web server: Apache2
Database: mariaDB (& redis)
PHP version: 7.0.32
Nextcloud version: 15
Updated from an older Nextcloud/ownCloud or fresh install: from 14
Where did you install Nextcloud from: What does this question mean?
Signing status: What does this question mean?
I can’t do that because I can’t log in.
List of activated apps:
Nextcloud configuration:
Are you using external storage, if yes which one: local/smb/sftp/.
Are you using encryption: yes/no
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/.
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:
Same issue here, I first upgraded from Ubuntu 16.04 to 18.04 then used the upgrader in nextcloud web to upgrade from 13 to 14. I now have exactly the same issues. My mobile nextcloud app although still works fine. So I guess it has something to do with the changes from PHP 7.0 to 7.2.
I’m still stuck. Did you already found a solution?
Nextcloud
Interne serverfout
De server was niet in staat je aanvraag te verwerken.
Stuur de hieronder afgebeelde technische details naar de server beheerder wanneer dit opnieuw gebeurt.
Meer details in de serverlogging,
Technische details
Источник
[Nextcloud 14] Internal Server Error #11205
I have installed Nextcloud and was working for a few hours and then it’s showing an Internal Server Error. I have checked the server log and haven’t found what’s the problem.
BTW, I have other apps working fine. The issue is just with nextcloud 14.
Client Error
Server Log
The text was updated successfully, but these errors were encountered:
Your server log is incomplete. Can you please post more content of your server log?
Have a look at it with «less» or «cat» and not with «vi».
And check first that your database is reachable if you use MySQL or PostgreSQL.
This also happens for me, during first time LDAP login. The error logs are:
$ name = $ user -> getBackendClassName ();
GitMate.io thinks possibly related issues are #6839 (Nextcloud got internal Server error after update APP:OnlyOFFICE, need to remove this APP completely), #2741 (Calendar app: internal server error after upgrading to Nextcloud 11), #7622 (NextCloud Server Listener ), #8326 (Internal Server Error (Template not found) when loading Calendar after upgrade to Nextcloud 13.x), and #5056 (nextcloud 12 upgrade error).
I’m pretty sure I stumbled across this issue this morning. I had added a user through the IMAP verification, and then it disappeared from the users list and when I try logging in to the account, it errors. There is no sign of the account in the users list or under occ user:info [username] .
Источник
Internal Server Error #911
Running Docker container latest . Everything was working fine (apps installed, mobile connected, etc), until I moved the volume files to a larger volume 10GB to 50GB, and then:
Pretty useless error message and I have NO idea where to find server log . I’m not even sure what filename I’m looking for. There is a file under nextcloud_nextcloud/_data named nextcloud.log . Is that the server log ? I’ve tried removing that file to see if it would be re-created and/or update after a restart of the container and a refresh of the error page, but nothing.
sure I could just start all over again, but fyi, this is the second time I’ve tried using Nextcloud (the first was a few years ago) and I recall having the same issue back then; Internal Server Error and nothing else in terms of error details. I guess this is fine for the end-user, they just call the admin, but where’s the support for the admin? I would love nothing more than for this open-source cloud solution to work, but if nextcloud is really this fragile, then I guess its just not the solution I’m looking for. Back to Google?? (ugh!)
Obviously pretty disappointed by this, but any and all support are very much appreciated.
Cheers!
EDIT:
Went back through the docs to find mention of a Nextcloud Server Log File. Does this file NOT exist unless its enabled in the Admin Page??
Also, when I connect to the container and try to view the Webserver Log Files, this is what I get:
Does this get written somewhere on the host? This could just be a docker thing, I’m really not sure, but either way, it would be nice to find these log files, and eventually solve «Internal Server Error».
The text was updated successfully, but these errors were encountered:
Источник
Recently on a fresh installation of NextCloud, the following error appeared after logging into the dashboard:
Or in plain text:
Internal Server Error
The server was unable to complete your request.
If this happens again, please send the technical details below to the server administrator.
More details can be found in the server log.
Technical details
Remote Address: XX.XX.XXX.XX
Request ID: YGwdJ99rJht4RtWzYxQ2
When checking the nextcloud.log file, the following errors stood out:
{"reqId":"zs37dGr4l9Kb6N3LGAWn","level":3,"time":"2022-01-04T16:09:00+00:00","remoteAddr":"XX.X.XXX.XXX","user":"jatak","app":"index","method":"GET","url":"/index.php","message":"An exception occurred while executing a query: SQLSTATE[HY001]: Memory allocation error: 1038 Out of sort memory, consider increasing server sort buffer size","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36","version":"23.0.0.10","exception"
So the script is going over the sort buffer size limit configured in MySQL.
This appears to be an outstanding issue with MySQL which causes this error when trying to sort on a table with a JSON column. It looks like it impacts MySQL >= 8.0.1 and MariaDB >= 10.3
Option 1. Disable Circles app
To solve this, if you do not have access to the server configuration files (you are on a shared hosting server), simply disable the Circles app in NextCloud by renaming the following folder:
/apps/circles
This will disable the Circles app which needs a higher sort buffer size limit.
Option 2. Edit my.cnf file
If you have root access to the server (VPOS or DEDICATED server) you can edit the MySQL configuration file and increase the sort_buffer_size value.
sudo nano /etc/mysql/my.cnf
and inside increase the sort_buffer_size:
[mysqld]
sort_buffer_size=5M
then restart MySQL
sudo service mysql restart
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
- Pick a username
- Email Address
- Password
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
The admin logging page is also blank with loading spinner.
Steps to reproduce
- Installed Nextcloud 14 (fresh install)
- Logged in
- Clicked on Apps menu item / Click on Logging
Expected behaviour
Apps page should load. Should be able to disable/enable apps and browse apps to download and install. Logging page should load.
Actual behaviour
Apps pages are blank with just the circle loading animation. An error that is repeated three times appears in the notifications at the top of the screen, “An error occured during the request. Unable to proceed.”.
Screenshot: https://help.nextcloud.com/uploads/default/original/2X/0/0534e4916e1c5483ca4900886c043f9e3bffad89.png
The admin Logging page is the same but does not have errors appear. It is just blank with the loading spinner.
Server configuration
Operating system: Shared hosting, I think Cloud Linux (kernel 3.10.0-714.10.2.lve1.4.74.el7.x86_64)
Web server: Apache 2.4.34 (nginx service is also running)
Database: MySQL 5.6.40
PHP version: 7.2.10
PHP info: https://intothegarbagechuteflyboy.net/phpinfo.php
Nextcloud version: (see Nextcloud admin page) 14.0.0
Updated from an older Nextcloud/ownCloud or fresh install: FRESH (I did try upgrading from 13.0.5 but had issues with the calendar and contacts apps being disabled and reset. Installing apps kept failing so I decided to start fresh.
Where did you install Nextcloud from: Softaculous (cPanel)
Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
No errors have been found.
List of activated apps:
Can’t access apps. But all the default ones that are activated on fresh install.
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder
Don’t have access (shared hosting)
Nextcloud configuration:
config.php
<?php
$CONFIG = array (
'instanceid' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'passwordsalt' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'secret' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'trusted_domains' =>
array (
0 => 'intothegarbagechuteflyboy.net',
),
'datadirectory' => '/home/intothegarbage/nextclouddata',
'dbtype' => 'mysql',
'version' => '14.0.0.19',
'overwrite.cli.url' => 'https://intothegarbagechuteflyboy.net/nextcloud',
'dbname' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'dbpassword' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'installed' => true,
'mail_smtpmode' => 'smtp',
'mail_smtpsecure' => 'ssl',
'mail_smtpauthtype' => 'LOGIN',
'mail_from_address' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_domain' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_smtpauth' => 1,
'mail_smtphost' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_smtpport' => '465',
'mail_smtpname' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'mail_smtppassword' => '▓▓▓▓▓▓▓▓▓▓▓▓▓',
'memcache.local' => '\OC\Memcache\APCu',
);
Are you using external storage, if yes which one: N/A
Are you using encryption: NO
Are you using an external user-backend, if yes which one: Not yet but would be webdav
Client configuration
Browser: Firefox 62
Operating system: Arch Linux
Logs
Web server error log
I only have access to home/user/logs files. This log also dates back to the 13.0.5 install which had issues with webdav
Web server error log: https://intothegarbagechuteflyboy.net/intothegarbagechuteflyboy.net-Sep-2018.log
Nextcloud log (data/nextcloud.log)
The only issue in this log is a warning about intl falback which I have fixed by enabling the intl module. Since doing that there is nothing more in the log. Below is the last log entry.
Nextcloud log
{"reqId":"W6HuwlSYVdZD449RsLAVdQAAAM0","level":3,"time":"2018-09-19T06:37:55+00:00","remoteAddr":"121.99.121.82","user":"stormrose","app":"PHP","method":"GET","url":"\/nextcloud\/ocs\/v2.php\/apps\/notifications\/api\/v2\/notifications","message":"You are using a fallback implementation of the intl extension. Installing the native one is highly recommended instead. at \/home\/intothegarbage\/public_html\/nextcloud\/3rdparty\/patchwork\/utf8\/src\/Patchwork\/Utf8\/Bootup\/intl.php#18","userAgent":"Mozilla\/5.0 (X11; Linux x86_64; rv:62.0) Gecko\/20100101 Firefox\/62.0","version":"14.0.0.19"}
Browser log
Browser console log
Content Security Policy: The page’s settings blocked the loading of a resource at data:font/woff;base64,d09GRgABAAAAAIw4AB... (“font-src”).
JQMIGRATE: Migrate is installed, version 1.4.0 jquery-migrate.min.js:2:542
New search handler registered search.js:66:4
Shutting down notifications: [500] Internal Server Error App.vue:144
_fetch/<
App.vue:144
Object { users: Getter & Setter, apps: Getter & Setter, settings: Getter & Setter, oc: Getter & Setter, route: Getter & Setter, … }
Error: "Request failed with status code 500"
exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:17293exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:45:1313hhttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:16307 index.js:43:2
Object { users: Getter & Setter, apps: Getter & Setter, settings: Getter & Setter, oc: Getter & Setter, route: Getter & Setter, … }
Error: "Request failed with status code 500"
exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:17293exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:45:1313hhttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:16307 index.js:43:2
Object { users: Getter & Setter, apps: Getter & Setter, settings: Getter & Setter, oc: Getter & Setter, route: Getter & Setter, … }
Error: "Request failed with status code 500"
exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:17293exportshttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:45:1313hhttps://intothegarbagechuteflyboy.net/nextcloud/settings/js/settings-vue.js:13:16307 index.js:43:2
Browser network har file:
http://intothegarbagechuteflyboy.net/Archive%2018-09-20%2016-31-55.har
ONLYOFFICE имеет хорошую поддержку документов в формате Microsoft Office, поэтому выбор пал на него.
Технологический стек:
- ONLYOFFICE Docs Community.
- CentOS 9 под ONLYOFFICE.
- NextCloud развёрнут в TrueNAS и работает в Jail, но у вас может работать на чём угодно.
Устанавливаем через snap – это просто и быстро.
Добавить репозиторий EPEL:
sudo yum install epel-release
Установить snap:
sudo yum install snapd
Включить системный модуль, который управляет основным сокетом связи snap:
sudo systemctl enable --now snapd.socket
Включить поддержку классической привязки, создав символическую ссылку между /var/lib/snapd/snap и /snap:
sudo ln -s /var/lib/snapd/snap /snap
Установить ONLYOFFICE:
sudo snap install onlyoffice-ds
Перезагрузить сервер:
sudo reboot -n
Настройка сети
Открыть порты, на которых работает ONLYOFFICE:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --reload
Вы уже можете заходить по адресу вашего сервера и наблюдать работу сервера ONLYOFFICE.
Настройка SSL и работа по HTTPS
Если у вас уже есть сертификат и ключ, чуть ниже читайте куда их поместить. Мы же сейчас разберём как создать самоподписанный сертификат для использования его на сервере ONLYOFFICE.
Перейти во временный каталог:
cd /tmp
Создать закрытый ключ:
openssl genrsa -out onlyoffice.key 2048
Создать запрос на подпись сертификата:
openssl req -new -key onlyoffice.key -out onlyoffice.csr
Подписать сертификат:
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
Для усиления безопасности сервера сгенерировать усиленный dhparam:
openssl dhparam -out dhparam.pem 2048
Скопировать созданные файлы в рабочий каталог ONLYOFFICE:
cp onlyoffice.key /var/snap/onlyoffice-ds/current/var/www/onlyoffice/Data/certs/
cp onlyoffice.crt /var/snap/onlyoffice-ds/current/var/www/onlyoffice/Data/certs/
cp dhparam.pem /var/snap/onlyoffice-ds/current/var/www/onlyoffice/Data/certs/
Разрешить серверу использовать самоподписанные сертификаты:
snap set onlyoffice-ds onlyoffice.use-unautorized-storage=true
Перезапустить ONLYOFFICE, чтобы он подхватил настройки и начал автоматически работать по HTTPS:
snap restart onlyoffice-ds
Сертификат и ключ будут действительны год, через год повторите описанное в данном разделе.
Дополнительные команды
Перейти на HTTP удалив сертификат и перезапустив ONLYOFFICE:
rm /var/snap/onlyoffice-ds/current/var/www/onlyoffice/Data/certs/onlyoffice.*
rm /var/snap/onlyoffice-ds/current/var/www/onlyoffice/Data/certs/dhparam.pem
snap restart onlyoffice-ds
Сменить HTTPS-порт:
snap set onlyoffice-ds onlyoffice.ds-ssl-port=8443
Сменить HTTP-порт:
snap set onlyoffice-ds onlyoffice.ds-port=8080
Включить примеры на сервере, чтобы проверить работу сервера без подключения к NextCloud:
snap set onlyoffice-ds onlyoffice.example-enabled=true
После выполнения команды на главной странице сервера жмите на кнопку и проверяйте работу сервера:
Если работает, то можно подключать к NextCloud. Не забудьте потом отключить:
snap set onlyoffice-ds onlyoffice.example-enabled=false
Получить секретный ключ
Необходимо узнать секретный ключ, который требуется указать в NextCloud, чтобы он мог подключаться к ONLYOFFICE. Для этого на сервере, где установлен ONLYOFFICE открываем файл /var/snap/onlyoffice-ds/current/etc/onlyoffice/documentserver/local.json
Ищем секцию secret и записываем секретный ключ:
Он нам пригодится дальше.
Настройка интеграции ONLYOFFICE и NextCloud
Кстати, есть небольшие особенности при интеграции, поэтому не упускайте детали.
Идём в настройки NextCloud https://{IP-DOMEN}/settings/apps/files и включаем плагин ONLYOFFICE connector:
После включения идём в настройки плагина https://{IP-DOMEN}/settings/admin/onlyoffice
(1) — указать домен сервера или IP-адрес доступный снаружи, на котором развёрнут ONLYOFFICE. Если указать IP вашей внутренней сети, то редактировать документы сможете только с внутренней сети, так как NextCloud при открытии документов на редактирование обращается по этому адресу к ONLYOFFICE с вашего устройства (проверьте). И понятно, что если этот адрес недоступен из внешнего мира, то вы не сможете работать с документами.
(2) — тут указываем секретный ключ, который записали ранее узнав его в секции secret.
(3) — тут указываете IP сервера ONLYOFFICE принадлежащий к вашей внутренней сети.
(4) — здесь я указал домен NextCloud, который доступен из внешней сети. По умолчанию он и подставляется сюда.
Далее я выставил следующие настройки, так как считаю их оптимальными для себя:
Вы можете указывать свои настройки.
Особенности интеграции
- Первую особенность я озвучил выше, когда указывал какой IP прописывать, чтобы можно было документы править не только из локальной сети.
- Если время на сервере NextCloud отличается от времени на сервере ONLYOFFICE, то вы получите ошибку при сохранении настроек интеграции «При попытке соединения возникла ошибка (Возникла ошибка в службе документов: Error while downloading the document file to be converted.)». Устанавливайте одинаковое время и настройте синхронизацию серверов с каким-нибудь NTP сервером. У Google их четыре https://developers.google.com/time/guides
- Если при сохранении настроек синхронизации получаете ошибку «…Invalid Token», то скорее всего пока вы правили настройки NextCloud сбросил секретный ключ. Проверьте и снова внесите корректное значение.