When I first started this blog, I was just dipping my toes back into the world of C++. Before that, my experience with it was mostly academic, and after struggling through a course with a particularly poor professor I swore off it in favor of VB.NET. No, I never did forgive myself for that decision, but it ultimately helped me learn to appreciate the importance and relevance of C++. And after tinkering with systems that use C++ exclusively, I’ve come to appreciate it even more.
Congratulations, you’ve made it this far! You have a server powered by open-source software that you can access from anywhere in the world, safely and securely. Now that you have a solid foundation in Linux and networking, you can start playing with different applications and services. Our final post will look at some tips for making the most out of your new server.
At this point, you should be able to access your server through your local network. You won’t be able to access it from the Internet, but don’t worry about that just yet. There are a couple of important security steps before your server goes public that we’ll get to later. In the meantime, let’s focus on the real reason you’re here: hosting your own file sync and music streaming services locally.
As a way to keep myself up-to-date with trends in networking and web design (and as a way to keep myself occupied on really boring days), I run a private server. Many of the services we take for granted – email, online calendars, address books, chat programs, and media streaming to name a few – are provided by companies in exchange for access to the information used within them. In networking terms, this is called the client-server model: the client (your web browser, smartphone, etc.) makes a request to a server, which is run by a service provider such as Google, Apple, or Microsoft.
While the term “free software” seems self-explanatory, there’s a lot of confusion surrounding the actual definition and usage of “free.” Before we define it, it’s important to know that free software is usually used interchangeably with open source software. Free software is exactly what it says on the tin; you can download it and run it without having to pay the owner a dime. Although the software is free to use, it may contain restrictions that make it difficult to modify, distribute, or resell. Open source software eliminates these restrictions by not only allowing the user the download the software, but also to study and change the source code and redistribute the modified program. The Latin words “gratis” and “libre” are often used in place of “free” and “open source” to prevent ambiguity.