How to turn your linux box into a print server

How to make Windows use CUPS IPP

That guide is a little more complex than it needs to be. Here's the simpler version.

Step 1: How to set up your Linux server

Set up your Linux computer to use CUPS. This is the best printer driver available for Linux. Then, tell it to share over the network. That's it.

Step 2(a): How to print from Windows to a Linux server

On your Windows machine, go to Control Panel --> Printers --> Set up a new printer. Create a new network printer aimed at http://yourLinuxmachine:631/printers/yourprinter . Pick the printer driver from the list. That's it!

Step 2(b): How to print from Linux to Linux

Go into the Control Panel --> Printers. Set up a new remote printer via CUPS. Point it to your server. That's it.

I had a previous post on the same subject where I suggested using Samba. Samba is a way to let Linux share files over a Windows network. It can also share the printer using Samba. However, Samba requires lots of extra futzing, and it's not as secure. (You can make it more secure, but that requires even more futzing.) CUPS is already running on your Linux server and it has no trouble talking to Windows machines. If you want to do file sharing, use SSH. It's a little more work from the Windows end but a lot less work from the Linux end. But in my house everyone is running Linux now--even my wife--so there's no more need for Windows network compatibility!