Checklist
I have read intro post: https://community.passbolt.com/t/about-the-installation-issues-category/12
I have read the tutorials, help and searched for similar issues
I provide relevant information about my server (component names and versions, etc.)
I provide a copy of my logs and healthcheck
I describe the steps I have taken to trouble shoot the problem
I describe the steps on how to reproduce the issue
Hello,
I’m trying to install Passbolt on my RedHat 9 server following the documentation , but when i try to go to the browser for the configuration, I only have a white page or a 404 error.
< HTTP/1.1 200 OK
< Server: nginx/1.20.1
< Date: Wed, 10 Sep 2025 09:26:38 GMT
< Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Keep-Alive: timeout=5
< X-Powered-By: PHP/8.2.28
< Set-Cookie: passbolt_session=6cvrirl94ftbvl9v5m9vo813a9; path=/; HttpOnly; SameSite=Lax
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate
< Pragma: no-cache
< x-permitted-cross-domain-policies: all
< referrer-policy: same-origin
< x-frame-options: sameorigin
< x-download-options: noopen
< x-content-type-options: nosniff
< X-GPGAuth-Version: 1.3.0
< X-GPGAuth-Login-URL: /auth/login
< X-GPGAuth-Logout-URL: /auth/logout
< X-GPGAuth-Verify-URL: /auth/verify
< X-GPGAuth-Pubkey-URL: /auth/verify.json
< Access-Control-Expose-Headers: X-GPGAuth-Verify-Response
< Access-Control-Expose-Headers: X-GPGAuth-Progress
< Access-Control-Expose-Headers: X-GPGAuth-User-Auth-Token
< Access-Control-Expose-Headers: X-GPGAuth-Authenticated
< Access-Control-Expose-Headers: X-GPGAuth-Refer
< Access-Control-Expose-Headers: X-GPGAuth-Debug
< Access-Control-Expose-Headers: X-GPGAuth-Error
< Access-Control-Expose-Headers: X-GPGAuth-Pubkey
< Access-Control-Expose-Headers: X-GPGAuth-Logout-Url
< Access-Control-Expose-Headers: X-GPGAuth-Version
< X-GPGAuth-Authenticated: false
< X-GPGAuth-Progress: stage0
< Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self';frame-src 'self' https://*.duosecurity.com;
< Set-Cookie: csrfToken=db67860ba526ad01068d8d0dba26a753a1efd77d2906ee8039ed63b4b1db0249cc9b19e26007935dc33d3debd46a3028c5a765a3a3d815d3004d5793ba4f4eaa; path=/
<
<!doctype html>
<html class="passbolt no-js version launching no-passboltplugin" lang="en">
<head>
<meta charset="utf-8">
<title>Passbolt | Open source password manager for teams</title>
<!--
____ __ ____
/ __ \____ _____ ____/ /_ ____ / / /_
/ /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
/ ____/ /_/ (__ )__ ) /_/ / /_/ / / /_
/_/ \__,_/____/____/_.___/\____/_/\__/
Open source password manager for teams
Copyright (c) Passbolt SA (https://www.passbolt.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
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
along with this program. If not, see http://www.gnu.org/licenses/.
-->
<meta name="description" content="Open source password manager for teams">
<meta name="keywords" content="Passbolt, password manager, online password manager, open source password manager">
<meta name="robots" content="noindex, nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="https://www.passbolt.test/favicon.ico" />
<link rel="icon" href="https://www.passbolt.test/favicon.svg" />
<link rel="icon" href="https://www.passbolt.test/favicon_32.png" sizes="32x32" />
<link rel="icon" href="https://www.passbolt.test/favicon_57.png" sizes="57x57" />
<link rel="icon" href="https://www.passbolt.test/favicon_76.png" sizes="76x76" />
<link rel="icon" href="https://www.passbolt.test/favicon_96.png" sizes="96x96" />
<link rel="icon" href="https://www.passbolt.test/favicon_128.png" sizes="128x128" />
<link rel="icon" href="https://www.passbolt.test/favicon_192.png" sizes="192x192" />
<link rel="icon" href="https://www.passbolt.test/favicon_228.png" sizes="228x228" />
<base href="https://www.passbolt.test/">
<script src="https://www.passbolt.test/js/app/stylesheet.js?v=5.4.1" id="stylesheet-manager" data-file="api_authentication.min.css" cache-version="5.4.1"></script></head>
<body spellcheck="false">
<!-- main -->
<div id="container" class="page ">
</div>
<script src="https://www.passbolt.test/js/app/api-vendors.js?v=5.4.1" cache-version="5.4.1"></script><script src="https://www.passbolt.test/js/app/api-triage.js?v=5.4.1" cache-version="5.4.1"></script></body>
</html>
< HTTP/1.1 404 Not Found
< Server: nginx/1.20.1
< Date: Wed, 10 Sep 2025 09:27:24 GMT
< Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Keep-Alive: timeout=5
< X-Powered-By: PHP/8.2.28
< Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self';frame-src 'self' https://*.duosecurity.com;
<
<!DOCTYPE html>
<html class="passbolt no-js no-passboltplugin version" lang="en">
<head>
<meta charset="utf-8">
<title>Passbolt | Error</title>
<!--
____ __ ____
/ __ \____ _____ ____/ /_ ____ / / /_
/ /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
/ ____/ /_/ (__ )__ ) /_/ / /_/ / / /_
/_/ \__,_/____/____/_.___/\____/_/\__/
Open source password manager for teams
Copyright (c) Passbolt SA (https://www.passbolt.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
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
along with this program. If not, see http://www.gnu.org/licenses/.
-->
<meta name="description" content="Open source password manager for teams">
<meta name="keywords" content="Passbolt, password manager, online password manager, open source password manager">
<meta name="robots" content="noindex, nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="https://www.passbolt.test/favicon.ico" />
<link rel="icon" href="https://www.passbolt.test/favicon.svg" />
<link rel="icon" href="https://www.passbolt.test/favicon_32.png" sizes="32x32" />
<link rel="icon" href="https://www.passbolt.test/favicon_57.png" sizes="57x57" />
<link rel="icon" href="https://www.passbolt.test/favicon_76.png" sizes="76x76" />
<link rel="icon" href="https://www.passbolt.test/favicon_96.png" sizes="96x96" />
<link rel="icon" href="https://www.passbolt.test/favicon_128.png" sizes="128x128" />
<link rel="icon" href="https://www.passbolt.test/favicon_192.png" sizes="192x192" />
<link rel="icon" href="https://www.passbolt.test/favicon_228.png" sizes="228x228" />
<base href="https://www.passbolt.test/">
<link rel="stylesheet" href="https://www.passbolt.test/css/themes/default/api_main.min.css?v=5.4.1"></head>
<body spellcheck="false">
<div id="container" class="error page error-500">
<!-- header navigation -->
<header>
<div class="header first ">
<nav>
<div class="top navigation primary">
<ul>
<li class="left"><a href="https://www.passbolt.test/"><span>home</span></a></li>
<li class="right"><a href="https://www.passbolt.test/auth/login"><span>login</span></a></li>
</ul>
</div>
</nav>
</div>
</header>
<div id="content">
<div class="grid">
<div class="row">
<h2>An Internal Error Has Occurred</h2>
<p class="error">
Not Found </p>
</div>
</div>
</div>
</div>
<footer>
<div class="footer">
<ul class="footer-links">
<li><a href="https://www.passbolt.com/terms">Terms</a></li>
<li><a href="https://www.passbolt.com/credits">Credits</a></li>
<li id="version">
<a href="https://www.passbolt.com/credits" class="tooltip-left" data-tooltip="5.4.1">
<i class="fa fa-heart-o"></i>
<span class="visuallyhidden">Versions</span>
</a>
</li>
</ul>
</div>
</footer>
</div>
</body>
</html>
I try to run a healthcheck and i got this type of error :
____ __ ____
/ __ \____ _____ ____/ /_ ____ / / /_
/ /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
/ ____/ /_/ (__ |__ ) /_/ / /_/ / / /
/_/ \__,_/____/____/_.___/\____/_/\__/
Open source password manager for teams
-------------------------------------------------------------------------------
Healthcheck shell
If you want to have more information about the different checks, please take a look at the documentation: https://www.passbolt.com/docs/admin/server-maintenance/passbolt-api-status/............................................................2025-09-10 09:05:22 error: Could not describe columns on `organization_settings`
..2025-09-10 09:05:22 error: Could not describe columns on `organization_settings`
2025-09-10 09:05:22 error: [Cake\Database\Exception\DatabaseException] Could not describe columns on `metadata_keys` in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Schema/MysqlSchemaDialect.php on line 127
Caused by: [Cake\Database\Exception\QueryException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'passboltDB.metadata_keys' doesn't exist
Query: SHOW FULL COLUMNS FROM `metadata_keys` in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Driver.php on line 383
Caused by: [PDOException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'passboltDB.metadata_keys' doesn't exist in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Statement/Statement.php on line 144
2025-09-10 09:05:22 warning: Throwable - Failed to render error template `error500`. Error: Could not describe columns on `actions`
Stack Trace
: #0 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Schema/SchemaDialect.php(427): Cake\Database\Schema\MysqlSchemaDialect->describeColumns()
#1 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Schema/Collection.php(87): Cake\Database\Schema\SchemaDialect->describe()
#2 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Schema/CachedCollection.php(107): Cake\Database\Schema\Collection->describe()
#3 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/ORM/Table.php(526): Cake\Database\Schema\CachedCollection->describe()
#4 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/ORM/Query/CommonQueryTrait.php(48): Cake\ORM\Table->getSchema()
#5 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/ORM/Query/SelectQuery.php(202): Cake\ORM\Query\SelectQuery->addDefaultTypes()
#6 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/ORM/Query/QueryFactory.php(34): Cake\ORM\Query\SelectQuery->__construct()
#7 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/ORM/Table.php(1748): Cake\ORM\Query\QueryFactory->select()
#8 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/ORM/Table.php(1279): Cake\ORM\Table->selectQuery()
#9 /usr/share/php/passbolt/plugins/PassboltCe/Log/src/Model/Table/ActionsTable.php(153): Cake\ORM\Table->find()
#10 /usr/share/php/passbolt/plugins/PassboltCe/Log/src/Model/Table/ActionsTable.php(180): Passbolt\Log\Model\Table\ActionsTable->getCachedActions()
#11 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/ORM/Association.php(1168): Passbolt\Log\Model\Table\ActionsTable->findOrCreateAction()
#12 /usr/share/php/passbolt/plugins/PassboltCe/Log/src/Model/Table/ActionLogsTable.php(131): Cake\ORM\Association->__call()
#13 /usr/share/php/passbolt/plugins/PassboltCe/Log/src/Service/ActionLogs/ActionLogsCreateService.php(52): Passbolt\Log\Model\Table\ActionLogsTable->create()
#14 /usr/share/php/passbolt/plugins/PassboltCe/Log/src/Events/ActionLogsBeforeRenderListener.php(51): Passbolt\Log\Service\ActionLogs\ActionLogsCreateService->create()
#15 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Event/EventManager.php(332): Passbolt\Log\Events\ActionLogsBeforeRenderListener->logControllerAction()
#16 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Event/EventManager.php(316): Cake\Event\EventManager->_callListener()
#17 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Event/EventDispatcherTrait.php(88): Cake\Event\EventManager->dispatch()
#18 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Controller/Controller.php(698): Cake\Controller\Controller->dispatchEvent()
#19 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Error/Renderer/WebExceptionRenderer.php(432): Cake\Controller\Controller->render()
#20 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Error/Renderer/WebExceptionRenderer.php(277): Cake\Error\Renderer\WebExceptionRenderer->_outputMessage()
#21 /usr/share/php/passbolt/src/Error/AppExceptionRenderer.php(39): Cake\Error\Renderer\WebExceptionRenderer->render()
#22 /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Error/ExceptionTrap.php(240): App\Error\AppExceptionRenderer->render()
#23 [internal function]: Cake\Error\ExceptionTrap->handleException()
#24 {main}
<!DOCTYPE html>
<html class="passbolt no-js no-passboltplugin version" lang="en">
<head>
<meta charset="utf-8">
<title>Passbolt | Error</title>
<!--
____ __ ____
/ __ \____ _____ ____/ /_ ____ / / /_
/ /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
/ ____/ /_/ (__ )__ ) /_/ / /_/ / / /_
/_/ \__,_/____/____/_.___/\____/_/\__/
Open source password manager for teams
Copyright (c) Passbolt SA (https://www.passbolt.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
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
along with this program. If not, see http://www.gnu.org/licenses/.
-->
<meta name="description" content="Open source password manager for teams">
<meta name="keywords" content="Passbolt, password manager, online password manager, open source password manager">
<meta name="robots" content="noindex, nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="https://www.passbolt.test/favicon.ico" />
<link rel="icon" href="https://www.passbolt.test/favicon.svg" />
<link rel="icon" href="https://www.passbolt.test/favicon_32.png" sizes="32x32" />
<link rel="icon" href="https://www.passbolt.test/favicon_57.png" sizes="57x57" />
<link rel="icon" href="https://www.passbolt.test/favicon_76.png" sizes="76x76" />
<link rel="icon" href="https://www.passbolt.test/favicon_96.png" sizes="96x96" />
<link rel="icon" href="https://www.passbolt.test/favicon_128.png" sizes="128x128" />
<link rel="icon" href="https://www.passbolt.test/favicon_192.png" sizes="192x192" />
<link rel="icon" href="https://www.passbolt.test/favicon_228.png" sizes="228x228" />
<base href="https://www.passbolt.test/">
<link rel="stylesheet" href="https://www.passbolt.test/css/themes/default/api_main.min.css?v=5.4.1"></head>
<body spellcheck="false">
<div id="container" class="error page error-500">
<!-- header navigation -->
<header>
<div class="header first ">
<nav>
<div class="top navigation primary">
<ul>
<li class="left"><a href="https://www.passbolt.test/"><span>home</span></a></li>
<li class="right"><a href="https://www.passbolt.test/auth/login"><span>login</span></a></li>
</ul>
</div>
</nav>
</div>
</header>
<div id="content">
<div class="grid">
<div class="row">
<h2>An Internal Error Has Occurred</h2>
<p class="error">
An Internal Error Has Occurred. </p>
</div>
</div>
</div>
</div>
<footer>
<div class="footer">
<ul class="footer-links">
<li><a href="https://www.passbolt.com/terms">Terms</a></li>
<li><a href="https://www.passbolt.com/credits">Credits</a></li>
<li id="version">
<a href="https://www.passbolt.com/credits" class="tooltip-left" data-tooltip="5.4.1">
<i class="fa fa-heart-o"></i>
<span class="visuallyhidden">Versions</span>
</a>
</li>
</ul>
</div>
</footer>
</div>
</body>
</html>
I also try the command /usr/share/php/passbolt/bin/cake passbolt datacheck --hide-success-details
but I only got :
____ __ ____
/ __ \____ _____ ____/ /_ ____ / / /_
/ /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
/ ____/ /_/ (__ |__ ) /_/ / /_/ / / /
/_/ \__,_/____/____/_.___/\____/_/\__/
Open source password manager for teams
-------------------------------------------------------------------------------
Data check shell
Could not describe columns on `authentication_tokens`
Could not describe columns on `comments`
Could not describe columns on `favorites`
Could not describe columns on `gpgkeys`
Could not describe columns on `groups`
Could not describe columns on `profiles`
Could not describe columns on `resources`
Could not describe columns on `secrets`
Could not describe columns on `users`
I didn’t have any error when I run the /usr/local/bin/passbolt-configure
script and I’m using HTTP.
I suppose it may be a problem with my sql database but I couldn’t find what could it be.
I try to find someone who could have the same issue without success so thank if anyone can help me with this.
Sorry if there is misspelling