I need to migrate confluence from production to dev sever.
Asked by somanath kondeti:

I need to migrate confluence from production to dev serveron linux. Can anyone provide me the steps. Here, we are using the confluence version is 5.10.8 on both production and dev.


Answers:
author: Thomas Deiler
body: Dear [@somanath kondeti](/t5/user/viewprofilepage/user-id/1183630),

if I understood you right, you would like to migrate the data of prod to dev. Somehow to make a copy.

All you need is the XML dump and the attachments (and some other things).

Best you do following:

1. create a dump of prod
2. shut down prod (to avoid problems)
3. copy all of confluence home files to the second server
4. restart prod confluence
5. modify the confluence-home configurations - means confluence.cfg.xml (you do not want to use the same db as production, or?) and server.xml (dev has a different URL, or?)
6. adjust the path of the new dev confluence-home in the confluence application directory
7. then start dev confluence
8. replay the dump
9. adjust the URL within confluence
10. exchange the license with a dev license.

so long

Thomas

comments: author: somanath kondeti
body: Hi Thomas,

Thanks for your reply

Thanks

somu


author: somanath kondeti
body: Hi Thomas,

Not only db , i want to migrate all the data.

Thanks,

somu


author: aabouharga
body: Hello [@somanath kondeti](/t5/user/viewprofilepage/user-id/1183630),

So you are creating staging environment you need to follow these steps

1- Replicate your environment

Your staging environment should closely replicate your real-live environment (production), including any reverse proxies, SSL configuration, or load balancer (for Data Center).

You may decide to use a different physical server or a virtualized solution. The main thing is to make sure it is an appropriate replica of your production environment.  
This is for confluence server

2- Replicate your database

To replicate your database:

* Back up your production database. Refer to the documentation for your database for more info on the best way to do this.
* Install your database on the staging server and restore the backup.
* The steps for restoring your database backup will differ depending on your chosen database and backup tool. Make sure:
* Your new staging database has a different name from your production database.
* Your staging database user account has the same username and password as your production database user account.
* Character encoding and other configurations are the same as your production database (for example character encoding should be Unicode UTF-8 (or AL32UTF8 for Oracle databases).

3- Replicate Confluence

* To replicate Confluence, make a copy of your Confluence installation and point it to your staging database. These instructions are for Confluence Server Copy your entire production installation directory to your staging server.
* Copy your entire production home directory to your staging server.
* Edit \<installation-directory\>/confluence/WEB-INF/classes/confluence-init.properties to point to your staging home directory.
* Edit \<home-directory\>/confluence.cfg.xml or \<installation-directory\>/server.xml to point to your staging database.
* If you're using a direct JDBC connection, the line you need to update in confluence.cfg.xml will look something like this...

```
<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/confluencestaging</property>
```

* If you're using a datasource connection, the lines you need to update in server.xml will look something like this...

```
Resource name="jdbc/confluence" auth="Container" type="javax.sql.DataSource"
username="postgres"
password="postgres"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/confluencestaging"
maxTotal="60"
maxIdle="20"
validationQuery="select 1" />
```

4- Start Confluence with the following System Properties to make sure your staging site does not send notifications to real users.

```

-Datlassian.notifications.disabled=true
-Datlassian.mail.senddisabled=true
```

5- Head to http://localhost:\<port\> and log in to Confluence on your staging server.

Go to \> General Configuration and change the base URL of your staging site (for example mysite.staging.com)

Go to \> General Configuration \> License Details and apply your development license.

Go to \> General Configuration \> System Information and check that Confluence is correctly pointing to your staging database and staging home directory.

Hope this helps.  
Best Regards,  
Aya Mohamed


author: Thomas Deiler
body: [@somanath kondeti](/t5/user/viewprofilepage/user-id/1183630) with the copy of confluence-home you have all data.


author: Thomas Deiler
body: Dear [@somanath kondeti](/t5/user/viewprofilepage/user-id/1183630),

have you managed your migration? Do you need more assistance?

So long

Thomas


author: somanath kondeti
body: Yes, Can you provide me the assistance


author: Thomas Deiler
body: Dear [@somanath kondeti](/t5/user/viewprofilepage/user-id/1183630),

where did you get stuck?

So long

Thomas


author: SherazadeC
body: Hello, I have a similar question as the original poster, I'm creating a staging environment of a production environment on a different physical server and am unable to make a copy of the home directory to the new server.

I've changed permissions to make it possible but there are still files I can't copy.

What can I do?

Thanks!