How to get a free website

How to get a free website including email, domain, hosting and more without spending any money. Using website builders available from various companies.