Apache2 Blank page after installing from source

Checklist
[ x ] I have read intro post: About the Installation Issues category
[ x ] I have read the tutorials, help and searched for similar issues
[ x ] I provide relevant information about my server (component names and versions, etc.)
Server: Ubuntu 22.04
Passbolt: 3.8.1
[ x ] I provide a copy of my logs and healthcheck
[ x ] I describe the steps I have taken to trouble shoot the problem
[ x ] I describe the steps on how to reproduce the issue

After a successful installation following the install from source (ignoring the email, and nginx steps)

User saved successfully.
To start registration follow the link provided in your mailbox or here:
https://www.passbolt.domain.com/setup/install/uuid/uuid
Passbolt installation success! Enjoy! ☮

I go to the website an it is blank. and inspecting elements there seems to be quite a few errors

Health check


     ____                  __          ____
    / __ \____  _____ ____/ /_  ____  / / /_
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /
 /_/    \__,_/____/____/_.___/\____/_/\__/

 Open source password manager for teams
-------------------------------------------------------------------------------
 Healthcheck shell
-------------------------------------------------------------------------------

 Environment

 [PASS] PHP version 8.1.2-1ubuntu2.8.
 [PASS] PCRE compiled with unicode support.
 [PASS] The temporary directory and its content are writable and not executable.
 [PASS] The logs directory and its content are writable.
 [PASS] GD or Imagick extension is installed.
 [PASS] Intl extension is installed.
 [PASS] Mbstring extension is installed.

 Config files

 [PASS] The application config file is present
 [PASS] The passbolt config file is present

 Core config

 [PASS] Debug mode is off.
 [PASS] Cache is working.
 [PASS] Unique value set for security.salt
 [PASS] Full base url is set to https://www.passbolt.domain.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 config/passbolt.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
 [HELP] Check https://help.passbolt.com/faq/hosting/troubleshoot-ssl
 [HELP] fopen(): Unable to locate peer certificate CN
fopen(): Failed to enable crypto
fopen(https://www.passbolt.domain.com/healthcheck/status.json): Failed to open stream: operation failed

 Database

 [PASS] The application is able to connect to the database
 [PASS] 26 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 environment variable GNUPGHOME is set to /var/www/.gnupg.
 [PASS] The directory /var/www/.gnupg containing the keyring is writable by the webserver user.
 [PASS] The server OpenPGP key is not the default one
 [PASS] The public key file is defined in config/passbolt.php and readable.
 [PASS] The private key file is defined in config/passbolt.php and readable.
 [PASS] The server key fingerprint matches the one defined in config/passbolt.php.
 [PASS] The server public key defined in the config/passbolt.php (or environment variables) 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 a message.
 [PASS] The private key can be used to sign a message.
 [PASS] The public and private keys can be used to encrypt and sign a message.
 [PASS] The private key can be used to decrypt a message.
 [PASS] The private key can be used to decrypt and verify a message.
 [PASS] The public key can be used to verify a signature.
 [PASS] The server public key format is Gopengpg compatible.
 [PASS] The server private key format is Gopengpg compatible.

 Application configuration

 [PASS] Using latest passbolt version (3.8.1).
 [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.

 JWT Authentication

 [PASS] The JWT Authentication plugin is enabled
 [PASS] The /var/www/passbolt/config/jwt/ directory is not writable.
 [PASS] A valid JWT key pair was found

 SMTP Settings

 [PASS] The SMTP Settings plugin is enabled.
 [PASS] SMTP Settings coherent. You may send a test email to validate them.
 [WARN] The SMTP Settings source is: /var/www/passbolt/config/passbolt.php.
 [HELP] It is recommended to set the SMTP Settings in the database through the administration section.

 [FAIL] 3 error(s) found. Hang in there!

My Vhosts SSL

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
        ServerAdmin togtja@gmail.com
        ServerName passbolt.domain.com
        DocumentRoot /var/www/passbolt/webroot

        ErrorLog ${APACHE_LOG_DIR}/passbolt_error.log
        CustomLog ${APACHE_LOG_DIR}/passbolt_access.log combined

        <FilesMatch "\.(php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>

        <Directory /var/www/passbolt/webroot>
            Options FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/passbolt.domain.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/passbolt.domain.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf

</VirtualHost>
</IfModule>

Maybe mod_rewrite is not enabled

sudo a2enmod rewrite

Restart apache2 after

sudo /etc/init.d/apache2 restart

Thank you for the response!

I ran sudo a2enmod rewrite and got Module rewrite already enabled
So it seems that it was already enabled

There was some discussion on this thread that included some review of the .htaccess file and contents, maybe it will help. Js libraries not loading with Apache - #9 by JamesBond

Thank you for you response.

I read that discussion, and I was gonna do the changes that JamesBond suggested to the .htaccess file. ad this discussion: Passbolt 3 CE - Apache configuration - #11 by farfade

However, it seems that those changes comes with passbolt, at least the source install.
As my .haccess in the webroot folder ./var/www/passbolt/webroot/:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

I tried to also add:
RewriteRule ^(.*)$ index.php (For sanity sake), and that also did not help.

I pulled from master and restarted the apache2 server, and now it looks like this:
image

So I guess in some way it is progress?
I will be looking further into this, but I would love if any of you have some good tips or idea on what might be wrong

Hey @togtja if you just pulled from master on an already running instance you will probably need to run migrations and clear the cache:

sudo -H -u www-data bash -c "./bin/cake passbolt migrate --backup"

and then

sudo -H -u www-data bash -c "./bin/cake cache clear_all"

This is from the from source update instructions page

I finally figured it out.
I changed the base url from: https://www.passbolt.domain.com to https://passbolt.domain.com easy as that, and suddenly everything worked!