Migrating Confluence Between Servers

This page describes how to move Confluence between physical servers. It is distinct from other functions. It does not cover database migration, application server migration, or upgrading. Atlassian suggests doing each of these steps separately. See also:

How to Create a Test or Development Site

Administrators may need to move a Confluence site from one server to another for upgrades or downtime. This page tells you how to copy a Confluence site from one server to another. For example, you may want to transfer your current production snapshot to a test server as permitted in the licence agreement.

  • Avoid upgrades while migrating. If you are planning to switch databases, application servers or Confluence versions, firstly perform the application transfer in isolation, and test that it was successful before making other changes.
  • Development licenses are available for any Commercial or Academic license. Create one or contact Atlassian for help.

On this page:

Transferring Confluence To Another Server Using The Same Operating System

If the operating systems on both servers are the same, then the home and install folders can be copied straight into an identical external database and user management setup.

  1. On the original server, create zips of the Confluence install and home directories. Copy the zips to the new server.
  2. On the new server, unzip the install and home directories. Windows users should avoid unzipping with the Windows built-in extractor, instead use Winzip or the free 7Zip.

    If you are changing the location of the home directory, open the Confluence install\confluence\WEB-INF\classes directory and edit confluence-init.properties by changing the line starting with 'confluence.home='.

  3. If you are using the EAR/WAR distribution, modify the location of your war file if need be. If using Tomcat, this is likely in /Conf/Catalina/localhost. You'll want to make sure the docbase attribute is pointing to the right location.
  4. This next step is dependent on your database: 
    • For users of the internal database, the database content is stored inside the home directory. You should switch to an external database after the transfer is successful. The internal database is for evaluation only and is not recommended for use in Production systems.
    • For external databases stored on another server: change the user account or datasource permissions so that the new server has the same network access permissions as the original. Then confirm from the new server that the hostname can be resolved and is listening for database connections on the expected port.
    • For external databases hosted locally (ie. localhost): on the original server, create a manual database backup using a native db dump backup tool. Copy the database backup to the new server.
  5. On the new server, install or upgrade the database version to match the original server.
  6. Import the database backup.
  7. Add a database user account with the same username and password as the original.
  8. Provide the database user with the full access to the imported database.
  9. Use a database administration tool to confirm that the user can login from the localhost.
  10. This step depends on your database connection:
    1. If you use JDBC (the default option) to connect to the database, to modify any database connection information, go to the Confluence home directory and edit confluence.cfg.xml. The connection URL is set under hibernate.connection.url. Ensure it does not point to your production database server.
    2. If you use a data source, follow the instructions for your database type and ensure the data source points to the new database: PostgreSQLMySQLSQL Server or Oracle.
  11. If you are using internal user management, skip this step. For users who have JIRA or LDAP integration, provide the new server with network or local access to the same hosts as the original. If this is a true test site, set up a test of your JIRA site or LDAP server so as not to disrupt production systems and change the server.xml or atlassian-user.xml files (Confluence 3.4 and below), or modify the directory settings in Confluence Admin > User Directories (Confluence 3.5 and above) to point to the appropriate test servers. Note that it might be acceptable to use a production connection here, as users won't be logging on to the test system in high volume.
  12. If appropriate, make sure no emails are sent out from the test system.
  13. If you have previously installed Confluence using the guided installer and plan on starting Confluence using the startup or start-confluence scripts in the Confluenceinstall/bin/ directory, check setenv.sh (Unix/Linux) or setenv.bat (Windows) in the same directory. If there is a JRE_HOME set, ensure that the path to the JRE is up to date in regards to the new environment.
  14. Start Confluence.
  15. Go to Administration > License Details and add your development license key. You can generate one at http://my.atlassian.com. There are more details in How to get a Confluence Developer License.
  16. If you configured Confluence as a Windows service, repeat those instructions.
  17. Add your development license key.
  18. Some customers have experienced problems with Confluence's search functions after performing a migration, or that the content of their {recently-updated} macro is not being updated correctly. Errors in the atlassian-confluence.log file corroborate such problems. Hence, to avoid these issues, it is strongly recommended that you perform a rebuild of your content indices after performing a migration.

Transferring Confluence To Another Server Using a Different Operating System

Migrating from Windows to Linux

You will need to replace the backslash with forward slash in the following lines in confluence.cfg.xml:

    <property name="attachments.dir">${confluenceHome}/attachments</property>
    <property name="lucene.index.dir">${confluenceHome}/index</property>
    <property name="webwork.multipart.saveDir">${confluenceHome}/temp</property>

Using database tools (preferred option)

If you are using the Production backup strategy, follow these steps:

  1. Download the proper distribution (the same one you have from your original site) from the Download Archive.
  2. Copy your Confluence home (not install) directory from your original server (even if it was a different OS).
  3. If you are changing the location of the home directory, open the Confluence install\confluence\WEB-INF\classes directory and edit confluence-init.properties by changing the line starting with 'confluence.home='.
  4. For external databases stored locally, on the original server, create a manual database backup using a native db dump backup tool.
  5. Copy the database backup to the new server.
  6. On the new server, install or upgrade the database version to match the original server.
  7. Import the database backup.
  8. Add a database user account with the same username and password as the original.
  9. Provide the user with the full access to the imported database.
  10. Use a database administration tool to confirm that the user can login from the localhost.
  11. To modify any database connection information, go to the Confluence home directory and edit confluence.cfg.xml. The connection URL is set under hibernate.connection.url. Ensure it does not point to your production database server.
  12. If you are using internal user management, skip this step. For users who have JIRA or LDAP integration, provide the new server with network or local access to the same hosts as the original.
  13. Copy server.xml, atlassian-user.xml, osuser.xml, any patches, and any other customized files velocity or properties files. If this is a true test site, set up a test of your JIRA site or LDAP server so as not to disrupt production systems and change the server.xml or atlassian-user.xml files to point to the appropriate test servers. Note that it might be acceptable to use a production connection here, as users won't be logging on to the test system in high volume.
  14. If appropriate, make sure no emails are sent out from the test system.
  15. If you have previously installed Confluence using the guided installer and plan on starting Confluence using the startup or start-confluence scripts in the Confluenceinstall/bin/ directory, check setenv.sh (Unix/Linux) or setenv.bat (Windows) in the same directory. If there is a JRE_HOME set, ensure that the path to the JRE is up to date in regards to the new environment.
  16. Start Confluence.
  17. Go to Administration > License Details and add your development license key. You can generate one at http://my.atlassian.com. There are more details in How to get a Confluence Developer License.
  18. If you configured Confluence as a Windows service, repeat those instructions.
  19. Add your development license key.
  20. Some customers have experienced problems with Confluence's search functions after performing a migration, or that the content of their {recently-updated} macro is not being updated correctly. Errors in the atlassian-confluence.log file corroborate such problems. Hence, to avoid these issues, it is strongly recommended that you perform a rebuild of your content indices after performing a migration.

Using XML data backups (only for small to medium sized installations)

Note: The XML export built into Confluence is not suited for the backup or migration of large data sets. There are a number of third party tools that may be able to assist you with the data migration. If you would like help in selecting the right tool, or help with the migration itself, we can put you in touch with one of the Atlassian Experts.

If you're not yet using the Production backup strategy, you can migrate Confluence to a different server machine by creating an XML data backup as usual, and then importing that to Confluence on the new server.

  1. Create an XML data backup from Confluence as follows:
    1. Choose the cog icon , then choose General Configuration under Confluence Administration
    2. Select Backup & Restore.
    3. Check the Backup Attachments option and click Backup.
  2. Identify the version of Confluence that you are currently using. This is displayed at the bottom of each Confluence page.
  3. Download Confluence to the new server. Get the version of Confluence that you identified above, but for the operating system of the new server. You may be using either the latest Confluence version, or an older version.
  4. Install Confluence on the new server.
  5. Go to Administration > License Details and add your development license key. You can generate a license at http://my.atlassian.com. You can find more details in How to get a Confluence Developer License.
  6. Restore your XML data backup from Administration > Backup and Restore.
  7. If appropriate, make sure that no email contact can be made with the test system.
  8. Re-install any third party add-ons (including Atlassian add-ons such as Team Calendars or Confluence Questions), and apply relevant licenses. 
  9. Some customers have experienced problems with Confluence's search functions after performing a migration, or that the content of their {recently-updated} macro is not being updated correctly. Errors in the atlassian-confluence.log file corroborate such problems. Hence, to avoid these issues, it is strongly recommended that you rebuild your content indices after performing a migration.

Ensuring no contact with production systems

To ensure no contact with external systems, you will need to disable both inbound and outbound mail services.

  1. Disable global outbound mail by running the following database query:

  2. Disable space-level mail archiving by running the following database query:

Change 'SELECT *' to 'DELETE' in the above queries once you are sure you want to remove the specified accounts.

Once this is done, you can start your test site without any mails being sent or retrieved. Think carefully about other plugins which may access production systems (SQL macro, JIRA macro, etc.). If these write content, or create unwanted load on external systems, they should be disabled promptly after starting the test site.

Migrating from HTTPS to HTTP

You may want to migrate from a server secured by SSL to one which is not secured by SSL. For example, this may be useful if you are copying a Confluence site from a production to a test site.

To migrate from HTTPS to HTTP, undo the HTTPS-specific settings that are described on this page: Adding SSL for Secure Logins and Page Security.

Notes

  • If you wish to merge two Confluence sites, you can consider using the remote import plugin. This plugin is currently not supported. The supported method would be to export a space and then import each space one by one. The two Confluence sites must be running the same version of Confluence.

Was this helpful?

Thanks for your feedback!

61 Archived comments

  1. User avatar

    Yoleidy Carvajal

    Hi,

    Do you know if it is possible to copy just a part of the the original Confluence instead of copying everything ( for example copying just new layouts that we develop) ?

    Also, can we copy stuff from the test environment to the original (again ... like for example layouts, templates, macros, etc) or can only "space's content" be copied?  

    Thanks! (smile)  

    03 Nov 2008
    1. User avatar

      Ming Giet Chong

      Hi Yoleidy,

      Please see the detailed doc below regarding Customising layouts in Confluence:

      You should be able to copy the customisation from instance A to instance B by performing a site backup and restore. All the customisations will be copying over.

      Regards,
      MG

      14 Jan 2009
  2. User avatar

    Anonymous

    Is it possible to move a working development instance of confluence to another tomcat instance?  If so, how would one go about doing this?

    Thanks in advance.

    03 Mar 2010
    1. User avatar

      Azwandi Aris [Atlassian]

      Yes, this is possible. I assume that this is a migration within the same server - you may just as well follow the instructions provided in this page. In the nutshell:

      • If you need to move the Confluence installation to the other Tomcat, copy the Confluence webapp over
      • (Important) Make sure the webapp's confluence.home in confluence-init.properties is pointing to the existing Confluence Home Directory

      Hope that helps.

      09 Mar 2010
  3. User avatar

    Anonymous

    Hi. Is it possible to migrate to new production environment (new hardware) with existing license

    key and then continuing to use current environment as development and test? How can I do it?

    01 Jun 2010
    1. User avatar

      HengHwa Loi [Atlassian]

      Hi,

      For your information, if you are a commercial license holder, you can actually obtain a free developer license for staging purpose. Please visit the link provided for instructions on how to get one.

      After you obtain the developer license, just change the license for your current environment to the developer license. You can do so by going to Confluence Admin then click License Details at your left panel.

      Regards,
      HengHwa

      02 Jun 2010
      1. User avatar

        4Cast

        This answer seems to completely miss the point. What if I don't want or need a developer licence. I just want to migrate between servers. HengHwa, you seem unable to break out of a mindset of creating a test instance when the OP was asking about migrating between production servers.

        21 Jul 2015
  4. User avatar

    Jeffrey Silverman

    Just a point of clarification which is not immediately obvious.

    "Different Operating systems" really appears to mean "*nix and Windows". For example, I was successfully able to migrate our Confluence from a Solaris 10 Sparc box (different platform even!) to an Ubuntu Linux x86 box using the method described in "Transferring Confluence To Another Server Using The Same Operating System"

    The "Same Operating System" steps are much easier to do than the "Different Operating System" steps.

    Caveat: The process is probably not "supported" for the move I made, but (a) it worked, and (b) the Confluence .jar installation package tarball is the same for Solaris Sparc and Ubuntu x86 Linux, so there is no reason why it shouldn't work.

    26 Oct 2010
  5. User avatar

    Doug

    If you are moving from Windows to Linux you might want to make sure that case sensitivity is not causing your problem on your SQL restore.

    I added this to my /etc/mysql/my.cnf Below the mysqld basic settings and restarted my SQL.

    Previously I was getting the following error in my logs:

    'confluencedb.BANDANA' doesn't exist

    09 Nov 2010
    1. User avatar

      Matt Kunkel

      This is also required when moving from Mac OS X to Linux, on both confluence and jira.

      Also, be sure to reconfigure and restart the MySQL service PRIOR to importing the databases.

      25 Mar 2014
  6. User avatar

    Troy Murray

    Come on guys, your product is better then this, but the documentation here really, really needs some serious attention. I've spent the last two hours trying to move my Confluence application data from one set of application and database servers to a new set that are running on a different operating system (Windows to Linxu).

    In the section "Transferring Confluence To Another Server Using a Different Operating System", the directions don't even seem relevant. I don't see anything in the licensing portal about a development license key or a license for a staging environment.

    Since this isn't the same database I'm trying to follow the section sub-section "For XML backups (only for small to medium sized installations)" which is even worse! I can perform steps 1-3, but 4-6 aren't even available and I'm not able to get into my system to do step 7!

    I think the quality of your product is good, but this documentation really leaves a black mark on the quality of the company in my view. I know you guys are better then this.

    14 Jun 2011
    1. User avatar

      Edwin Dawson [Atlassian Technical Writer]

      To get a development license, please follow these instructions Getting a License for a Staging Environment (as linked from this page). I tested this process and was able to replicate the action with the current documentation.

      I also tested the XML import instructions with the current documentation and was able to carry out all of the steps.

      Please raise a support request at http://support.atlassian.com, where our support engineers will be able to get back to you quickly.

      I hope this helps.

      Best Regards,

      Edwin Dawson
      Technical Writing Team Leader
      Atlassian
      http://www.atlassian.com

      31 Aug 2011
      1. User avatar

        4Cast

        The point is I don't want a development licence. I just want to migrate from one production server to another.

        21 Jul 2015
  7. User avatar

    Anonymous

    How about if I want to move my production instance to a new server?  This page really only discusses creating a testbed, which is not what i want to do.

    Can I use the same production license, and how will this affect me in respect to the SEN number and Server ID?

    02 Sep 2011
  8. User avatar

    Anonymous

    do the groups get migrated automatically when moving to a new server?

    23 Sep 2011
  9. User avatar

    Bridget Maloney

    Question - can I create the "dev" environment on the same server but with a different port #?  Any idea what I need to do differently?  Thanks!

    05 Oct 2011
  10. User avatar

    Anna Mikhaylova

    Hi there,

    I am migrating Confluence 3.5.9 by your instruction and have two questions:

    1. We use JIRA integration for user management and have test JIRA instance, so we would like to change Confluence settings to point to the test server.
    Unfortunately, I could not find these settings in server.xml and could not find the file atlassian-user.xml at all :(
    So I deleted application link to production JIRA and created the new one to test JIRA and change user directiories.
    If my actions were correct, I think it would be better to change your instruction (or where I was wrong?)

    2. In paragraph "Transferring Confluence To Another Server Using The Same Operating System"
    steps 4.k and 4.m seems to be the same?

    10 Oct 2011
  11. User avatar

    Anonymous

    How can i migrate confluence to another server that have latest version of confluence installed? I have two systems, one with old version of confluence and one with a newly installed confluence. I want to move all data from the old to the new server(which is empty), without downgrading the version. Is this possible? In this guide it is recommended that home and install folder is copied over to the new server, but this will downgrade confluence version?

    The old server have confluence 3.4.2 and the new 4.2.13.

    20 Aug 2012
  12. User avatar

    Anonymous

    Avoid upgrades while migrating. If you are planning to switch databases, application servers or Confluence versions, firstly perform the application transfer in isolation, and test that it was successful before making other changes

    03 Oct 2012
  13. User avatar

    Anonymous

    The section, Ensuring no contact with production systems may cause a problem for MySQL users:

    Correction for MySQL users
    03 Oct 2012
  14. User avatar

    ragesh punathil

    Actually we have commercial license and development license.

    we need to change the current production application to different machine with same configuration . So after that we have to keep new production with full license  and old one we will change to development license.

    please advice me how to do

     

     

    05 Oct 2012
  15. User avatar

    Anonymous

    I moved from Ubuntu to Ubuntu (new machine) I had to recreate the confluence user and replicate the directory permissions on portions the home and install directories.

    19 Oct 2012
  16. User avatar

    Anonymous

    At my company we need to migratie confluence from a Windows 7 machine to a windows 2008 R2 server.

    The confluence Database is hosted externally on an SQL server.

    Could anyone give me some advice on how to proceed with the migration.

    29 Nov 2012
  17. User avatar

    Duke Adamonis

    Can we migrate from an ondemand instance to a local server? 

    13 Mar 2013
  18. User avatar

    David A. Lee

    When migrating from Windows to Linux on 4.3.7, if you have automatic backups enabled, the default backup path does not get updated for the new platform.  I had to change the setting in confluence.cfg.xml to allow custom backup paths, then go into Backup Administration in Confluence Admin and select Custom backup path, then select Default again to update it.  Before doing this, it would show the correct path when viewing Backup Administration, but when you clicked edit and actually selected Custom, it showed the Windows path.  If you do not update the backup path, any backups would get saved to the temp directory like a manual backup using Backup & Restore.  I had the same problem going from Linux to Windows on an earlier 4.x version.

    -David

    12 Apr 2013
  19. User avatar

    Mike Carlson

    Minor suggestion: change the line:

    Change 'SELECT' to 'DELETE' in the above queries once you are sure you want to remove the specified accounts.

    to

    Change 'SELECT * ' to 'DELETE' in the above queries once you are sure you want to remove the specified accounts.

    To someone less familiar with MySQL syntax, I ran into an error several times by only replacing the word 'SELECT' with 'DELETE', not understanding that the '*' also had to be removed from the statement.

    21 Aug 2013
    1. User avatar

      Denise Unterwurzacher [Atlassian]

      Good call Mike! Thanks for pointing that out, I've updated it now (smile)

      -Denise.

      22 Aug 2013
  20. User avatar

    David Gommeren

    Dead link:

    1. Download the proper distribution (the same one you have from your original site) from the Download Archive.

     

    30 Sep 2013
    1. User avatar

      Denise Unterwurzacher [Atlassian]

      Oops! Thanks for pointing that out David, I've updated it now (smile)

      30 Sep 2013
  21. User avatar

    Anonymous

    can i migrate from one virtual machine to an AWS instance?

    08 Oct 2013
    1. User avatar

      Denise Unterwurzacher [Atlassian]

      Yes, you can use an Amazon instance. The above procedure will work for any system where you have full root access to the file system. 

      Hope this helps! If you have any problems or questions, raise an issue at https://support.atlassian.com.

      09 Oct 2013
  22. User avatar

    saththiyan

    can some one give a detail description to migrate from one server to AWS, as its first time and not a developer i feel hard to go through the steps mentioned above, Anyone has idea of it? 

    In the fresh AWS instance what i should do first? Do i need to install postgresql on it?

    both machines are ubuntu 12.04 so what are the steps i should follow to migrate?

     

    21 Oct 2013
  23. User avatar

    bainorama

    Can application links be disabled somehow before starting Confluence (on a staging/test server).

    07 Nov 2013
  24. User avatar

    Bill Nelson

    Is it possible to switch from Oracle database to MySQL?

    20 Nov 2013
    1. User avatar

      Denise Unterwurzacher [Atlassian]

      Hi Bill, it sure is! Follow the instructions here: Migrating to Another Database.

      21 Nov 2013
  25. User avatar

    Ira Downing

    I'm cloning JIRA and Confluence in VMWARE. After I've cloned the servers what updates beside url's do I need to make?

    For example if the original Jira ran on jira  172.3.2.1 and the cloned instance is set to jira-test 192.168.2.1. What other things do I need to change? 

    09 Dec 2013
  26. User avatar

    efi rosenberg

    hi,

    where can i fined info on migrating from Linux to windows?

    03 Feb 2014
    1. User avatar

      Adrian Reid [Atlassian]

      Hi Eli, For information on migrating from Linux to Windows I recommend that you contact support - https://support.atlassian.com/secure/Dashboard.jspa.

      03 Mar 2014
  27. User avatar

    Martin Jæger

    On the new server, unzip the install and home directories. Windows users should avoid unzipping with the Windows built-in extractor, instead use Winzip or the free 7Zip.

    Why not use the built-in extractor for Windows?

    18 Mar 2014
    1. User avatar

      Rachel Robins [Atlassian Tech Writer]

      Hi Martin, I checked this one with our support team.  Apparently a number of customers experienced problems with the Windows unzip function dropping or trimming files with names that were too long. Apparently it should be okay in later versions of Windows, but the third party options suggested above have proven more reliable in the past when migrating Confluence to another server. 

      23 Mar 2014
  28. User avatar

    Roman Serazhiev

    The blog in the Notes section is not available.

    20 Aug 2014
    1. User avatar

      Denise Unterwurzacher [Atlassian]

      Thanks for pointing that out! I've removed the reference (smile)

      20 Aug 2014
  29. User avatar

    erico

    Dear , 

    I set up a confluence in test server and customized it: installed some new macros, styled themes, created data . Now I want to move it from test server to a live server to run current version, and continue customizing version in test server, and then upgrade version to live server. 

    How can I move source code & data from test server to live server for each my versions? 

    22 Aug 2014
  30. User avatar

    John Rehill

    I'd like to get some guidance on the following migration:

    Confluence 5.1.5 32-bit, Win Svr 03, 32-bit, external MySQL DB, attachments stored in file system.

    End goal is Confluence (latest version) 64-bit, Win Svr 08 R2 64-bit, external MS SQL DB, attachments stored in DB

    given the amount of change I know it'll take a few steps so want to ensure I'm doing correct order

    The migration plan is so far -

    • Do MySQL dump of DB
    • Setup MS SQL DB and import MySQL dump
    • Setup Win Svr 2008 R2 64-bit
    • Install Confluence 5.1.5 64-bit on 2008 server using same locations for home & install directory
    • Backup 03 instance with attachments to XML backup
    • Stop 03 instance
    • Start 08 instance and point to new MS SQL DB and import XML backup
    • All going well leave for a period to ensure all data is ok and then proceed with update of Confluence install. My preference is step release install, yes I know since I'm in the same family I could just jump straight to latest but would rather take is slow so I can check each release for potential issues given how old my current version is.

    Now for some questions.

    Can I go from Conf 32-bit/Svr 03 32-bit to Conf 64-bit/Svr 08 R2 64-bit as long as I keep the versions the same, as in both Conf 5.1.5?

    Should I do DB migration first using Confluence 32-bit on both servers and then (if possible) change from Confluence 32-bit to 64-bit? I try to stick with 64-bit applications on 64-bit servers, does it make any difference or just complicating needlessly?

    I will have in all three migrations, OS Svr 32-bit to another OS Svr 64-bit, DB to another DB and Confluence 32-bit to 64-bit. Is there any one (or all) of these I should do as a separate step and ensure a working confluence version and if so in what order?

    Thanks for any advice

     

    24 Oct 2014
    1. User avatar

      Rachel Robins [Atlassian Tech Writer]

      Hi John, I'm afraid I don't know the answer to your questions - I'd recommend asking Support directly, as I'm sure they will have encountered a migration like yours before. 

      27 Oct 2014
  31. User avatar

    Elijah Liech

    Hi is it not possible just to dump the old database into a new database, copy the attachments directory and change a configuration? Then manually add users as I did with Jira?

    31 Oct 2014
    1. User avatar

      Rachel Robins [Atlassian Tech Writer]

      Hi Elijah, this may be possible, but  it is not the recommended method. 

      07 Nov 2014
      1. User avatar

        Randall Fisher

        That is what Atlassian Tech Support recommends when you contact them.

        07 Nov 2014
  32. User avatar

    Josh Warren

    After digging through cryptic Atlassian troubleshooting (they're a bit general sometimes) docs and my own trial & error - thought I'd post my process to getting confluence migrated to a new Ubuntu server.   Side note ... I was also migrating JIRA and if you do the below + copy the JIRA user info + init.d - JIRA will run as well.

    I won't touch on the process setting up a new server  - just the confluence migration.  Minus the trial and error I experienced - this is a relatively quick process (don't fear it!).  Like anything - YMMV and make sure you're comfortable with the process.  Hope this helps some of you. 

    If anything comes up on the new server after it's been running a while - I'll try to post updates.

    Server OS: Ubuntu 14.04.1 Server 64bit (Both systems)

    Confluence version: 5.61 (stock install, nothing fancy or modified)

    Process:

    • exported entire MySQL database on original server via mysqldump (command line). 
    • imported Mysql database into new machine overwriting everything. 
      • my goal was to copy over the previous server 1:1 - make sure you know what you're doing on the import/export.  Don't want to lose anything important.
    • copy user entries of confluence from server 1 to 2.  Use your fave text editor (vim, nano).  In my case these users are confluence & confluence1 - Locations of the entries below
      • /etc/passwd
      • /etc/shadow
      • /etc/gshadow
    • copy /opt/atlassian folder from server 1 to server 2
      • cp -a /source/. /dest/
    • copy /var/atlassian folder
      • cp -a /var/atlassian/. /var/atlassian/
      • not the same spot as mine?  Check out WEB-INF/classes/confluence-init.properties for the proper folder. 
      • ref: Confluence Home Directory
    • Check the copied folders to make sure they have the proper permissions (ls -l).
      • Compare the folders in the original install to the copied folder.
    • Starting confluence automatically?  Don't forget to copy over the init.d file
    • Start up confluence like you usually do.

    Notes:

    Errors I received while migrating that are now gone after going through the above steps.

    My system info:

    Operating System

    Linux 3.13.0-32-generic

    OS Architecture

    amd64

    Application Server

    Apache Tomcat/7.0.52

    Servlet Version

    3.0

    Java Version

    1.7.0_15

    Java Vendor

    Oracle Corporation

    JVM Version

    1.7

    JVM Vendor

    Oracle Corporation

    JVM Implementation Version

    23.7-b01

    Java Runtime

    Java(TM) SE Runtime Environment

    Java VM

    Java HotSpot(TM) 64-Bit Server VM

    08 Dec 2014
  33. User avatar

    Jonas Andersson

    I see someone quoting your docs with proper sql delete-statements, but your current documentation is wrong:

    1. Disable global outbound mail by running the following database query:

       

      SELECT* FROMBANDANA WHEREBANDANAKEY = 'atlassian.confluence.smtp.mail.accounts';
    2. Disable space-level mail archiving by running the following database query:

       

      SELECT* FROMBANDANA WHEREBANDANAKEY = 'atlassian.confluence.space.mailaccounts';

       



      I doubt doing a select would disable anything. (smile)

    EDIT: Noticed i was not the first to mention this.

    05 Jan 2015
    1. User avatar

      Giles Brunning [Atlassian Technical Writer]

      Hi Jonas,

      I think the paragraphs after the SELECTs is the crucial part of this:

      Change 'SELECT  *  FROM' to 'DELETE FROM' in the above queries once you are sure you want to remove the specified accounts.

      Once this is done, you can start your test site without any mails being sent or retrieved.

      It may not be totally clear though, so I'll see if we can clarify this part a little.

      06 Jan 2015
  34. User avatar

    Tobin Smith

    What happened to the "remote import plugin" that you mention in the notes?  I tried to take a look at it but the link returned a 404.

    23 Jan 2015
    1. User avatar

      Giles Brunning [Atlassian Technical Writer]

      Hi Tobin,

      As it's not supported anyway, we'll be removing that link from the doc. Thanks for letting us know.

      26 Jan 2015
  35. User avatar

    Arya Banerjee

    Hi,

    I recently migrated one of our production Confluence instances to test environment. But it seems that all the button hyperlinks/ weblink hyperlinks within the test Confluence application are pointing towards the production. Is there anyway we could edit all these hyperlinks? There are many of these within our team spaces. How could we get them at one place so that these can be edited?

    19 Mar 2015
  36. User avatar

    Jonas Andersson

    Arya:

    I did it like this.

    1. Shut down confluence
    2. Dump database on production
    3. On linux run: "cat confluence.sql | sed 's/http:\/\/confluence\./http:\/\/confluence-test\./g'| sed 's/https:\/\/confluence\./https:\/\/confluence-test\./g'| sed 's/http:\/\/jira\//http:\/\/jira-test\//g'| sed 's/https:\/\/jira\//https:\/\/jira-test\//g'> new.confluence.sql"
      This will replace all confluence links with confluence-test, and all JIRA links with jira-test, for both http and https links (we had a little of both spread all over the place.)
    4. Import database on test. Dont forget to update db-configs before starting it up.
    5. Firewall machine away from anything production. A simple way to do this is to fill up /etc/hosts with jira, confluence and any other hostname it might connect to just to make sure it does not attempt to talk to the rest of the infrastructure, and if it does the traffic only reaches localhost.
    6. Start up test-server.

    A few pointers: I am not working for atlassian, and this is not a solution found anywhere on their page. This is not supported by Atlassian either so be careful. Look through db-dumps to find other hostnames that might be associated with your production environment before sed replacing data, and make sure these hostnames are covered by your sed replaces-statements. Also verify the new.confluence.sql by seaching for http/https and make sure everything was replaced before importing.

    19 Mar 2015
    1. User avatar

      Arya Banerjee

      Hi Jonas,

      Thanks for your reply. Could you please help me on getting the same trick for Windows server? We are having Confluence installed in Windows instead of Linux server.

      Thanks in advance.

      Regards,

      Arya

      19 Mar 2015
      1. User avatar

        Jonas Andersson

        Most of it is done the same way, only thing you have to figure out is how to replace the data in the dump. It's not recommended doing it in a text-editor as their might be binary objects in the dumps that might not be saved as they were loaded. I found that GNU did compile sed for windows, so if i were you i would try to figure out if that can be a solution. http://gnuwin32.sourceforge.net/packages/sed.htm but this is not as straight forward as on linux, so maybe you are better of copying the database dump to a linux/cygwin machine, do the sed replace like i do, and copy the file back to the windows machine for import.. Good luck.

        19 Mar 2015
  37. User avatar

    4Cast

    The title of this document is misleading.

    I want to migrate our production instance to another server (in this case from our own Linux box to Google Cloud Platform).

    This document looks like is should be right on the money for what I want to do – but it is not. The document should be called something like "Creating a test copy of your production instance" and you should have a document somewhere that deals with migrating from one server to another.

    I have spent days on this and it is so frustrating.

    21 Jul 2015
    1. User avatar

      Giles Brunning [Atlassian Technical Writer]

      Hi,

      Sorry to hear this page hasn't delivered what you're looking for. I'd suggest you contact support so they can work through the process with you.

      I'll check with support to see if there are some changes we can make to this page to make the process clearer.

      21 Jul 2015
    1. User avatar

      Tobin Smith

      I have migrated Confluence between Windows servers (using SQL Server) quite a bit, in fact I just finished one last week.  I'm not sure if my techniques will carry over to Linux, but I suspect that there will only be slight differences.  That said, we do not have crowd or other complications but the premise if the same.  Also, note that I setup Confluence to all in one place with no spaces in the path and ll under one directory; if you have your installation split up among different devices, ensure that you have all of them and that you can replicate the exact paths on the new server.

      I do not follow the instructions above (I tried once) because the make little sense and their primary goal appears to be to make the procedure as confusing and error prone as possible. My procedure is much simpler because I do not see any reason to  over-complicate a migration with developer licenses or other similar - I really don't understand why this is in the instructions above, it serves no purpose that I can see.  Instead, I take the shortest and simplest route and simply duplicate everything on the new server.

      For what it is worth, here is my procedure:

      OLD SERVER(s):

      1. Stop the Confluence service and remove it.
      2. Detach the database.
      3. Zip the program and data directories.
      4. Copy the database files and zips to the new server ('servers' if you are using a separate DB server).

      NEW SERVER(s):

      1. Configure the DB server (confluence user account, other user accounts etc) and a
      2. Configure Java, make sure that you have the JAVA_HOME and JRE_HOME variables set.
      3. Unzip the directories to the same path as on the old server.
      4. Edit the confluence.cfg.xml file and update the DB connection info.
      5. Install and start the service.
      6. Open your Confluence site to ensure it work.
      7. Check the logs, even if the web page launches OK - you never know what you will find.

      NOTE:  Ensure that you do not fat-finger anything in the config file - yes, I know it sounds stupid but it happens (especially when people are continually interrupting you), in my case I managed to delete one letter in a hibernate string which was not easily noticeable and caused me good bit of head scratching.

      That's about all I have to do to make it work, I think this stands a good chance of working for you but I don't know the particulars of your old or new environment, so there may be a detail that you need to fit into the framework.  If you have problems, please post the errors.

       

      Thanks.

      22 Jul 2015
Powered by Confluence and Scroll Viewport