I'd like to have my own server at home sorta like a home AWS.
How to set up one and make it available to anyone over the Internet? What tech specs should I buy (RAM, CPU, # of cores, operating system, etc.)?
How much does it cost to keep one running all the time?
I think you should take baby-steps and focus first on just getting something running for you to use. Maybe first experiment with configuring an application you'd like in a virtual machine before you spend money on hardware too.