I want to install the Laravel PHP-app invoiceninja 5 into a subdirectory, e.g. https://www.example.com/invoiceninja5/
.
However I can’t get the nginx-configuration to work. Here’s my latest of many attempt: invoiceninja5_ynh/nginx.conf at 897af1109492b3534770640244e2b017b2fee02c · YunoHost-Apps/invoiceninja5_ynh · GitHub
#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
location ^~ __PATH__/ {
# Path to source
alias __FINALPATH__/public/;
try_files $uri $uri/ index.php?q=;
if (!-e $request_filename) {
rewrite ^(.+)$ __PATH__/index.php?q= last;
}
# Add headers to serve security related headers
more_set_headers "Strict-Transport-Security: max-age=15768000; includeSubDomains; preload;";
more_set_headers "X-Content-Type-Options: nosniff";
more_set_headers "X-XSS-Protection: 1; mode=block";
more_set_headers "X-Robots-Tag: none";
more_set_headers "X-Download-Options: noopen";
more_set_headers "X-Permitted-Cross-Domain-Policies: none";
more_set_headers "Referrer-Policy: no-referrer";
index index.php index.html index.htm;
location ~ ^__PATH__/index\.php(/.*|)$ {
fastcgi_split_path_info ^(.+?\.php)(/.*|)$;
set $path_info $fastcgi_path_info;
fastcgi_pass unix:/var/run/php/php__PHPVERSION__-fpm-__NAME__.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
# Adding the cache control header for js and css files
location ~ \.(?:css|js|woff2?|svg|gif)$ {
try_files $uri __PATH__/index.php$request_uri;
more_set_headers "Cache-Control: public, max-age=15778463";
# Add headers to serve security related headers
more_set_headers "Strict-Transport-Security: max-age=15768000";
more_set_headers "X-Content-Type-Options: nosniff";
more_set_headers "X-XSS-Protection: 1; mode=block";
more_set_headers "X-Robots-Tag: none";
more_set_headers "X-Download-Options: noopen";
more_set_headers "X-Permitted-Cross-Domain-Policies: none";
more_set_headers "Referrer-Policy: no-referrer";
# Optional: Don't log access to assets
access_log off;
}
location ~* \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri __FINALPATH__/public/index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
# Include SSOWAT user panel.
include conf.d/yunohost_panel.conf.inc;
}
Here’s the accompanying PR if you want to try it yourself: GitHub - YunoHost-Apps/invoiceninja5_ynh at 5.3.1
Here’s the command to install it:
sudo yunohost app install https://github.com/YunoHost-Apps/invoiceninja5_ynh/tree/5.3.1 -f -a "domain=YOURDOMAIN&path=/invoiceninja5&admin=YOURADMIN&language=en&is_public=1&password=password"
The problem is that https://www.example.com/invoiceninja5/
should display the login-page, instead it displays a 404-error from Laravel. This is probably because the app is available at https://www.example.com/invoiceninja5/index.php
, but the redirect/removal of/to index.php doesn’t seem to work.
Can anyone help me here?