Installing programs is something most people take for granted. How could it be easier – you simply download an installation file, run it, answer a few prompts, and before you know it you have a fresh new application ready to go. This is fine for a single-user system like a laptop or desktop, but what happens when you want to share that program with someone else, or migrate it – along with its configuration and settings – to a different computer? What if you wanted to do a clean reinstall without having to hunt for scattered or leftover files? Better yet, what if you could run the application in a completely self-contained environment without it affecting your main system? Docker provides a unique way of accomplishing this, and the technology behind it is quickly gaining traction. Continue reading
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.
Now that you know how to use your shiny new Linux server, it’s time to make it accessible over the network. After all, the client-server model mentioned earlier doesn’t work very well if the client and the server are the same machine. This part of the guide explains how to set up your server to communicate safely with other devices.
You scoured through old computer parts to put together a server, and you trudged through the process of installing Linux. Now you’re looking at an interface reminiscent of a B-rated hacking movie from the mid 1980’s. This part of the private server guide teaches you the basics of using Linux and interacting with the command-line.
You have a big box full of complicated-looking electronics, a monitor, a keyboard, and cords going all over the place. Now what? If hardware can be considered the body of the computer, then the operating system can be considered its soul. The operating system acts as an interpreter between you and the hardware, translating your actions into instructions that the machinery can understand. It does everything from reading the keys you type to displaying text on the screen. More importantly, it’s what turns a pile of metal and silicone into what we consider a modern computer.
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.