How do I make a website?

I’m sorry, I’m new to these types of machines.

What do should I download? What should I be aware of? I’m looking to somewhat simply put, host a website using my own internet.

I know that I will have to be aware of SSL certification and buying a domain name and such.

Hi, here is good information for installing a LAMP Server on Ubuntu, How To install LAMP Stack on Ubuntu 20.04 LTS (Focal Fossa) - LinuxRangers
Best of success with the installation.

Rafael

For anyone looking to do this, I wouldn’t recommend starting with a full LAMP stack unless it’s necessary. I also wouldn’t start with trying to run a brand new 22.04LTS version of Ubuntu. Start with 18.04LTS and a simple Nginx implementation. Do server security hardening steps including the TCP/IP stack, installing an SSH key, enabling SSH login on a non-standard port above 16556 and hardening sshd_config and sysctl.conf. Login to your device remotely on your local network (use it directly if you must)… then you can start on the website.

Buy a domain from Google for $5. Configure Nginx, including proper permissions. Configure Google Domains with a DNS A Name pointing at the external IP address of your home router. Google “What’s my IP?” from a machine connected to your home router to get it and be sure you don’t have a VPN enabled when you do or you’ll get the VPN’s IP. Enable port forwarding on your home router to the internal IP of the machine hosting that will host the website, forward ports 80 and 443 TCP/UDP (for HTTP and HTTPS). When all this is done… Install your SSL Certificate and configure to Redirect All Traffic to 443 HTTPS.

Put your domain name into your favorite browser and that should be it. Try it from devices not connected to your home router, like a cellphone with wifi off.
To troubleshoot, use:
sudo nginx -t
sudo systemctl status nginx
or
sudo journalctl -xe
You can highlight and google the errors in the journal, but everything should work. When it loads, head over to a security audit @ SSLLabs ssllabs.com/ssltest Adjust and retest as needed.

Have fun and enjoy!!!

Links and Commands:
Security Hardening and SSH Configuration
medium .com/@BaneBiddix/how-to-harden-your-ubuntu-18-04-server-ffc4b6658fe7

TCP Stack Hardening
geektnt .com/sysctl-conf-hardening.html

File and Directory Permissions for a Server
askubuntu .com/questions/1210887/allow-web-users-to-write-files-into-folder

Google Domains
domains.google .com

Installing and Configuring Nginx
devanswers .co/installing-nginx-ubuntu-18-04-multiple-domains
If you get to the point you want a full stack, there are more instructions following this article for that

SSL Cert Installation for HTTPS
devanswers .co/lets-encrypt-ssl-cert-nginx-ubuntu-18-04

Domain Security Audit
www.ssllabs .com/ssltest

Most commands accept --help as a parameter:
ifconfig #get internal IP addresses and DHCP information
netstat -an #active connection information
ping google.com #exit with ctrl-c