# Servers and Linux Some of you may have been in the previous networking class that I hosted. For those of you, you may skim this as you are going to be familiar with it. Compared to the previous and the future lessons, this will be more reading then following along. There will be some hands on stuff to do at the end. First we will do a very high level overview of what a server is. Server is an umbrella term. Its just a computer that serves other computers. You can have a server be a db, a game server, part of a network, a web server like we are doing, or really anything else. We specifically will be using it as a webserver using apache. Once you get the fundamentals down you will be able to expand from a simple web server to extend its functions. What you choose to do with your server is up to you. However for this tutorial it will have specific tasks. What we currently have it doing is just running your headless distro of choice. We dont have apache on it yet so the only service its running that we interact with is the ssh to interface with the device. Once we install and set up apache, the server will be handling network request. http get request will be the most of it. Once it receives a request, apache will navigate to the /var/www/html dir and return the index.html page. Any file thats within the html page will also get sent. Just like when you are coding your website any asset links will be sent along side, css, your images, etc. Once apache is done sending the files it will terminate the connection. By default i dont think apache is set to keep alive the connection, however this is a setting you will need to configure if you want to page to update without refreshing. Clearly important if you are making a service that has live features in it, like a chat service. Anyways, once the server has sent the data it will close the connection and move on to the next client that request something. Additionally if you choose to install sql onto your server it will be handling all those processes aswell in the background. These are the most common things that you server will be doing. Of course whatever you add of your own accord will change this. Now this is a linux based server. So rather then just learning about apache (which we will be installing next) you will need to learn some basics. Since we are headless to maximize resources and reduce attack surface, you will want to be comfortable in a cli. I could tell you all the basics but i would rather just [link you here](https://www.terminaltutor.com/) because im lazy. You dont need to do the whole thing if you dont want too. Itll save your progress aslong as your on the same browser so dont feel you need to do it in 1 go. This will cover the fundamentals & a bit more. The parts that I care about will be moving around the file system and playing with files. Just go over how to copy, move, delete, and make files & directories and you will be understanding enough to follow along with the rest of the steps. If you want to dive deeper msg me and ill provide the resources that im pretty sure i mentioned in the last post aswell haha. Short post, but the tutor site is what will be the hands on bit of todays lesson. Next post we will be installing and configuring apache aswell as going over its parts so you can better understand what does what. As always i can be found in the community_learning chat room. See you there!