[wp-hackers] WP Development & Production Sites

Jeremy Clarke jer at simianuprising.com
Fri Dec 17 14:00:33 UTC 2010

I put stage.* on the same server as the live site but in a different
directory, and set it up as a normal subdomain wherever your domain
settings live (probably the registrar). I also put an easy http auth
password on the stage site so the public can't get in.

This works well for showing it to clients because you can keep working
on your local copy while knowing that the stage site is running a
stable snapshot of the code. It also means that before passing
directly from your local server to the live site all new versions
spend some time being tested on the live server, which may have a
different enough configuration to need some config/code tweaks. It
also gives you a chance to test your "deployment" whatever that might
be, so you'll notice that plugin setting you forgot to account for

Jeremy Clarke • http://jeremyclarke.org

On 12/17/10, Charles Frees-Melvin <wordpress at cefm.ca> wrote:
> You would need a VPN type solution to accomplish that type of situation.
> --
> Charles E. Frees-Melvin
> charles at cefm.ca
> www.cefm.ca
> 506-640-1007
> Sent from my Rogers iPhone 3G
> On 2010-12-17, at 8:37, Otto <otto at ottodestruct.com> wrote:
>> On Fri, Dec 17, 2010 at 1:39 AM, Ankur Oberoi <aoberoi at gmail.com> wrote:
>>>> Okay, let's say your production site is live.example.com and your
>>>> staging site is stage.example.com.
>>>> On your staging site, you set it up to think it's the live site, with
>>>> the live URL. This is to make it identical in content and database and
>>>> such with the live site.
>>>> Then, in some file that is not going to the live site (wp-config, any
>>>> plugin, etc), you'd do something sorta like this:
>>>> ob_start('my_callback');
>>>> function my_callback($out) {
>>>>   return str_replace('live.example.com', 'stage.example.com', $out);
>>>> }
>>>> Output buffering. It's easy.
>>>> http://php.net/manual/en/function.ob-start.php
>>> I just got around to trying this out. At first I thought this was perfect
>>> and I took ur advice on modifying the hosts file to point to my own
>>> machine for the live URL. Then I tried to access wp-admin and I have an
>>> issue, maybe you've dealt with this so you can help me out.
>>> I (will) have a staging server at 'stage.example.com' and the site lives
>>> at 'example.com', so I set my output buffering callback function like
>>> this:
>>> function my_callback($out) {
>>>        str_replace('example.com', 'stage.example.com', $out);
>>>        return str_replace('http://example.com',
>>> 'http://stage.example.com', $out);
>>> }
>>> I am trying to be extra cautious about the url, although i don't like the
>>> fact that if anywhere in my content i talk about example.com it will
>>> automatically be changed to stage.example.com, but in this case that
>>> won't happen so lets just ignore that.
>>> on my staging machine I added a line to /etc/hosts:
>>> stage.example.com
>>> the machine also has a vhost running whose ServerName (apache specfic i
>>> guess) is set to stage.example.com and points to the directory in which
>>> the site lives.
>>> I am pretty sure I did all the steps right, but what would it take for my
>>> client to be able to visit stage.example.com/wp-admin in order to see the
>>> admin section as usual?
>> If you want your client to see the staging site, then the staging site
>> has to be somewhere that they can see it. This means that if you're
>> running it on the local machine, then that ain't going to work.
>> I was kind of assuming that stage.example.com was a live site
>> somewhere on the internet. If you're developing locally, then no magic
>> in the world will put the local install on the live internet... short
>> of actually putting the machine on the live internet as a server with
>> a domain name pointing to it.
>> -Otto
>> _______________________________________________
>> wp-hackers mailing list
>> wp-hackers at lists.automattic.com
>> http://lists.automattic.com/mailman/listinfo/wp-hackers
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers

Jeremy Clarke
Code and Design | globalvoicesonline.org

More information about the wp-hackers mailing list