How to deploy an Orchard CMS site, including all settings and content from development environment?

Tomas Vinter picture Tomas Vinter · Jun 19, 2011 · Viewed 17.1k times · Source

I've been trying to build and deploy a website running on Orchard CMS. I've previously downloaded Orchard, set up a development environment, made a few modifications to the source, added and modified a theme, added some content and so forth. I've been using the SQL CE as database. Now I want to build and deploy the complete website. I've built a deployment package by running the build script, as described here. It's easy to simply ftp the built package to the hosting server. However, when visiting the site I now get the install a new site procedure. Apparently, the cms settings and content from my development environment have not been reflected in the deployment package. Thus, I need to copy all the content and re-do all the settings, including creating all widgets etc. again.

Does anyone have any good ideas on how to publish an Orchard site from a development to a production environment, including the cms settings, widget settings, content, etc? All guides I've found on the web describe how to use WebMatrix to deploy an Orchard site to shared hosting or Azure, but all of those guides end up with having a clean Orchard installation. What I would like to achieve is to develop the site locally, and then push the entire site to the hosting server.

Answer

Piotr Szmyd picture Piotr Szmyd · Jun 19, 2011

If you have built a deployment package and transferred it to your server (via FTP), you are almost done. There are two things you have to do after that. Remember, do not run the first-time setup.

  1. Copy the ~/App_Data folder from development to production. If transferring the files with ftp, make sure to transfer in binary mode. Make sure that the account, under which the AppPool runs has read/write permissions to that folder.
  2. If you use SQL Server Compact. Do nothing - the database has already been copied in 1.
  3. If you use SQL Server 2005/2008 database. Migrate your db to production environment. Next, change the connection string to point to the new database inside Settings.txt file located under ~/App_Data/Sites/Default.

After that, you can run your site and everything should be ok. So in your scenario, you can only copy the folder from 1. and you'd be set.