I’ve been working on installing Passbolt on a MacOS server and its been going well. However, I just created my admin user per the tutorials and on the part to access the link provided, it fails with an infinite redirect loop. When trying to view just the index page, I get the same redirect loop.
I’ve verified mod_rewrite is on and working, and all other prerequisites are met.
Heres my mod_rewrite log:
[Wed Nov 15 12:17:59.964770 2017] [rewrite:trace3] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e060ea0/initial] [perdir /Library/Server/Web/Data/Sites/passbolt/] strip per-dir prefix: /Library/Server/Web/Data/Sites/passbolt/ →
[Wed Nov 15 12:17:59.964799 2017] [rewrite:trace3] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [sid#7fb69d827120][rid#7fb69e060ea0/initial] [perdir /Library/Server/Web/Data/Sites/passbolt/] applying pattern ‘^$’ to uri ‘’
[Wed Nov 15 12:17:59.964819 2017] [rewrite:trace2] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e060ea0/initial] [perdir /Library/Server/Web/Data/Sites/passbolt/] rewrite ‘’ → ‘app/webroot/’
[Wed Nov 15 12:17:59.964836 2017] [rewrite:trace3] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e060ea0/initial] [perdir /Library/Server/Web/Data/Sites/passbolt/] add per-dir prefix: app/webroot/ → /Library/Server/Web/Data/Sites/passbolt/app/webroot/
[Wed Nov 15 12:17:59.964855 2017] [rewrite:trace2] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e060ea0/initial] [perdir /Library/Server/Web/Data/Sites/passbolt/] strip document_root prefix: /Library/Server/Web/Data/Sites/passbolt/app/webroot/ → /app/webroot/
[Wed Nov 15 12:17:59.964871 2017] [rewrite:trace1] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e060ea0/initial] [perdir /Library/Server/Web/Data/Sites/passbolt/] internal redirect with /app/webroot/ [INTERNAL REDIRECT]
[Wed Nov 15 12:17:59.965049 2017] [rewrite:trace3] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e04e7d8/initial/redir#1] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] strip per-dir prefix: /Library/Server/Web/Data/Sites/passbolt/app/webroot/ →
[Wed Nov 15 12:17:59.965076 2017] [rewrite:trace3] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [sid#7fb69d827120][rid#7fb69e04e7d8/initial/redir#1] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] applying pattern ‘^’ to uri ‘’
[Wed Nov 15 12:17:59.965102 2017] [rewrite:trace1] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e04e7d8/initial/redir#1] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] pass through /Library/Server/Web/Data/Sites/passbolt/app/webroot/
[Wed Nov 15 12:17:59.965171 2017] [rewrite:trace3] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e064ea0/subreq] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] strip per-dir prefix: /Library/Server/Web/Data/Sites/passbolt/app/webroot/index.html → index.html
[Wed Nov 15 12:17:59.965191 2017] [rewrite:trace3] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e064ea0/subreq] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] applying pattern ‘^’ to uri ‘index.html’
[Wed Nov 15 12:17:59.965214 2017] [rewrite:trace2] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e064ea0/subreq] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] rewrite ‘index.html’ → ‘index.php’
[Wed Nov 15 12:17:59.965231 2017] [rewrite:trace3] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [sid#7fb69d827120][rid#7fb69e064ea0/subreq] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] add per-dir prefix: index.php → /Library/Server/Web/Data/Sites/passbolt/app/webroot/index.php
[Wed Nov 15 12:17:59.965248 2017] [rewrite:trace2] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e064ea0/subreq] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] strip document_root prefix: /Library/Server/Web/Data/Sites/passbolt/app/webroot/index.php → /app/webroot/index.php
[Wed Nov 15 12:17:59.965265 2017] [rewrite:trace1] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e064ea0/subreq] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] internal redirect with /app/webroot/index.php [INTERNAL REDIRECT]
[Wed Nov 15 12:17:59.965310 2017] [rewrite:trace3] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [sid#7fb69d827120][rid#7fb69e062ea0/subreq] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] strip per-dir prefix: /Library/Server/Web/Data/Sites/passbolt/app/webroot/index.php → index.php
[Wed Nov 15 12:17:59.965331 2017] [rewrite:trace3] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e062ea0/subreq] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] applying pattern ‘^’ to uri ‘index.php’
[Wed Nov 15 12:17:59.965358 2017] [rewrite:trace1] [pid 53274] mod_rewrite.c(480): [client 127.0.0.1:56333] 127.0.0.1 - - [/sid#7fb69d827120][rid#7fb69e062ea0/subreq] [perdir /Library/Server/Web/Data/Sites/passbolt/app/webroot/] pass through /Library/Server/Web/Data/Sites/passbolt/app/webroot/index.php
Healthcheck shell
Environment
[PASS] PHP version 7.1.7
[PASS] PCRE compiled with unicode support
[PASS] The temporary directory and its content are writable
[PASS] The public image directory and its content are writable
Config files
[PASS] The core config file is present
[PASS] The database config file is present
[PASS] The email config file is present
[PASS] The application config file is present
Core config
[PASS] Debug mode is off.
[PASS] Cache is working.
[PASS] Unique value set for security.salt
[PASS] Unique value set for security.cipherSeed
[PASS] Full base url is set to https://passbolt.monigle.com/
[PASS] App.fullBaseUrl validation OK.
[FAIL] Could not reach the /healthcheck/status with the url specified in App.fullBaseUrl
[HELP] Check that the domain name is correct in app/Config/core.php
[HELP] Check the network settings
SSL Certificate
[FAIL] SSL peer certificate does not validate
[FAIL] Hostname does not match when validating certificates.
[WARN] Using a self-signed certificate
Database
[PASS] Configured to use a supported database backend
[PASS] The application is able to connect to the database
[PASS] Not using a prefix for database tables
[PASS] 20 tables found
[PASS] Some default content is present
[PASS] The database schema up to date.
GPG Configuration
[PASS] PHP GPG Module is installed and loaded
[PASS] The server gpg key is not the default one
[PASS] The environment variable GNUPGHOME is set to /Users/macadmin/.gnupg
[PASS] The directory /Users/macadmin/.gnupg containing the keyring is writable by the user the webserver is running as.
[PASS] The public key file is defined in app/config.php and readable.
[PASS] The private key file is defined in app/config.php and readable.
[PASS] The server key fingerprint matches the one defined in app/config.php.
[PASS] The server key defined in the app/Config.php is in the keyring.
[PASS] There is a valid email id defined for the server key.
[PASS] The public key can be used to encrypt and sign a message.
[PASS] The private key can be used to decrypt a message.
Application configuration
[PASS] Using latest passbolt version (1.6.5)
[PASS] Passbolt is configured to force SSL use
[PASS] App.fullBaseUrl is set to HTTPS
[PASS] Selenium API endpoints are disabled.
[PASS] Search engine robots are told not to index content.
[PASS] Registration is closed, only administrators can add users.
[PASS] Serving the compiled version of the javascript app
[PASS] All email notifications will be sent.
Development Tools (optional)
[PASS] Phpunit is installed
[PASS] Phpunit version is 3.7.38
3 error(s) found. Hang in there!
I’ve tried the setup from scratch a few times and still get the redirect loop. My error_log is clear of anything except the rewrite logging and the passbolt error log doesn’t exist, so I assume it never got to error out.
I’ve run htaccess tests and by visiting the domain I have set (passbolt.monigle.url in the test it eventually gives an output url of passbolt.monigle.url/index.php after stripping everything else from the url away.
But my browser never shows this url in the bar, gives me the 301 error and thats it. Could it be the passthrough line that is causing it to fail?
I’ve put a phpinfo.php file in the app directory and as long as the .htaccess file exists in that directory, I get the 301 as expected, but soon as I remove and access the phpinfo, it works fine.
So its definitely something with the url rewriting.
Using:
Apache 2.4.7
PHP 7.1.8
Mysql 5.7.2
Thanks for your help
Checklist
I have read intro post: About the Installation Issues category
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