File & Printer sharing

If you have more than one desktop PC or Laptop in your home, you can (easily) create a LAN (Local Area Network). This will enable you to easily share files between your PCs and it will allow you to share the same printer or printers and maybe a scanner.

If you need to find out about networking see Lets Network.

You could use a spare desktop PC (or Laptop) that is powered up all the time (or a NAS (Network Attached Storage)) and use this as a “file server”. You could use Windows as the OS (Operating System) but I recommend using Linux (CentOS, Ubuntu or FreeNAS), along with Samba. I would also suggest having at least 2 HDDs, one for the “system / boot files” and one for “data”.

On the “data” HDD, you would create folders / directories that are shared (using Samba, on Linux). These folders would contain data that you want to access from any device on the network (LAN) e.g Music – contains MP3s etc Videos. Household – for things like banking and other financial stuff, General for general info.

The idea being is that you can access all of this info from any device on your LAN but NOTE, Microsoft and Linux use different “file systems”. MS use NTFS, Linux use EXT4 or XFS. MS is unable to read files on EXT or XFS and Linux is unable to read files on NTFS. The solution is to use Samba on your Linux PC/server an alternative is to use NTFS-3G, which works quite well.

Attach a USB HDD to your “File Server” and you have your backups sorted 🙂 (See below for my set up)

Sharing Printers & Scanners.

If you only have one printer and it is connected to your PC via a USB cable, you can just “share it” from within “Windows” but the PC that the printer is connected to will obviously need to be powered up to enable other PCs on the network to use it. That won’t be a big problem for most households.

If you have maybe 2 or more PCs / Laptops on the LAN and need to access the printer, a good solution is to use a “Print server”, this is a (network device) that is often connected to the LAN Switch using Ethernet but WiFi options are available.You would just need to connect the printer to the “Print Server” and then “share it”. Basically the “Print server” is powered up 24/7 so Any PC / Laptop on the LAN can now make use of the printer.

Some printers have built-in WiFi and you won’t need a “print server”. This means that any device connected to your LAN (inc Tablets and Phones) can make use of the printer.

If you have more than one printer, having a LAN means you can use the same printer(s) from any device on your LAN. In many cases, you can also share the scanner (if you have one).

NOTE. Print servers and (network Printers) should ALWAYS be assigned a “Static” IP Address.

Having a “spare” PC as a file & print server has many advantages and being able to share “resources” e.g. printers is very useful. Having a spare PC as a file & print server is a bit like having your own “personal cloud”. Having your own file server means that you can store photos and documents etc in a “central” location so that all devices on your LAN can access this info.

File & Print server.

If all your devices are running Microsoft Windows, it would sort of make sense to have a “file server” running “Windows” but if you don’t have a spare Windows license, you would be better off using a Linux distro as this is “open source” and FREE.

If you want to stick with Microsoft, the best option would be a “Microsoft Server OS”, if you can afford it! This would enable you to share files and printers with ease.The current release would be “Windows Server 2012” but you could use “Windows 10 Pro” if you don’t want the full features of a “Server OS”.

Linux & samba. You can choose the “Free” (Open Source) options as your file server OS e.g. CentOS, Ubuntu, FreeNAS. I highly recommend CentOS (the open source version of RHEL) because of its robustness and reliability.

You just install CentOS (server) on an old PC, along with Samba and you’re good to go. Once you have set up the Samba shares, these “network” shares are available to all network devices on the same LAN.

Even if you only have one desktop PC / Laptop, having a spare (old PC) with CentOS installed, can make sense! This would be your “Backup facility” and give you some peace of mind. See backups revisited.

File & Printer Sharing is well worth looking into!

My setup.

I have a few PCs, Laptops and Tablets (Android & iPad) along with Android phones. I also have a “Linux CentOS file server” with Samba installed. My Linux server is actually a “Server class” machine with a Raid 5 disk array (3 x 1TB “hot swap able” HDDs) along with 8GB RAM and dual redundant power supplies (if one fails I swap over to the unused one). This is a bit OTT for most home users but I’m a geek 🙂

I also have a spare “Windows 10 Pro” desktop with only 4GB RAM and 1 HDD (with System files and space for data), it also has a couple of USB HDDs for backup purposes. This PC is only used as a backup facility.

Our Windows PCs / laptops connect to the LAN using Ethernet and / or WiFi and we only tend to store “personal” data on our desktops / laptops. All other data e.g. Photos, banking stuff, Music etc is stored on the CentOS server so it can be accessed by any device on the LAN. We have 50GB+ of MP3s and videos that we can access using our Tablets or phones. This means we can use VLC to listen to any of our music or view family and other videos.

My setup in operation.

The CentOS server is basically used as a file server for “non personal” data and as a backup facility. The hot swappable data array means if one of the HDDs in the array fails, I can pop in a new HDD and rebuild the array, with no loss of data – Magic 🙂 I also have a USB HDD attached to the CentOS server and all of the contents of my data array are copied over to the USB drive every day ( I use rsync to “mirror” the data array and this only copies files that have changed) This gives me a backup of the data array.

I mainly connect to the CentOS server using SSH and don’t have a GUI installed so it is basically “headless”. I connect remotely from my Windows PC  using “Putty“, “WinSCP” and “Webmin” to carry out maintenance tasks but occasionally access interactively using the terminal.

The (spare) “Windows Pro” desktop USB HDD is used to store the daily MS Backups of the Windows devices on the LAN (see backups revisited) along with the regular “Disk Images” and these are “mirrored” to the CentOS server on a daily basis using Robocopy. This means that anything stored on the Windows 10 USB HDD, is copied “mirrored” to the CentOS data array and anything stored on the CentOS data array is also copied to the Windows USB HDD, using robocopy.

My setup might not be “bomb proof” but sharing of files is a breeze and backups are pretty well catered for. All data is available in both NTFS and in EXT4 or XFS. The actual backup facilities are away from the house but have an Ethernet connection and optional WiFi.

File & printer sharing combined with having a backup facility ROCKS 🙂

If you got this far, have a look at “Firewalls” and “Routers”