How to host a local server on Linux

It's hard.  You basically have to edit the config file manually.  Here's the best "howto" I've found: Samba configuration

Samba can share your printer, too.  Here's how.  The trick: you need at least two printer-related entries in your config file: [printers] for generic settings, and another one with the specific name of your printer.  In my case, [LaserJet].  Once I added that, Samba was happy to host my printer to anyone on the network, even if they didn't have a password.