Everything began with the senior project with I at the University of Kansas. Our project, called Betsmart, is a betting webpage that allows users to create an account, view statistics of any NFL game, and place bets on upcoming games. I was responsible for creating and managing the project’s database and, with the help of AWS, I set up a cloud MySQL server. After completing my part of the project, I had some time to consider how to bring our project online. At the time, I had no idea how to do it, but I did some research and discovered that I needed a web server to host the project and a domain or address to point to the server.
I had the option to create a web server on the cloud, but I wanted to learn, so I decided to create a DIY server at home. I ended up using my old laptop as the server. After installing Linux mint and nginx, my old laptop was able to host the project. The project was “online” on my local network, but the next problem was how to allow users from the internet to access this server.
I obtained a free domain with freenom.com and set the domain to point directly to my external IP address. I used port forwarding to open a port to the web server. In retrospect, I learned a lot from the process, but also created many flaws. I exposed my IP address and the traffic was not encrypted. As a result, any web browser gave warnings not to trust my site.
That was when I learned about the HTTPS protocol and SSL certificate to encrypt the traffic. I found that Cloudflare was the best option at the time for what I needed. I created an account with Cloudflare and, after many steps to configure the safe protocol, not only did it encrypt the traffic between the internet and my web server, but it also hid my IP address. All of this made my server much more secure than ever before.
However, I was naive enough to publish our unfinished project to the world, and our site ended up being flagged as a dangerous webpage by Google. So, I took everything down.
Getting lost is when one discovers new roads. Throughout the process, I was exposed to the fundamental processes of how a webpage works, some networking and cybersecurity, and servers. So, I planned on building a solid server as a hypervisor and running virtual machines and containers on it. With that server, I could create many different servers and try out many different operating systems. The potential is unlimited.
TODO: update + pictures