I’ve nearly got Passbolt up and running but I’ve ran into an issue now where the Javascript and CSS content isn’t loading. When I navigate directly to a file, such as /css/login.min.css, I get a Not Found error. I’m not sure if this is a rewrite issue. As far as I can tell, my nginx configuration matches URL Rewiting page. My healthcheck shows an error about the certificate but I am using a locally-trusted CA for internal certificates.
app/tmp/logs/error.log
Request URL: /js/lib/steal/steal.production.js
Stack Trace:
#0 /var/www/html/passbolt/app/webroot/index.php(110): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 /var/www/html/passbolt/index.php(41): require('/var/www/html/p...')
#2 {main}
2018-01-10 15:57:48 Error: [MissingControllerException] Controller class CssController could not be found.
Exception Attributes: array (
'class' => 'CssController',
'plugin' => NULL,
)
Request URL: /css/login.min.css
Stack Trace:
#0 /var/www/html/passbolt/app/webroot/index.php(110): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 /var/www/html/passbolt/index.php(41): require('/var/www/html/p...')
#2 {main}
2018-01-10 15:57:48 Error: [MissingControllerException] Controller class CssController could not be found.
Exception Attributes: array (
'class' => 'CssController',
'plugin' => NULL,
)
Request URL: /css/main.min.css
Stack Trace:
#0 /var/www/html/passbolt/app/webroot/index.php(110): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 /var/www/html/passbolt/index.php(41): require('/var/www/html/p...')
#2 {main}
2018-01-10 15:57:48 Error: [MissingControllerException] Controller class JsController could not be found.
Exception Attributes: array (
'class' => 'JsController',
'plugin' => NULL,
)
Request URL: /js/lib/modernizr/modernizr-custom.min.js
Stack Trace:
#0 /var/www/html/passbolt/app/webroot/index.php(110): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 /var/www/html/passbolt/index.php(41): require('/var/www/html/p...')
#2 {main}
Healthcheck
---------------------------------------------------------------
____ __ ____
/ __ \____ _____ ____/ /_ ____ / / /_
/ /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
/ ____/ /_/ (__ |__ ) /_/ / /_/ / / /
/_/ \__,_/____/____/_.___/\____/_/\__/
Open source password manager for teams
---------------------------------------------------------------
Healthcheck shell
---------------------------------------------------------------
Environment
[PASS] PHP version 7.0.25
[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.##############
[PASS] App.fullBaseUrl validation OK.
[PASS] /healthcheck/status is reachable.
SSL Certificate
[FAIL] SSL peer certificate does not validate
[FAIL] Hostname does not match when validating certificates.
[WARN] Using a self-signed certificate
[HELP] stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
stream_socket_client(): Failed to enable crypto
stream_socket_client(): unable to connect to ssl://passbolt.##############:443 (Unknown error)
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 /usr/share/httpd/.gnupg
[PASS] The directory /usr/share/httpd/.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
2 error(s) found. Hang in there!
/etc/nginx/conf.d/passbolt.conf
server {
listen 80;
server_name passbolt.##############;
location / {
rewrite ^(.*) https://$server_name$1 permanent;
}
}
server {
listen 443 ssl;
server_name passbolt.##############;
root /var/www/html/passbolt/;
index index.php;
ssl_certificate /etc/nginx/certs/passbolt.crt;
ssl_certificate_key /etc/nginx/certs/passbolt.key;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Server details
- CentOS 7.4.1708
- MariaDB 5.5.56
- Nginx 1.12.2
- PHP 7.0.25
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.)
[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