How good are you at Linux? Setting up a Linux based server to support Windows clients as a domain controller is possible. I have done it in my own lab environment just for the experience. It isn't impossible, but it isn't as easy as using Windows either. Unless you are really good with Linux it probably isn't such a great idea as anytime there is a slight issue you will be called to fix it. I don't know about your scenario, but most times when I see problems people want them fixed ASAP, and don't want to hear let me read up and check online.
On the other hand if all you want is centralized file storage then Linux using Samba could work well enough. Same goes for a print server using CUPS. So what are the goals for the server? That will help put a lot in determining if a Linux based setup is feasible.
On the other hand if all you want is centralized file storage then Linux using Samba could work well enough. Same goes for a print server using CUPS. So what are the goals for the server? That will help put a lot in determining if a Linux based setup is feasible.