There are many ways of serving web pages from Raspberry Pi. One of the ways is to install Apache webserver software. This is still a standard solution for most of the purposes. These things require quite some performance, and this is not always an optimal choice. If you need a simple web server for your home project that would efficiently work with GPIO you could try a Python web server.
Python web server relies on flask – an extension that provides web microframework. It allows building and rendering webpages with few lines of code. Sankar has written a short tutorial on how to start with a simple static webpage from Raspberry Pi. From there you can move on with more advanced pages that include dynamic content and so on.