There are several pieces that are needed to tie together a domain name or URL to a home IP address. As I am not certain about the specific environment in question, the following steps are somewhat generic.
1. Determine your public IP address
This can be acquired in many different ways, but I have found that the easiest is to visit a website from your home network that will do this for you. For example, cmyip.com will show this information (note that it is important to do this from the home network).
2. Link the public IP address and the domain name/URL
This step is heavily dependent on the company that the domain name was purchased from, but there should be instructions on site for doing this. At a high level, there should be a section referring to DNS settings where the IP address found in the previous step can be placed. This entry is called an "A record", which is a term that might be used on the site in this section.
3. Home Router Configurations
Now, the home router needs to be informed that incoming requests (someone else trying to access the website) need to be directed toward the server that has been setup. These steps are specific to the router; however, the general section that these settings will be under is typically referred to as "Port Forwarding". First access the router (it looks like its IP address is 192.168.1.1 from the config above). Then, there should be something called "destination" in the Port Forwarding section. The local IP address of the server should be put in this field. From the YAML config file above, this should probably be the 192.168.x.xx
.
As a side note, I would definitely recommend the second configuration from above as that will prevent the server from changing this local IP address.
#blah
network:2
renderer: networkd
ethernets:
enp0s3:
dhcp4:no
addresses:[192.168.x.xx/24]
gateway4:192.168.1.1
nameservers:
addresses:[192.168.1.1,8.8.8.8]
Then, there should be a section for a port. Starting out, port 80 for an HTTP site (no security [aka SSL]) should be sufficient.
4. Getting the webpage up
In order to actually serve (display) a webpage from the ubuntu server, a web server is required. The question is tagged with both apache2 and nginx, both sufficient web servers for the task. There are many others, but those are the ones tagged in the question.
1. Install the web server
This step is relatively simple on ubuntu and only necessary if one is not already installed.
Nginx: apt-get install nginx
Apache: apt-get install apache2
2. Place website file in appropriate directory
The appropriate directory for nginx is /var/www/html
, which is the same for apache2. Name the file index.html
. Provided that everything is hooked up, the webpage should be displayed if the domain name is visited on a browser.
Summary
The steps above are relatively generic, but hopefully provide some general guidance. Specifics on each of the steps can be found through Google or other web searches. I wish you the best.