What is the Best Strategy for Re-skin then Migration, then Multisite??

Dear Team WPMU,

I now present to you the main reason I require your support: I need to re-skin a Production Site (Live Site), then migrate it, then convert it to a multisite installation.

The current site is an install of Wordpress in the following directory:

http://www.aur.edu/american-university-rome

Let's call that "Website Alpha." Note that Website Alpha is NOT in the root directory.

Now, I also have a separate install of Wordpress in the root directory. Let's call that "Website Beta." I had planned to use Website Beta as the sandbox, after which I would have turned off Website Alpha and switched on Website Beta, but I now suspect that might not be the best strategy.

Note: you presently cannot access the root due to a .htaccess redirect which you helped me figure out (thank you, again, Jack and Tom!).

I would again emphasize that I do not need to re-do Website Alpha; I only need to re-skin it with a new theme / home page, then migrate, then convert to multisite.

I have the following tools at my disposal:

- DesktopServer
- BackupBuddy

Knowing all of that, my question is this:

According to the WPMU experts, what is the best strategy to apply here to pull this off?

My tentative plan:

1. Use BackupBuddy to create an archive of Website Alpha.

2. Use DesktopServer to create Website Beta by importing the archive created from BackupBuddy; re-skin.

3. Deploy Website Beta to the same directory as Website Alpha...? (Here I am unsure how best to do this.)

4. Use BackupBuddy to migrate Website Beta (now the live website) to the root directory. I suspect this is best as it will address all of the URL changes. What I don't know is if this also creates a .htaccess file to redirect Website Alpha's old location URL's to the actual location now on Website Beta. In other words, what was once:

http://www.aur.edu/american-university-rome/academics

Is now:

http://www.aur.edu/academics

5. Convert Website Beta to multisite; delete Website Alpha.

Does that sound like the best plan? Or would you recommend a different strategy?

Please advise. I look forward to your thoughtful reply.

Cheers,

Tim

  • Patrick

    Hi @Hypergolica

    Definitely backup before any major operation like that yes.

    You'll want to read in detail the following documents in the WordPress codex.

    Using a pre-existing subdirectory install to power the site's root:
    http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory#Using_a_pre-existing_subdirectory_install

    ... and:
    http://codex.wordpress.org/Moving_WordPress#When_Your_Domain_Name_or_URLs_Change

  • Hypergolica

    Dear Patrick and all at WPMU DEV,

    Thank you for the reply. However, I must be frank: someone such as myself does not pay hundreds of dollars a year for support only to be told, "yes, you must backup your site," and then "go read the codex." Also, judging by your response, I get the impression that you didn't carefully read it: I don't need to read about "using a pre-existing subdirectory install to power the site's root" when my plan is to migrate it to the root... not to mention, convert it to a multisite system.

    As I mentioned in my lengthy request, this scenario is the main reason I signed up for the wpmu dev support. Therefore, my expectation is quite simple: I would like instruction and analysis regarding each point indicated. I would also like to know if there are alternatives to my strategy. Perhaps, given the tools I have, there is a better way? I don't know. That's where you and all at wpmu dev come in: as I was told by your sales team via email: "we want to be your Wordpress web development team!"

    I kindly request a more thorough and considerate response; one that demonstrates a clear understanding of what it is I am trying to do. If something isn't clear, then, by all means, let me know and I'll be happy to provide more information.

    Thank you.

    Tim

  • Imperative Ideas

    Hello Hypergolica,

    Your question is overly broad in scope. My understanding is that you wish to apply a new theme to a current site. This can be quite simple if you do not have a lot of custom post types, or it can be quite complex if you do.

    If I were taking on this project, I would clone the production site to my localhost machine. I would then develop my new theme locally, where there would be no risk of breaking current functionality. Once the new theme was developed, I would back up my site and migrate both the files and database to the live server.

    Developing a theme can be a fairly lengthy process. Even something as seemingly simple as a four page site with a portfolio takes me upwards of ten hours, and I have my own rapid prototyping engine based on WordPress and Foundation.

    Now, as to the specifics of your question, I can tell you that you are going over the heads of many of the support folks here who are well versed in WPMU's plugins and themes but not necessarily rapid prototyping and developing complex themes in the field. I'm going to step in and help because, as a member of the community, I try to throw other developers a bone on these sorts of things. So let's rap.

    As evidenced by my earlier outline, your plan is sound. What you are missing is specifics. Let me know if I lose you at any point here. Simply using backup buddy will create problems for you if you do not replicate the exact domain structure on your local box. This means setting up Apache and your hosts file in such a way that they think http://yoursite.com points at 127.0.0.1 and configuring your httpd.conf file so that you have a working entry for that URL.

    1. If you are using XAMPP, edit the C:\xampp\apache\conf\extra\httpd-vhosts.conf file. The first entry will be the default if someone types http://localhost. After you create your default, create a second entry for your site. It will look something like this:

    <VirtualHost *:80>
        ServerName develop.com
        ServerAlias develop
        DocumentRoot "C:/xampp/htdocs/develop"
    </VirtualHost>

    2. Restart Apache. If you are on WAMP or MAMP, I can't help you. I don't use that product so you will have to refer to Google for a virtualhost setup. It should be similar, though the file structure may be subtly different.

    2. Edit your hosts file. If you are on Windows, it will be located at C:\Windows\System32\Drivers\etc\hosts (no extension). You will need to edit it with elevated permissions. Create something like the following entry:

    127.0.0.1 http://www.develop.com develop.com

    ^^ THERE SHOULD BE NO HTTP HERE, WPMU'S SOFTWARE IS ADDING THAT

    This will redirect all traffic to your domain at 127.0.0.1. Because you set up a virtual host to handle the domain, Apache will point you to the folder you selected. Note that if you want to access the live site, you will need to prepend this entry with a # to comment it out.

    4. Now, copy your WordPress files into the folder and set up your database in PHPMyAdmin. Be sure to set up the exact same DB and username so that your WP-Config.php file doesn't have to be modified between dev and live.

    5. Import your MySQL database. You may even consider using something like NaviCat, which will allow you to do a periodic synchronization of data, so that new posts can be pulled across. When you are ready, you can then sync in the other direction. The software comes with a PHP bridge in the install directory, which will get you around the SSL restriction most hosts employ for offsite DB software.

    You should now have a working clone of your site on your local machine, operating off of the actual domain. This makes it VASTLY simpler to move the site back to live when you are ready.

  • Patrick

    @Hypergolica

    I apologize for not having fully grasped the point of your request, as well as the delay in following up.

    Allow me to try again. :slight_smile:

    From what I understand in your original post, you have a fully functional WordPress site in a sub-directory - http://www.aur.edu/american-university-rome - on which you want to activate a new theme and move up one level to the root of your domain - http://www.aur.edu/

    This is actually a very simple process which does not require all the tools, or the complicated steps, you have indicated.

    All you really need to do, once you have your new theme up and running on the current site, is follow the simple steps outlined here:
    http://userguide.expand2web.com/moving-wordpress-from-a-sub-directory-to-the-root/

    Note that you can also activate the new theme after moving the site if you prefer.

    I can confirm that it works like a charm, and takes exactly 30 seconds via FTP. :slight_smile: I just tested moving a fully functional WP site installed in a sub-directory - public_html/wordpress - with media items to the root at public_html.

    First ensure that the WordPress install in the root is completely removed, as you will be moving your existing site there.

    Also note that when you make the changes as described in Step #2 (URL changes), your site will be effectively shut down, and you will not have access to wp-admin.

    But, as moving the entire install up one level from the sub-directory to the root literally takes only a few seconds via FTP, that should not be a major issue.

    In my test, the Step #4 in the above tutorial was not necessary as media URLs updated automatically. But you should check them to be sure and, if necessary, follow that step.

    After that is done, you'll want to enable multisite by following the directions here:
    https://premium.wpmudev.org/manuals/wpmu-manual-2/creating-a-network-to-enable-wordpress-multisite/
    ...or here:
    http://codex.wordpress.org/Create_A_Network

    An alternative method:

    I can fully understand if you do not want to risk simply moving your site like this, because moving is not the same as copying. So, here's an even safer way:

    Copy the entire contents of your sub-directory install to a backup folder on your computer via FTP (remember to also delete the WP install that is currently in the root as you don't need it). Then copy all of that back into the root folder of your site. This does not take your site down at all.

    Now if you access either URL in your browser, you will see that both work just fine and display the same content:
    example.com
    example.com/wordpress

    All you need to do now is switch the WordPress Address and Site Address as per Step #2 in the above tutorial, and refresh the permalinks to switch from one install to the other.

    This may be advantageous as you would now have 2 fully functional, mirrored installs of the same site: the publicly visible one in the root, and the other for testing purposes still in the sub-directory. You can switch back and forth between the 2 willy-nilly. :slight_smile:

    EDIT - Whoops, that last paragraph is not entirely correct. See more comments below. :slight_smile:

  • Hypergolica

    Hi Patrick,

    Okay, I'm going to follow your "alternative method" and create a copy of the website so that I will have "2 fully functional, mirrored installs of the same site."

    Two questions:

    1. Do I have to create a back-up directory first, then copy that to the root, or can I go straight to the root? Meaning:

    Original website here: example.com/wordpress
    Copy goes here: example.com/backup
    Copy of the copy goes here: example.com

    OR

    Original website here: example.com/wordpress
    Copy goes here: example.com

    What's the difference?

    2. If I understand correctly, both the root site and the sub-directory site are using the same database, correct?

    Also, prior to doing either of the above, I will obviously DELETE the new clean Wordpress install that I have in the root: example.com

    Please advise.

    Cheers,

    Tim

  • Hypergolica

    Patrick,

    Another quick follow-up...

    I just read this:

    http://userguide.expand2web.com/moving-wordpress-from-a-sub-directory-to-the-root/

    If the idea is that both the example.com and the example.com/wordpress installs can exist as mirror websites, how does that not cause a conflict with the links? Doesn't it have to be one or the other?

    Meaning, aren't they both using the same database? Or is the idea to duplicate the database as well?

    Tim

  • Patrick

    @Hypergolica

    Do I have to create a back-up directory first, then copy that to the root, or can I go straight to the root?

    No you do not need to create a backup directory on your site.

    Simply copy the entire contents of your sub-directory install (example.com/wordpress) to a backup folder on your computer via FTP.

    Delete the WP install that is currently in the root.

    Then copy the entire contents of the backup folder from your computer to the root of your site (example.com).

    If the idea is that both the example.com and the example.com/wordpress installs can exist as mirror websites, how does that not cause a conflict with the links? Doesn't it have to be one or the other?

    You are absolutely correct on that point. Sorry for a bit of unintentional misdirection there. :slight_frown:

    Switching from one to the other (by changing WordPress Address and Site Address and refreshing permalinks) would effectively render the one you switch from useless.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.