Forum

Ask, reply and learn. Join the community of Akaunting.

New Discussion

Issue installing Xero app

Xavier Xavier   ( User )

Commented 6 months ago

I'm trialling out Akaunting on my self-hosted server.
It has been installed and appears to function correctly.
However, I cannot install the Xero app. When I click on it, it starts and hangs at 25% downloading.
Is there an issue specifically with the Xero app? I have tried other free apps and they all download and install without issues.

Xavier Xavier   ( User )

Commented 6 months ago

I think the inability to download was linked to the built-in firewall. I disabled the firewall in the .env file and downloading and installing the plugin then worked.

Xavier Walker   ( User )

Commented 6 months ago

A further update: after installing the app, I realised it doesn't actually work. This might be because there's a comment about having the double-entry accounting app which I don't have. But it's not explicitly mentioned if this is a prerequisite to using the Xero app...

As a second option, I signed up for a trial on the cloud platform. First app I want to install is the Xero app. It doesn't install!

On my cloud platform, it goes up to 100% in the installation process and then just hangs there. I have tried other apps, they install OK.

As a trial user, it seems impossible to get any support - it's only available to people who have already purchased. The dedicated support is also a payable add-on.

It's a shame as this software looked like a nice alternative to Xero but having everything including support behind a paywall without any apparent support before buying during a trial period is a turn-off :(

Sam Sam   ( User )

Commented 1 week ago

Update - Root Cause Found

I managed to resolve this on my self-hosted installation, so I thought I'd post the solution in case it helps someone else.

The problem was not Cloudflare, my reverse proxy, Docker, or my Linux firewall.

After tracing the request through Laravel, I found that the request to:

POST /1/apps/download

was being blocked by Akaunting's built-in Laravel Firewall before it reached the download controller.

Checking the firewall_logs table showed every failed installation was being detected as an RFI (Remote File Inclusion) attack:

middleware: rfi
url: /1/apps/download

Temporarily disabling only the RFI middleware allowed the installation to complete immediately.

I added the following to my .env file:

FIREWALL_MIDDLEWARE_RFI_ENABLED=false

Then cleared the application cache:

php artisan optimize:clear

After that, the Xero app installed successfully without any other changes.

It appears to be a false positive in the built-in Laravel Firewall, where the Marketplace download request is incorrectly detected as an RFI attack.

I have contacted the developers and hopefully this can be fixed in a future release by excluding the Marketplace download route from the RFI middleware rather than requiring users to disable it.

Hopefully this helps anyone else who finds the installer hanging at 25% with a HTTP 403 on /apps/download.

Please login or register to leave a response.

Showing 1 to 4 of 4 discussions