Apache, MySQL and PHP packages comes by default with Slackware.
If you have installed it.
To start Apache everytime you boot-up (as root do:)
Code:
cd /etc/rc.d/
chmod +x rc.httpd
to start,stop, restart apache -- pick respective option
Code:
/etc/rc.d/rc.httpd start|stop|restart
I do not have experience setting up MySQL and PHP.
To be a LAN Router, you want to use NAT feature which is part of iptables. You can google for rc.firewall scripts and copy it to /etc/rc.d/ and insert a line into rc.local /etc/rc.d/rc.firewall. Remember to chmod +x rc.firewall as well.
Print server, you need to install CUPS. And to make it talk nicely to Windoze machine, you will need samba.
File server, there is samba and nfs. Both works on Mac. Not sure nfs for Windoze though.
By the way, samba is what you call windows networking in windoze.
Edit:
Yes, reading docs on tldp.org will help a great deal.