[/details]
Nextcloud version : 27.1.4
Operating system and version : Raspbian Bullseye
Apache or nginx version : Apache 2.4.56
PHP version 8.2
The issue you are facing:
I have mounted an external hard drive to my raspberry pi. I have also enabled the external storage app in Nextcloud. However, when I go to /Administration Tools/External Storage, I get an Internal Server Error message.
Is this the first time you’ve seen this error? : Y
Steps to replicate it:
- Install Nextcloud on a raspberry Pi using https://pimylifeup.com/raspberry-pi-nextcloud-server/
- Enable the external storage app
- Try to access the Nextcloud external storage administration tool
The output of your Nextcloud log in Admin > Logging:
[index] Error: Exception: hash_hkdf(): Argument #2 ($key) cannot be empty in file '/var/www/nextcloud/lib/private/Security/Crypto.php' line 160 at <<closure>>
0. /var/www/nextcloud/lib/private/AppFramework/App.php line 183
OC\AppFramework\Http\Dispatcher->dispatch()
1. /var/www/nextcloud/lib/private/Route/Router.php line 315
OC\AppFramework\App::main()
2. /var/www/nextcloud/lib/base.php line 1068
OC\Route\Router->match()
3. /var/www/nextcloud/index.php line 36
OC::handleRequest()
Caused by:
ValueError: hash_hkdf(): Argument #2 ($key) cannot be empty at <<closure>>
0. /var/www/nextcloud/lib/private/Security/Crypto.php line 160
hash_hkdf()
1. /var/www/nextcloud/lib/private/Security/Crypto.php line 134
OC\Security\Crypto->decryptWithoutSecret("*** sensitive parameters replaced ***")
2. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 526
OC\Security\Crypto->decrypt("*** sensitive parameters replaced ***")
3. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 506
OCA\Files_External\Service\DBConfigService->decryptValue("*** sensitive parameters replaced ***")
4. <<closure>>
OCA\Files_External\Service\DBConfigService->OCA\Files_External\Service\{closure}("*** sensitive parameters replaced ***")
5. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 504
array_map()
6. <<closure>>
OCA\Files_External\Service\DBConfigService->createKeyValueMap("*** sensitive parameters replaced ***")
7. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 482
array_map()
8. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 417
OCA\Files_External\Service\DBConfigService->getConfigForMounts()
9. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 157
OCA\Files_External\Service\DBConfigService->getMountsFromQuery()
10. /var/www/nextcloud/apps/files_external/lib/Service/StoragesService.php line 88
OCA\Files_External\Service\DBConfigService->getAdminMounts()
11. /var/www/nextcloud/apps/files_external/lib/Service/StoragesService.php line 144
OCA\Files_External\Service\StoragesService->readDBConfig()
12. /var/www/nextcloud/apps/files_external/lib/Service/StoragesService.php line 194
OCA\Files_External\Service\StoragesService->readConfig()
13. /var/www/nextcloud/apps/files_external/lib/Service/StoragesService.php line 203
OCA\Files_External\Service\StoragesService->getAllStorages()
14. /var/www/nextcloud/apps/files_external/lib/Settings/Admin.php line 66
OCA\Files_External\Service\StoragesService->getStorages()
15. /var/www/nextcloud/apps/settings/lib/Controller/CommonSettingsTrait.php line 129
OCA\Files_External\Settings\Admin->getForm()
16. /var/www/nextcloud/apps/settings/lib/Controller/AdminSettingsController.php line 83
OCA\Settings\Controller\AdminSettingsController->formatSettings()
17. /var/www/nextcloud/apps/settings/lib/Controller/CommonSettingsTrait.php line 149
OCA\Settings\Controller\AdminSettingsController->getSettings()
18. /var/www/nextcloud/apps/settings/lib/Controller/AdminSettingsController.php line 68
OCA\Settings\Controller\AdminSettingsController->getIndexResponse()
19. /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php line 230
OCA\Settings\Controller\AdminSettingsController->index()
20. /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php line 137
OC\AppFramework\Http\Dispatcher->executeController()
21. /var/www/nextcloud/lib/private/AppFramework/App.php line 183
OC\AppFramework\Http\Dispatcher->dispatch()
22. /var/www/nextcloud/lib/private/Route/Router.php line 315
OC\AppFramework\App::main()
23. /var/www/nextcloud/lib/base.php line 1068
OC\Route\Router->match()
24. /var/www/nextcloud/index.php line 36
OC::handleRequest()
GET /nextcloud/index.php/settings/admin/externalstorages
from 192.168.0.163 by @thepas at 2023-11-24T17:01:47+00:00
[core] Error: ValueError: hash_hkdf(): Argument #2 ($key) cannot be empty at <<closure>>
0. /var/www/nextcloud/lib/private/Security/Crypto.php line 160
hash_hkdf()
1. /var/www/nextcloud/lib/private/Security/Crypto.php line 134
OC\Security\Crypto->decryptWithoutSecret("*** sensitive parameters replaced ***")
2. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 526
OC\Security\Crypto->decrypt("*** sensitive parameters replaced ***")
3. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 506
OCA\Files_External\Service\DBConfigService->decryptValue("*** sensitive parameters replaced ***")
4. <<closure>>
OCA\Files_External\Service\DBConfigService->OCA\Files_External\Service\{closure}("*** sensitive parameters replaced ***")
5. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 504
array_map()
6. <<closure>>
OCA\Files_External\Service\DBConfigService->createKeyValueMap("*** sensitive parameters replaced ***")
7. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 482
array_map()
8. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 417
OCA\Files_External\Service\DBConfigService->getConfigForMounts()
9. /var/www/nextcloud/apps/files_external/lib/Service/DBConfigService.php line 112
OCA\Files_External\Service\DBConfigService->getMountsFromQuery()
10. /var/www/nextcloud/apps/files_external/lib/Service/UserGlobalStoragesService.php line 194
OCA\Files_External\Service\DBConfigService->getMountsForUser()
11. /var/www/nextcloud/apps/files_external/lib/Config/ConfigAdapter.php line 109
OCA\Files_External\Service\UserGlobalStoragesService->getAllStoragesForUser()
12. /var/www/nextcloud/lib/private/Files/Config/MountProviderCollection.php line 89
OCA\Files_External\Config\ConfigAdapter->getMountsForUser()
13. /var/www/nextcloud/lib/private/Files/Config/MountProviderCollection.php line 138
OC\Files\Config\MountProviderCollection->getMountsFromProvider()
14. /var/www/nextcloud/lib/private/Files/SetupManager.php line 215
OC\Files\Config\MountProviderCollection->addMountForUser()
15. /var/www/nextcloud/lib/private/Files/SetupManager.php line 318
OC\Files\SetupManager->OC\Files\{closure}("*** sensitive parameters replaced ***")
16. /var/www/nextcloud/lib/private/Files/SetupManager.php line 214
OC\Files\SetupManager->setupForUserWith()
17. /var/www/nextcloud/lib/private/legacy/OC_Util.php line 111
OC\Files\SetupManager->setupForUser()
18. /var/www/nextcloud/apps/files_versions/lib/Storage.php line 840
OC_Util::setupFS()
19. /var/www/nextcloud/apps/files_versions/lib/Command/Expire.php line 60
OCA\Files_Versions\Storage::expire()
20. /var/www/nextcloud/lib/private/Command/CommandJob.php line 35
OCA\Files_Versions\Command\Expire->handle()
21. /var/www/nextcloud/lib/private/BackgroundJob/Job.php line 54
OC\Command\CommandJob->run()
22. /var/www/nextcloud/lib/private/BackgroundJob/QueuedJob.php line 47
OC\BackgroundJob\Job->execute()
23. /var/www/nextcloud/cron.php line 177
OC\BackgroundJob\QueuedJob->execute()
GET /nextcloud/cron.php
from 192.168.0.163 at 2023-11-24T17:02:27+00:00
The output of your config.php file in /path/to/nextcloud
(make sure you remove any identifiable information!):
<?php
$CONFIG = array (
'instanceid' => 'ocxxxxxxx',
'passwordsalt' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'trusted_domains' =>
array (
0 => 'MY_IP_ADDRESS',
),
'datadirectory' => '/var/nextcloud/data',
'dbtype' => 'mysql',
'version' => '27.1.4.1',
'overwrite.cli.url' => 'https://MY_IP_ADDRESS/nextcloud',
'dbname' => 'NastyPiDB',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'oc_username',
'dbpassword' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'installed' => true,
'updater.secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'maintenance' => false,
'theme' => '',
'loglevel' => 2,
);