Learning Linux by making a home server (thingy...) What possibilities...?

Hello all!

Not sure if this is the right catagory to place this thread but here goes nothing!

Some background:

Basically, after some dumpster diving and refurbishing of discarded office equipment, i managed to build up a fully working desktop PC and enough networking gear for a small home network (100mbit only... but none of my current devices/ISP plan are gigabit anyway)

I took this opportunity to start fuddling about with Ubuntu 14.04 LTS (since i had a boot usb made ages back when I first tried to learn linux). Im doing my best to work via terminal (and some stuff I wanted to do seemed to only work when i used terminal), however the GUI is a nice "safety net" for me since i'm still fairly new to it.

This is the spec of my desktop:
CPU: Intel E5200 Dual Core 2.5GHz (i have an E2160 aswell which seems to work)
M/B: Asus P5SD2-VM (only 2 Sata ports...)
RAM: 2GB 667 (max I could do with the ram sticks available to me)
GPU: QLeadtek 9600GT 512MB (mobo has integrated graphics aswell)
PSU: Coolermaster RS 650W (And an asus oem 400-ish Watt)
HDD: 500GB Western Digital Laptop Harddrive (holds ubuntu), 2TB seagate (mass storage/backup data via a usb3 HDD dock, but may slap it into the server)
NIC: 1x onboard 100mbit, 1x PCI 100mbit, 1x PCI gigabit (misplaced it somewhere....)

I don't plan to keep this running 24/7 since i know its going to have a large power draw... but if i can get my hands on a discarded netbook.... then that might have possibilities...

What I've done so far:

After using alot more effort than should have been needed, i managed to get samba shares running.

Im going to install an apache server and maybe mysql (granted i have little need for the latter other than for my job, which already has its own database for me to work on)

I'm also planning to install webmin so i can futz with it while on my windows laptop (which is still my main gaming/work box). This is also because I want to run it headless. (small apartment.... no space for many monitors etc.)

I was hoping to fiddle with virtualization, but from my search both my cpu/mobo don't support it.

There question i have is, based on the above equipment I have, what other useful things could I do with this? Is there anything I should do differently?

I want to use this as both a learning platform and as something useful to my daily "life". (as an engineer who is involved in a ton more programming/web dev/database work than ever expected)

Thanks in advance for feedback/advice!

P.S. Minimal extra monetary investment is preferred... due to my PSUs I may need get some molex to SATA power adaptors, and MAYBE some sort of pci/pci-e to sata card for more sata ports

If you're just doing server stuff without a GUI, you could probably lose the GPU and go for the integrated graphics. That might help with the power draw, but honestly I'd go ahead and run the thing 24/7. Won't be that much, and it's a lot more fun to have a "real" server.

Definitely try LXC (Linux containers) for virtualization. You don't need CPU/mobo support since it's not full virtualization, it's containers, so you can only run Linux but still loads of fun.

1 Like

I checked out the LXC and am definitely going to try it out. I only worry that running the containers might be abit too much for my hardware to handle. (especially if i decide to swap in the E2160 for more power savings... if there are any)

I also removed the GPU, background tasks seem ok but the GUI itself runs quite slowly. Performance seems unaffected via terminal/webmin however.

One little oops i discovered was... my ubuntu install is 32 bit... but considering my limit of 2G ram, i guess its fine.

Go to goodwill with a power cord and plug in the printers until you find one that turns on. Also, make sure it's a "connect by USB" and not wifi or any other crazy cable. Buy it for 4 dollars. Install Ubuntu server. Configure and install CUPS. Congratulations, you've just created a print server!

Round 2:

Install OpenSSH on Ubuntu server machine. Configure your server (firewall etc, generate keys, do what you want get crazy with it). Remove monitor and keyboard. Extreme power savings! Do all your work remotely via putty or ssh if you have another nix box or Mac.

Headless admining = you're really doing it dude!

I was planning to do the print server part... when i realised that i've used my printer... twice... in the last year...

Either way you look at it, it is still good practice and is pretty easy to get up and running. I actually have a pi zero that I have taped to the back mine that acts as a headless print server. Now I never have to worry about drivers no matter what my OS is when I print from it.

1 Like

You've asked for advice. I stand by my recommendation, and insist you do it on the command line and use Vi.

You want to learn Linux right?

I would recommend doing a simple install of debian with no gui and install something like samba to learn the basics.

1 Like

I am indeed doing my best to use command line as much as possible.

Right now im trying to figure out why my 2TB drive's partition has suddenly disappeared from the samba share i setup. (it was working fine for 2 days) Then i'll work on the CUPS sharing.

The idea behind webmin was that I can admin the server from my windows laptop without needing to install extra software (on its ever so tiny hard drive)

The moment I find all my spare USB drives, im gonna try loading up a different distro. I was indeed looking at debian or a minimal/no frills distro to use for this server project. (to go with the whole only use exactly whats needed in a server idea)

I am primarily looking into making a linux NAS once i get the hang of this, however this motherboards 2 measly SATA ports is abit of a pain to deal with.... and I'm not feeling comfortable sticking my discarded dell sas raid card into a non-dell motherboard

I already downloaded the Linux Mint ISO, but decided to save that for a different PC. I like the cinnamon desktop it has, so for a non-server PC it seems like a good option. I just need an actual PC put it in... (maybe the new rig i'm saving up for)

i wouldn't even know where to begin. the whole idea or running a custom linux server is foreign to me. however there are multitudes of user friendly distros available online. i've gone through about 4 distros before settling on unraid.

i like the jbod system as there is no important data and parity is an amazing concept. i also like the inbuilt safety functions that take down the array when there is something wrong. my server personally checks for errors fortnightly and try to stay ahead of potential data loss. while there is reasonable wear on the parity disk. it is easier to swap a parity disk than a data disk. also a good feature is that disks are pooled even the cache disk is automated. data moves off cache disks every morning into parity protected disks.

i like most of all that data is automatically stored on different disks( high-water) so you dont always need to spin up all the disks to access data. which imo was the biggest selling point for me. i used wd reds. while they are great the wear due to disk parking is ridiculous. there was no way to set this up such that you could cut down the number of disk parkings. however this is a feature of unraid. no setup required. disks will stay spinned down until they are needed.

i've been doing some research. but i really want to learn how to build something similar from scratch. but between work and school it'd be close to impossible. it'd be cool if you outlined what you did to get a webui going or how you configured it. or maybe if you start experimenting with docker how exactly you set it up. it is a cool project though. and i'm really interested in setting up a potential backup server. and i'd like to try to make it from scratch.

Webmin itself was painless to install and configure. I literally followed the instructions on their website and it worked.

My "missing" 2tb drive shows in webmin, but it keeps saying it needs to repartition it to mount it.... (When i had before directly mounted it with all its current data and it worked fine)