When I had my old B2 I used just a damp microfibre cloth that had been dipped in soapy water and kept wiping the area until it was clean. Admittedly, my headliner was not very dirty in view of the car's age, no nicotine stains etc., but it had the desired effect...
Otherwise, knock yourself out on what Youtube offers on the subject..
https://www.youtube.com/results?sear...adliner+of+car