User interface for my mega server
A couple of years ago I started a series of posts about setting up a Lamp configuration on a Debian Virtual maching running on VMWare Player. Of course as with many side projects, I never really got round to finishing it.
It’s time for me to fix that. Below the break is the details of a project and the reason why I need a LAMP box
Is I’ve got my mega server up and running everything on my home network is good. Well, almost everything. I have no front end for my home server which means I can’t really see what machines I have on my network anymore. My router used to provide a list, however as I’ve switched my routers DHCP off, it can no longer perform that function.
So, I’m going to make a web interface for my server, it will provide me with some information about my PI. Hopefully this will build up over time, and will become extremely useful.
Lucky for me. I have several Raspberry PI’s, all are the Model B, as I wanted the network port. My mega server is running on a PI 3, and it provides DHCP, DNS, NTP and VPN services. I actually have no idea how taxed the server is under various conditions. It’s also sitting on all the valuable information that I would like to get access too.
How’s this going to work? LAMP.
My idea is to setup and Apache web server on my PI, install PHP and have MySQL running as well.
This will let me set up several things.
- a Cron job that will run every second and add a row to the MySQL database. This will contain information about the PI Itself. This will be the memory information (Total, Free and Used) for both ram and swapfile. It will also write a row for each processor core containing the details of the CPU Usage. I will be wanted to get this information to be stored as percentages rather than hard values, so that I can make a graph on the user interface. Hoefully, I’ll be able to get the tempurature of the cpu as well which could be useful
- a Cron job that will run NMap, this will be used to find out which ip addresses on my network are currently up and running and which are shut down. Tying this up with my DNS server and I will know which machines are started and stopped.
Armed with that information, my plan is to setup a webpage that will let me see the vitals of my mega server and my home network. It will also show me the names and IP Addresses of my computers on my network. It will also let me access some services via links or buttons. For example a Wake on Lan button so that I can wake up any device on my network. Over time, I could add extra information like, links to web pages, remote desktop etc. This will make it very easy to navigate around my home network when I’m logged into my VPN.
So, that’s the plan. Rather than mess up my mega server that is running very nicely now. Rather that risk breaking that box again, I’m going to setup a development machine on my Raspberry PI 1. If I can get it running nicely on that box, it should run faster on the mega server which is running on a PI 3.