You will need the following software:-
Linux, properly compiled to include the necessary options.
The appropriate version of pppd for your kernel.
A 'getty' program that intelligently handles modem communications. We use getty_ps2.0.7h, but mgetty is highly thought of. I understand that mgetty can detect a call that is using pap/chap (pap is the standard for Windows95) and invoke pppd automatically, but I have yet to explore this.
An operational domain name server (DNS) that is accessible to your dial up users. You should really be running your own DNS if possible...