I am self-hosting an InvoiceNinja instance in a LXC container (Ubuntu 20.04) on a private network. The WAN will be able to reach the InvoiceNinja instance by way of a HAProxy instance on the same LAN exposed to the Internet. The HAProxy instance holds the certificate and handles the 443 request to InvoiceNinja passing it on to the InvoiceNinja instance. The InvoiceNinja Apache2 server listens on port 80.
Anyway, I think I have done everything correctly but when I attempt to browse to https://invoice..com, I am greeted with this:
*/ define('LARAVEL_START', microtime(true)); /* |-------------------------------------------------------------------------- | Register The Auto Loader |-------------------------------------------------------------------------- | | Composer provides a convenient, automatically generated class loader for | our application. We just need to utilize it! We'll simply require it | into the script here so that we don't have to worry about manual | loading any of our classes later on. It feels great to relax. | */ require __DIR__.'/../vendor/autoload.php'; /* |-------------------------------------------------------------------------- | Turn On The Lights |-------------------------------------------------------------------------- | | We need to illuminate PHP development, so let us turn on the lights. | This bootstraps the framework and gets it ready for use, then it | will load up this application so that we can run it and send | the responses back to the browser and delight our users. | */ $app = require_once __DIR__.'/../bootstrap/app.php'; /* |-------------------------------------------------------------------------- | Run The Application |-------------------------------------------------------------------------- | | Once we have the application, we can handle the incoming request | through the kernel, and send the associated response back to | the client's browser allowing them to enjoy the creative | and wonderful application we have prepared for them. | */ $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); $response = $kernel->handle( $request = Illuminate\Http\Request::capture() ); $response->send(); $kernel->terminate($request, $response);
I have absolutely zero experience with Laravel so this might as well be in a foreign language (to me).
thank you for the prompt response! Unfortunately I think my install may be more incorrect than first thought. For example, there isn’t even an .env file that I can find. I failed to mention this (sorry, it was late):
I can’t even navigate to the site to start initial setup
I’ve installed v4.x in the past but lost the LXC container in a catastrophic computer failure (and on top of that, my storage pool backup was corrupted so I could not use the backup). I’d like to use v5.x but if I can’t get this working I may just try my hand at 4.x, again.
so it sounds and looks like a configuration issue with mod_php - i haven’t used apache in a long time, but from memory you need to enabled only modphp7.4 + change the directory to execute the index.php file
Yeah seems everyone prefers nginx over apache2 in the invoiceninja community (considering recent events, I don’t blame them). However I have tried it with nginx before and run into the same problem. I am truly at a loss.
At this point I am willing to beg to see someone’s setup. Ill switch to nginx. I just need to get something up and running to import my backup from my v4.x that crashed
To be clear, I am not complaining; I am very grateful for your help and the community at large. I am just frustrated. I may just call it a day and try the docker install.