New User, very confused about domain name

Hello Everyone

New user, and not an IT expert, but with some Linux knowledge.

Using LInux Mint 20.1. Installed LAMP on my laptop, which is my main computer. Installed IN. Going through the process of post-install, setting up database name, database user, etc.

I will not be logging in externally. I will not be logging in over the internet. I am not running a server publicly accessible from the internet. I just want to use IN in a client server way on my laptop.

So I’m stuck, First I don’t understand why I need NGINX? Do I?

Second, and more confusing, Creating files like invoiceninja dot conf
Wants server name, not sure if that’s just my host name. Hostname is HarryLaptop, How do I fill in these fields?:

<VirtualHost *:80>
ServerAdmin admin at example.com
DocumentRoot /var/www/html/invoiceninja/public
ServerName example dot com
ServerAlias www.example dot com

So basically, confused about how to access my own installation from the browser locally.

Hi,

NGINX is a web server, it’s needed to run the app.

The app is designed to be run on a server, not on a local machine. It may be possible but I don’t have any examples to provide. Maybe someone in the community can help?

I am using Apache2. Is that not a web server? Why do I need NGINX?

You don’t need to use NGINX, you should be able to use Apache instead.

There are configuration examples for apache around. You should not really need a ServerName to configure your web server, but IN wants to know on which name its expected to answer. You could use http://localhost or http://127.0.0.1 The setup you describe sounds like it will have several shortcomings:

  • Do you intend to regularly update IN as well as Linux and the LAMP stack?
  • Do you intend to use https to access your IN?
  • If you do: Since your server is not connected to the Internet, handling certificate updates will be difficult, especially since you are also lacking a hostname properly entered into DNS. Using a self-signed certificate will generate lots of other issues as well.
  • If you don’t: You are avoiding the issues IN has with using self-signed certificates, but your installation will be inherently insecure, and you should make sure you really never connect it to the Internet. But then: How are you ever going to update your IN, Linux, and LAMP stack?
  • IN wants to send mail. I don’t see how this is going to work.

The purpose of IN is to provide a multi-user, remotely accessible invoicing system. The use case you describe doesn’t really sound like that.

All good points. As I said, I am new at this. Funny, it’s not easy to find an invoicing program that just runs locally, not on a client-server basis for linux.

Anyway, may I ask one more question. I have a self-hosted website for my business, landlordtraining.ca. It includes Softilicious apps and specifically Invoice Ninja.

Will that work, running Invoice Ninja on my same server space? In other words, where would I install it? My website is in installed in /home/username/ public_html.

Ok, that would mean you are operating your IN instance connected to the Internet, and you you need to properly secure it.

Since you seem to have access over your DNS, I wouldn’t install it directly under landlordtraining.ca or www.landlordtraining.ca but create a separate hostname for it, maybe in.landlordtraining.ca. It can point to the same IP, that’s ok. Via SNI your apache or nginx config can identify which web presence it should serve. The server section just needs to point to the right directory. You are basically running more than one web site on a server.

I don’t have experience in Softaculous.