So I started thinking a bit more last night and I’ve started various musings now about the structure of my new home server. I’ve decided it’s going to be virtual IP-based at least (although not 100% decided!), and I know that I’ll want the DNS server to be updated etc. I’m going to write the control panel in a similar fashion to ISPConfig, the util that I currently use, but I’m going to personalise it especialy for my system. Once it’s set up and running, then I can erase the old server, and set it up as a slave server. Somewhere between doing all that, I’m going to get the RAID array working with the hotswap bay I have, which hasn’t been used in yonks. I’ll also split as equally as possible the hard drives between the two, and setup some kind of rsync for the data, and also some kind of MySQL cloning. There’s a lot of prep work and planning to do to make sure I do this right, so I’m going to start planning this weekend.
Of course during all this, there might be a little downtime, so I’m going to have to set up a temporary backup server to handle requests - the Linux laptop I have, although it’s not great specs, might be able to handle that… I could even go lower-spec and set up my NAS to do it! That would be interesting…
The new main server I’ve actually had for quite some time, but has been sat unplugged for quite some time collecting dust. I now intend to run 3 servers in total:
- Main server (comprised of components made from my old development PC)
- Backup/Redundant/Load sharing server (the current main server)
- A router (the old secondary server)
I’ll explain the need for a second router.
- Will have a good Firewall
- I can open ALL ports on my ADSL router, and forward them to the Linux router.
- The Linux router can examine the incoming port 80 request for the name, do name-based virtual hosting, but instead of going through apache, it’ll forward it to an internal IP address on the main/secondary server.
Seems a bit long-winded, I know, but it’s just a complex task I want to undertake to keep myself fresh in the ways of setting up Linux, administering it, and ultimately PHP development (although there’s slightly less need for that now my job is entirely based in PHP).
Lets see how this goes, shall we?