A self-consistent real-space scheme for calculating the van der Waals interaction energy between a fullerene molecule and substrate with atomic surface corrugation is presented. The interaction of a single fullerene molecule with various substrates is then considered, to determine the optimum binding energy, plus the rotational and translational diffusion barriers. The van der Waals energy is calculated using linear response theory to evaluate the dipole-dipole interactions between the molecule and the substrate. The method is extended beyond the treatment of the substrate as a continuous dielectric medium to a discrete stratified substrate including the atomic nature of the surface. For C60 on graphite the fullerene is always preferentially oriented so as to present a six-membered ring to the surface. The optimum binding energy is found to be 0.96 eV, with the molecule positioned so as to continue the natural stacking of the hexagonal planes. For C60 on NaCl(001) the most stable position is found to be above a sodium cation with a five-membered ring oriented towards the surface, and a binding energy of 0.42 eV. Unlike the situation for graphite, though, the orientation of the molecule changes with adsorption site. The energy barrier for rotation of an isolated C60 molecule is of the order of 0.03 eV on both surfaces. Lüthi et al. [Science 266, 1979 (1994)] recently reported that islands of C60 deposited on NaCl(001) could be moved by the action of the tip of a scanning force microscope, whereas for C60 on graphite, collective motion of the islands could not be achieved, instead the islands were disrupted by the tip. These results can be explained in terms of the relative strengths of the C60-C60, C60-graphite, and C60-NaCl interactions and the reduction of the rotational barriers of the interface molecules due to collective effects.