Moving a Plone site
This How-to applies to:
Any version.
This How-to is intended for:
Server Administrators
You should never test out new products or do any sort of development on a live server. Often, you will use a local Plone instance to develop your site, and then move it to a publicly accessible server once it's ready.
First of all, you need to ensure that your installed products are exactly the same --- right down to minor version numbers. It is almost always best to copy the entire Products/ folder of your Zope instance from the source server to the target server, rather than re-download and re-install. If you use any External Methods in your site not found in a product's Extensions/ folder, you need to copy the Extensions/ folder at the root of your Zope instance as well.
This is most easily done when you have complete control over your Zope instance; in most cases, you probably want to set up from source to achieve this degree of control. Package-managed installations of Plone have a tendency to create complex installation configurations that make it more difficult to move the relevant folders and files between computers running different setups.
If you are in a unix-like environment, the rsync application is very well suited for synchronising a development version of your Products/ and Extension/ directories with a server. See man rsync for more details.
If you are deploying from Windows to a Unix environment, remember to make sure that your line endings are correct.
In addition to your code, you want to copy the configuration state and content of your site. This is stored in the Zope database.
Moving the Data.fs file
By default, Zope uses a "FileStorage" for its object database, meaning the whole thing is stored in a file var/Data.fs. You can move an entire Zope instance by copying this file from one server to another. Once you have made sure that the Python and Zope versions are the same, and both Products and Data.fs has been copied over, you can start the new instance and have an exact replica of your other system.
Renaming a Plone Site