I'm relatively new drupal user, that always get nervous when taking a site live.

I need to redesign our current website as well as add some modules and node types etc.

What i plan to do is just grab the drupal files and the database, change them up locally and then replace the files and database on the live site.

Is this the best method for doing this?

Looks like a relatively simple task, but i just don't wanna be spending 3 days of headache again working out how to take a site live.

  • Welcome to Drupal Answers. Your question is extremely broad and inappropriate for this site as it stands. Is your question how do you set up local development for an existing site and then push changes up to your live server? – Patrick Kenny Apr 27 '13 at 0:57
  • Thanks patrick. Yeah i'm still learning how to use this site. And Yes i believe that is my question. – Jeremy Apr 27 '13 at 2:10
  • There are many tutorials on how to do this online, but it depends on your local OS, server OS, how comfortable you are with Git, etc. Acquia Dev Desktop is a pretty good free solution that works on Windows, Linux, and Mac. See this question: drupal.stackexchange.com/questions/51449/… – Patrick Kenny Apr 27 '13 at 2:39
  • Alright, Cheers Patrick. Ill check it out. – Jeremy Apr 27 '13 at 2:52

If you can guarantee that no content will change on the live site while you do the work then that is fine.

This doesn't just include content creation, but also things like users signing up, users commenting or submitting webforms (unless you don't need to keep the webform submissions on your site), users flagging things, or rating things or subscribing to things.

Basically anything an user, admin or not, can do that might change the database in some way. Or even things that change without user action, like time based events (this is probably less likely).

If you can't be sure of that and you can't afford to lose any data there are other options. Whether these options are suitable for you also depends on your specific project and what you are actually changing.

  1. You can try keeping a record of any database changes you make and make them again to the live site when deploying your changes. This method is very error prone and can cause you grief if you are not extremely careful. - Things like views & contexts (and many other things) can be exported and imported, making certain tasks very easy to deploy in this manner. Other things require manually reproducing all the changes. There are other import/export type modules around for things like content types, users, taxonomy, menus etc. that are useful to varying degrees depending on your requirements.
  2. You can try using modules like features or configuration management, for deploying your database config.

In the end, an exact answer cannot be given for a question like this as it depends on your requirements.

  • If one thing, the content will change. I was planning on manually inputting the content into the local site before the site goes live. Then replace the files/database. – Jeremy Apr 27 '13 at 7:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.