how do I keep my sofa from moving on ceramic tile floor?
There are square rubber coasters about 3X3 that you can buy at hardware stores. Just put one under each leg of the couch. They work really well.
You can get some rubber adhesive tape at most hardware stores. Just put a little piece on the bottom side of each foot of your sofa.
There are some little brown rubber squares to put the legs of a sofa in - if they are small. You can probably find something that is nonslip and put that under the legs if they are larger. Maybe some cork pieces would work fine. Cork would also keep any metal parts from staining the floors too. Good luck.
If there is no wall behind your sofa, I've seen many catalogs where there are short, rectangular cabinets or sometimes desks to support it. But, if you have people throwing themselves on the sofa you might want to get something heavy so it wouldn't get knocked over.