1
# Self hosting and linux server fundamentals with apache.
Those of you who participated in the first iteration of the community learning worked on networking. This time it will be more hands on rather then just going through the cisco guides.
We will be working on building a super simple webserver with apache. Its far easier then you think and once you know how, it can be done in under 30 min. And alot of that time is really just the time it takes to download all the bits an pieces. The goal of this project is to show how easy it is to self host aswell as get rid of some false impressions that you need a expensive server rack full of beefy computers, storage bays and networking equipment.
To participate you will need a donor computer that you are going to be installing onto. This means that you will want a drive specifically for this. It does not need to be big. Please use a designated computer, specifically for this task, with blanked drives. We will be installing linux, if you are not familiar with it, i have a copy of the linux bible that i can seed you. message me if you need the torrent. It is possible to use your main computer for this. However as this will be hooked up to the internet its advisable to have a separate computer to air gap your network a bit. Also you dont wana have your personal info in a drive that is front facing. Please use a spare computer.
Besides this you will need access to your network. If you were in my networking class last time, this should be trivial. For those who are not, make a backup of your current routers config, then proceed in case you make a mistake. This part will be pretty simple as all we are doing is putting our server into a dmz and making sure all the ports are accessible from outside of our lan. As im sure we all have different equipment this step may take some time if we have to troubleshoot everyone's unique hardware.
To prove how simple this is, and to show that anyone can do it. I will be using a raspberry pi 0 on a 32gb sd card. My network is going to be a router downstream of my main router & modem. The upstream will have port triggering enabled to keep its self out of the way of the downstream devices. The server will be the only device on this downstream device but i will still show you how to set up a dmz or open some ports because i know not everyone has multiple devices. As im running on a $10 computer and a router i got from a thrift store for $15, no one has an excuse to be unable to participate as $25 is very affordable assuming you are starting from scratch. Any existing hardware you have will work as apache and openWRT will work on basically anything.
Just like last time we will be in the community learning chat room. We will meet atleast once a week to check on everyone's progress as a group. Other days of the week the room is open to any relevant content aswell as help from the more experienced members.
The layout of this class will be as follows:
1. Equipment procurement and installing the server iso 2. fundamentals of what a server is and does. If you were here for the networking class you can skip this week 3. a little touch up on linux fundamentals, mostly just navigating and modifying the file system and interacting with other components via cli 4. installation of apache, configuration of apache, and a quick run down of how apache works 5. putting your code on apache, getting a self signed cert so you can use https 6. making your server accessible to the rest of the internet At the end of this project you should have a simple web server aswell as the understanding to modify it. You should be more comfortable with linux & apache. You can now move onto creating a back end for your server with mysql and php to finish out the MERN stack or start learning other technologies to compliment your new knowledge here on chat-to.dev. Do try to check the chatroom often as if we are ahead of schedule we may move faster. I want this class to be accessible to EVERYONE. so yes, i only expect 1 hour, possibly an hour and half, a week for instruction. The rest of the time if for goofing off and trying other things, or helping each other. Hopefully you can use this knowledge to further distribute the internet, host a self project for very little money, or as a starting off point for backend development.
1. Equipment procurement and installing the server iso 2. fundamentals of what a server is and does. If you were here for the networking class you can skip this week 3. a little touch up on linux fundamentals, mostly just navigating and modifying the file system and interacting with other components via cli 4. installation of apache, configuration of apache, and a quick run down of how apache works 5. putting your code on apache, getting a self signed cert so you can use https 6. making your server accessible to the rest of the internet At the end of this project you should have a simple web server aswell as the understanding to modify it. You should be more comfortable with linux & apache. You can now move onto creating a back end for your server with mysql and php to finish out the MERN stack or start learning other technologies to compliment your new knowledge here on chat-to.dev. Do try to check the chatroom often as if we are ahead of schedule we may move faster. I want this class to be accessible to EVERYONE. so yes, i only expect 1 hour, possibly an hour and half, a week for instruction. The rest of the time if for goofing off and trying other things, or helping each other. Hopefully you can use this knowledge to further distribute the internet, host a self project for very little money, or as a starting off point for backend development.
You must log in or register to comment.