Shared Hosting install - Helper v4.5.19

Hi All,

I am very new to both Invoice ninja and Laravel.

So far Invoice Ninja has exceeded my expectations… What a product!

My goal was to install on shared hosting using Apache.

So what do I have?

Shared hosting subdomain
Configured on Cloudflare recomended not sure if this will work without cloudflare

My shared hosting has php proc_open disabled so normal install will not work.

With SSL access to shared hosting - Composer is available but no npm.

Here is how i got it working:

1)Create a digital ocean account.

You will get a bonus as will I, if you use the referral link DigitalOcean – The developer cloud

  1. Create a small droplet and use the marketplace to install an Invoice Ninja droplet

  2. Once installed go to your droplet via it’s IP address in your browser.

  3. Go through the invoice ninja install. DO NOT Force HTTPS

  4. Ssh to your droplet

  5. You will find the mysql password in .mysqlpassword. - or something like that

  6. sudo apt-get install zip

  7. Mysql dump the ninja database

  8. Find the www root directory of the ninja app and zip it all (about 160Mb after zip)

  9. Download both the zip and the sql dump

  10. Done with the droplet

  11. Go to your shared hosting account and ftp to the desired destination for you Invoice ninja web site

  12. Clean put any unnecessary files

  13. Upload zip and decompress

  14. Go to your control panel and create your ninja database (can be any name - and user same)

  15. Go to phpmyadmin and import the sql from the droplet into your new database.

  16. Go to file manager and edit the .env in the root folder to reflect your new database and user credentials - at this point do not force https

  17. Make sure the .env file is left at permissions 664

You should be able to go to your domain in a browser and log into invoice ninja and finish installation

Optional but preferred:

  1. If your shared domain/subdomain is https enabled and you wish to enforce https
    Go to your cloudflare account and enforce strict https for this domain
  2. edit .env again and set enforce ssl to true

I hopes this helps

If this would help you please consider using my digital ocean referral.

PS Android app works also with this (just remember the Secret is also in the .env file

1 Like