Best way to create a staging site?


I am helping a small business update their site, which is several versions out of date. Their existing theme won't work with the latest version of Concrete, so it looks like this is going to be a fairly substantial overhaul.

I'm new to Concrete5 (though have lots of experience building and migrating WP sites).

What's the best strategy for creating a staging/development/test site so that I can make my changes there, and then make everything live at once?

I don't have the option of a local webserver, but could either install something on the existing server or a completely different web server.

I've looked over the "Moving a Site" documentation, but I'm still not clear on what the preferred way to do this is.

Thanks in advance for any help you can provide.

JohntheFish replied on at Permalink Best Answer Reply
The preferred way depends very much on the servers involved and what you are comfortable with.
For copying a database, sometimes the CLI is easier. Sometimes phpMyAdmin is easier. Sometimes its one to export and the other to import.

There is nothing special about copying a c5 database. Its just the same as copying any database. The only important things are to create any database with UTF8mb4 and ensure you have mixed case table and column names enforced. That is the default with linux, but others can default to lowercase.

For general practice, an old howto
lashelle replied on at Permalink Reply
Ahhhh, thank you. That is exactly what I needed. I don't have server access yet to know how theirs is structured but that document helps a lot.

When moving Wordpress sites, I've sometimes had issues with respect to relative URLs breaking, particularly when moving from a subfolder to the site root. Doesn't seem like that is as much of an issue with Concrete5 (or is that just wishful thinking)?

Thanks for your help.
JohntheFish replied on at Permalink Reply
In a properly constructed c5 site, all the internal paths are generated as required from cID or fID. You can move the site, move pages in the sitemap. Move files between file manager folders. And it all stays consistent.

(You will find badly built sites where internal URLs have been hard coded)

Much easier to move than WP. A day moving a WP site is an hour moving a c5 site.
lashelle replied on at Permalink Reply
Oh thank goodness. That's a relief to hear.

I imagine I'll run into some absolute URLs since they've been trying to manage the site in house for almost a decade, but those would've been a problem anyway.

Thanks again for your help!
JohntheFish replied on at Permalink Reply
If its a decade old, it could be on a legacy core. If so, make sure you read legacy docs.
lashelle replied on at Permalink Reply
Ah, will do. Thank you. It's, so I may have my work cut out for me, it looks like.
NioMarvin63 replied on at Permalink Reply
Hi there! I know it's been a while and I was wondering what you ended up doing? I'm in a similar situation and thought I could recreate the Simcasts client's site in a new trial site and then switch over their domain but I think they'd have to pay for hosting again or create the site and then take time to manually transfer it from the temp site to their current site which would require their site to be offline while I make the changes. I checked this post, so great thanks to JohntheFish!!! And for your post of course I hope we did it!