For the past 5 or 6 years I have run my own Linux and Windows servers. I started out with them in my house in Portland when I first got DSL. When I moved to Texas I had both servers in a data center. Then I moved them to my residence in Austin. Now I am in the process of moving my personal and client web sites to a real hosting service, Site Ground.
I have learned a lot over the years about Linux and Windows by running my own servers. The trade-offs of doing this are many but there have been some benefits which I hate to part with. What got me started in running my own servers was that I got tired of my ISP in Portland telling me that I had to pay more money for disk space for my web site. I have a large archive of photos that I just like having online. I also liked being able to configure what ever I wanted on the servers.
There are pit-falls in running your own servers. When something breaks and you see the famous error See Your Administrator, then that means you! Fixing my mistakes is what made me learn under fire. There is nothing like learning DNS and SendMail when you are trying to get your resume out to a client.
I have learned that there is a big world wide community of folks that support open-source software. It is this community that I have learned so much from. I had a friend tell me that everything you want to learn about the Internet you can learn from the Internet. I have found thsi to be true. I have learned all the major Internet server technologies by running my own open-source server.