Skip to main content


PageSeeder installation and upgrade instructions

Moving installations

Moving PageSeeder from one server to another, or cloning a virtual machine and changing the server name is a straightforward task. However, like many administration tasks, it isn’t risk-free.

To minimize the chance of problems, always have a complete backup of the running system prior to any changes. Also, do not upgrade PageSeeder as part of the migration. Upgrade and check the server as a separate task, either before or after the migration. On Linux you can install an older version using a command like:

$ yum install pageseeder-5.9607-1

or to downgrade an existing PageSeeder to a specified version:

$ yum downgrade pageseeder-5.9607-1

Moving PageSeeder

To move a PageSeeder server, do the following:

If the server has been cloned, skip to step 9, but if the implementation includes a proxy server like NGINX, remember to update the name of the PageSeeder server in the proxy configuration.

Install PageSeeder on the new server, but don’t start it. Ideally, use the same ports as the existing server and configure a proxy if required.

Stop the existing PageSeeder and perform file system and database backups.

Restore the PageSeeder database with create on the new server, ensuring you create the same pageseeder database account password as on the existing server.

Copy the following folders from the existing PageSeeder to the new PageSeeder. If using Linux scp, add the -p option to preserve file modification dates.


If migrating PageSeeder v5.96 or earlier, instead of WEB-INF/state copy the following:

[pageseeder]/ps-publisher/WEB-INF/template (but not template/default)
[pageseeder]/webapp/WEB-INF/template (but not template/default*)

If the database password has changed, edit the config/ file and add a LoginPassword property that has the new, unencrypted password. PageSeeder encrypts it upon startup and removes the property.

If the JDBC driver hasn’t been downloaded to the new server, copy the database driver .jar files (e.g. mysql*.jar) located in:


For Linux, ensure xinetd and tomcat are properly configured by running the following command and accepting default options. Ideally ,use the same Java -Xmx memory options. These are at the top of the /opt/pageseeder/tomcat/bin/ file on the existing server.

$ service pageseeder config

If Linux file permissions could have changed when copying files or the JDBC driver, run the following command to ensure the new PageSeeder has access to all files:

$ chown -R pageseeder:pageseeder /opt/pageseeder

If the server domain name has changed:

Obtain a product key for the new domain (you can get a temporary product key  if required) and update it in


Update the webSiteAddress and emailDomain in


If migrating v5.97 or earlier, these values are in

Start PageSeeder (on Linux use service pageseeder start), then update the old domain name (DO NOT add a new host). To do this go to System administration > System configuration > Internal hosts (or Admin > Hosts in version 5).

Start PageSeeder, if not already started (on Linux use service pageseeder start).

When moving a production server and changing the server domain name, do the following:

Clear the xml-documents cache in the user interface, go to System administration > Server status > Caching. This will ensure the old domain does not appear in the documentinfo/uri/@host in PSML.

Re-index everything, go to System administration > Server status > Indexing. This may degrade server performance while it is running but will prime the cache and improve performance once it is finished. It is not strictly necessary unless PageSeeder has been upgraded and the release notes recommend it.

Step 11 is optional for dedicated test servers where indexing large document collections might be time-consuming and not affect testing or if the server domain name is only temporary. If upgrading PageSeeder do this step after upgrading.

Created on , last edited on