Rationale
As I keep making guides and discovering new and better ways to do things, other posts get lost in the eco, so I want to make sure I list here all the ways I came through to build some web app ecosystem.
Where to host a website?
There are a lot... of options, from a raspberry pi (I saw an image of this and I thought it was funny, look below
there is nothing with that cluster, it's just super funny to me, it looks nice) to bare bone metals server or a simple web hosting with 1 click play.
As knowledge advances, you want to do things more efficient right? I use VPS to host my servers, it gives me full control over what I can do, so in this article I'll cover only medium-advance ways of doing things, I will not cover here 1 click done ways because honestly... there is lot going on behind that you don't know what's going on.
Tutorials
How to create a website
- Simple static web
- Create a Ghost blog - w/ docker or standard way (see also how to run more than 1 ghost blog)
Git
VPS Setup
Backup
What tools can I use?
The choices below are based on my opinion.
VPS
- Now days I only use AWS free Tier (system is kind of advanced for a beginner tho) because it gives me so much control and has everything integrated...
- DigitalOcean (I started learning Dev Ops with this one, I like it's simple interface)
CDN & DNS
- Cloudflare (very convinient if you want to secure your site against DDoS attacks, cash your site for faster loading, easier domain managment, etc.)
- AWS
- Digital Ocean DNS w/ GoDaddy
Domains
- Cloudflare is the option I'm currently using, it's very flexible and it's already integrated with the CDN so it works great.
- I've always used GoDaddy but honestly the UI now looks ugly and boring, also the renewal cost is very high, that's why I switched to Cloudflare. Here are some coupons btw.
Reverse Proxy & SSL
- Nginx as reverse proxy
- SSL with Let's Encrypt
Security
- Ubuntu 16.04 Firewall
- Perform Security Audits With Lynis
- Block SSH attempts by allowing only certain IPs to connect (AWS)