Building first home server

indy-pc

Member
Reaction score
2
Location
Indianapolis, IN
I'm a one-man shop working out of my home office. I really enjoy the break-fix world of residential clients, but I want to expand my horizons a little and learn about something that I really know nothing about: servers. As I'm sure most of us are, I'm a bit of a hands-on learner. I've tried to find a good book to pick up on the subject, but sifting through the muck hasn't been very fruitful.

So, I think I'm just going to break down and build one myself and learn as I go. This is on my own dime and not for a client, so I don't mind making a few mistakes along the way, but I figured I would at least ask the pros for a little guidance before I set off on this little misadventure.

Here's what I'm looking to do:
I want to build a home server for my office that I could use for a few things. Right off the bat, I would want to move my ScreenConnect client to it so that it's not running on my personal computer. I'd also like to use it for backing up my personal systems and storing data backups of clients' systems when they come in. Currently, I use Fab's to do data backups onto a 500GB external drive. It does a fine job, but it's not very efficient if I have more than one system on my bench at a time.

As I also have Nick's fantastic d7 and d7II tools, I would like to setup an FTP server so I don't have to bog down his servers. I also hear WSUS works better on an FTP server than it does just putting all of the updates on a flash drive, but I'm not 100% sure of how that works.

One of my next uses for my home server would be to purchase and install PCRT. My website is being hosted on a Windows GoDaddy server and I hear PCRT won't work on a Windows server. When I first got my business setup and started, I didn't know anything about website hosting (and I really don't know much more about it than I did then), so I chose Windows over Linux because I'm not familiar with Linux and I'm still not :o

Speaking of my website, I would also like to try self-hosting my website and mail after my hosting package subscription expires in late-2015. It's not that I really have a problem with GoDaddy, but why pay them for something that I can do myself for free (sorta).

Given all of that, what would your recommendations be for me? I'm pretty small-time, so I don't think I really need a filled 6' server rack. I would love to hear what sorts of ideas you have for me, though. Hardware, OS and software. How would I want to set it up? Virtual boxes (something else I've never played with)?

If anyone has any resources they would recommend I check out, I'd love to hear about that, too. Thanks in advance for your comments and suggestions.
 
You should have plenty of old xp junk for free. Start loading server 2008, SBS, Ubuntu and any other server environments you have time to mess with.

Learn them before attempting to host your own anything.....

There are numerous reasons not to host your own website nor email exchange or anything else for that matter other than to learn and screw with it but you cannot afford to have your stuff be down.

I keep it simple as pie. I do have a "Windows Home server" which requires no maintenance or overhead and does a nice job of backing up my own in house stuff for my three businesses, graphics, client files, estimates, taxes.....

For my tech bench I just use 2.5" usb drives, two of them. They are so fast I hardly ever am waiting on one even on busy days. Every 30 days or so I format them for security and make sure I do not carry a virus forward.

I had played with a windows installation server setup and a backup server but even with 1000 mb networks it wasn't any faster than using USB devices and it was more complicated.

Be careful what you wish for complication, complication complication. Simplify, simplify, simplify.
 
Admittedly, I know that I would be complicating things a little bit by hosting my own website and email, but I have about 18 months before I would flip that switch if I decided to. The self-hosted ScreenConnect, FTP and PCRT are the more immediate things I would be looking to use it for.

Even still, one of the biggest drivers behind this project is for educational purposes. I have virtually zero knowledge or experience with servers, RAID, virtual box, Linux, FTP, DNS, hosting and other related topics that I would really like to learn more about hands-on to (possibly) expand the services I can offer in my business later on. I have to start somewhere and tinkering with one for non-client use is the best way I can think of. And it's tax-deductible to boot. ;)

I don't really want to repurpose an old system, to be honest. Sure it would be cheaper (or essentially free), but it limits my options later on. I might fiddle with one in the short-term, but in the long-term I would want to build new. Besides, who doesn't like shiny and new?!
 
Hello Indy,

My recommendation for what you want to do is to build up a used computer something like:

1. Dual core processor based computer
2. 8 Gigs ram
3. 80 gig OS drive, 3 drives for data
4. Two network cards
5. Run Ubuntu server edition on it.

Your dual nics will enable you to use it as your firewall / router. However, Since you are learning you will prohibit any connections from the outside (internet) until it and you are up to speed on security.

The 3 data drives will be raided with mdadm.

Iam also a single tech running my business and I have done a similar setup for years! Invest in a decent UPS and you are on your way.

My current server actually runs on a single core Athlon 64 with 4 gigs memory. Its my firewall, Router, Webserver, File server and backup box. I call him 'Dino' :) Of course he is due for an upgrade soon when I get more time. But at this time dino runs great.

Since you have time to learn before your sub runs out in '15 you will learn alot about things.

Have fun! Of course, If you go this route I will be glad to help you out with any problems or questions you have - in the spirit of Technibbles :)

coffee
 
What you want to do is pretty much what I have. I suggest using Ubuntu server all the way. This is your chance to be come familiar with it. I also suggest having a separate Ubuntu box (laptop or desktop) with a desktop version on it. It is easier to manage an Ubuntu Server from another Linux distro. For example, on your desktop distro if you open terminal you can type ssh indy@192.168.1.100 and bam you are connected to the server via SSH. On top of that if you have a program installed on the server you want to use via GUI you can use the -x command when connecting via ssh to forward the x11 gui.

As far as Linux CLI goes, it is a lot more simple that you think. On top of that there are a plethora of guides and help on the internet. Including ubuntuforums.com.

To become familiar with Windows Server environments I suggest using a VM. That way once you install it you can copy the VM folder and go to town. If you break something you can just delete the VM folder and copy the fresh one back and reimport it.

I would use the requirements Coffee suggested. I would mount your data drives as follows when partitioning in the installer. I would have one mount as /home and the other two in a mirror raid mounting as /srv. I would then keep all my shared folders in /srv/ example below.
/srv/customer backups/ <- For customer backups
/srv/techdoc/ <- for technical documents
/srv/techtools/ <- for you tech programs
/srv/wsusoffline/ <- wsus
/srv/media/ <- iso disk images for easy network access

I would have two users for SAMBA one with RW access you can use on your personal computer to write to the shares, and one with read only access you can use to mount the shares on customer machines with out fear of a virus being able to write itself to the share.

Installing ScreenConnect is simple as pie.
download to /home/youruser/screenconnect.tar.gz
extract
run install.sh
 
I know you keep saying you want the hands on experience, but have you looked at your local community college to see what classes they offer for servers? I may be in the minority here, but I think you should know why and how something does stuff before you try to make it do it.
 
Thank you all for the advice and tips. I may have to reconsider buying new and just update one of my older systems laying around. Or, I could buy new and it would just be very inexpensive. ;)

I know you keep saying you want the hands on experience, but have you looked at your local community college to see what classes they offer for servers? I may be in the minority here, but I think you should know why and how something does stuff before you try to make it do it.

I would actually love to find a decent textbook on the subject that I could read. Unfortunately, I don't really have the time to take a course. I could probably find out what the required books are for local courses and just read them on my own rather than needing to keep a certain schedule with a true course.

Do you have any textbook suggestions on the subject?
 
Make sure you have decent internet connection with good upload speeds. Using webhosting servers like godaddy ect are in the datacentre with good bandwidth. If your on ADSL ensure you have static IP so you can remote into it. Also get a good UPS to protect server from surges.

If your starting out like me and dont have the cashflow to invest in hardware you should consider a VPS server. I have a VPS with Plesk and use it as a terminal server, web server and host my site and client sites along with my screen connect.

Maybe do that for you website side of things and then home server for backups, documents and testing. Im lucky at my full time job we have MSDN subscription so i download software and operating systems to test and build from scratch.

If your new to servers i recommend visiting this website http://www.petenetlive.com as there is some really good guides here on server operating systems and specific server roles and also exchange,SQl, DNS ect.
 
Check out savemyserver on eBay, they have tons of stuff ready to go.

I think your better off going with a real server, for having the benefits of
running a real server (that may sound silly). You'll have all of the fail safes
and redundancies that make a server what it is.

You can snag a HP Proliant G5 DL380 for less then $200. You'll probably
want to either upgrade or expand it's storage but you should be able to
get yourself reasonably set up for less then $500. You can consider it
an investment into new services that you can provide.
 
I run a server here and one at home. I have tried a few different OSs on them, but have never had much luck 'learning' servers from running them, as actual robust, hands-on server skills, that can be used in a small business environment are a very different set of abilities to running a basic server for files, in my experience at least.

I have an employee who is very good with them, and has a corporate background, so he understands all the nuts and bolts stuff.

I am in a similar boat to you - in that I dont have time to do a course, and working in this business full time, it would actually be very hard to learn to be a 'good server guy' using 'normal' basic tasks on home servers.

So what we do now is sell NASs. Robert still does the stuff onsite that requires 'hard' skills - he gets in there, knows what he's doing, and can solve most problems he encounters pretty speedily.

Most small businesses we encounter *dont* need a full server setup. By selling NASs we only have to deal with a finite firmware set. This made the learning curve for me a lot shorter, and means we can offer a quality product that doesnt take years of corporate experience to master. Its a win-win: the customer gets a good product with capable after-sales support, and I dont have to spend a couple of years at Uni or in a business learning all of the complexities of servers.

Anyway, hope this helps your situation. Here in Australia we like Netgear because they have a very fast replacement service if something goes wrong. Not sure how Qnap and Synology compare where you are, but definitely in my experience doing "serving" this way was a quicker and easier route because acquiring a full skillset in the range of MS server technologies is (for me, at least) quite an ask 'off the bat'.

Jim
 
Last edited:
We do the NAS thing as well as all of my small businesses right now are just that, small. 8 workstations is the top of the chain for now. Their main functions they use their PC for is writing a document and sharing it with a co-worker. They have a few things that it might be "nice" to have a server system for like AD, or managing licenses on their office or something like that. I will say a simple AD server would be nice thing the few times they have turnover just go in and add user, delete user and everything is done. Now it is add user, migrate documents, reset user on their O365 account, re-login to their office, setup user on NAS.... that type thing.

I am currently looking into Ubuntu Server and Samba4 to see if the AD features it offers could be something I could setup a small box to handle just that function. (still trying to relearn Linux)

I do the Netgear ReadyNAS systems and they work really well for my uses, they do have ability for a large number of "plugins" that can do a lot of different things. I have one running as servalience storage, and another that is also their intranet wordpress page. I have heard really good things about the Synology units and am looking at getting one for my office to use for customer data backups and transfers. They have a way so my customers would be able to log in remotely and make sure all their documents are there.
 
AD os microsofts active directory. it does more but the main thing is for storing the users and their information. It handles passwords and stuff so say I have a NAS I can point it to the AD server and it will check there for authenticating users. What this means is there is one "user account" and all the devices check it for authentication.
 
I would get a basic server, that supports virtualization, and set it all up with VMs. This way, if you mess something up, you could start all over from the VM Image. Linux servers are great, and not all that hard to learn, and you can just use putty, or OpenSSH for windows, if you want to go that route, to log into them, if you need to use Windows. Also, I use a Linux server for AD, and it works great, seems stable, and runs a multi-site domain Linux.
 
Back
Top