Testing New WordPress Versions Part 1: XAMPP
Posted on September 16, 2007
29 Comments
This is Part 1 of a multi-part series of posts discussing how I test new major releases of WordPress before upgrading my “live” sites. This first step gets us rolling with the Apache / MySql / PHP stack. Subsequent articles will discuss database copying, code copying and, finally, testing the actual upgrade and features.
This series assumes you’re on a Windows machine. You Linux guys can do your own version of this.
Since 2.3 is coming fast, it seemed like a good time to get this series finally rolling — it has been languishing on my “things to write about someday” list entirely too long!
The Goal: Make an exact and fully functioning copy of our current blog and then try the upgrade. Plugins and all.
Warning: What appears below will need to be adapted a bit if you are running the Windows web server (IIS) on your local machine. Simplest option would be to turn it off or uninstall it. We can cover that later, in comments, if there’s really a need — I’d guess that most people running IIS are doing so intentionally and can handle disabling.
Let’s get rolling then, shall we?
First, we need to make our Windows machine look like a server. Since most (including mine) WordPress blogs are hosted on the Apache, MySql, PHP stack, we’ll just install those. XAMPP is an easy way to get that all rolling, so head over to their download page.
There are two “flavors” of XAMPP: a full version and a Lite version. While Lite appears to have everything a person would need, this article with go with the Full version since it features an installer that keeps this all simple (shortcut to that download area). You see it circled red below .
Click that installer link and download it to your computer — somewhere that you can find, of course.
Once downloaded, run the installer. You’ll have a few screens to click through, then you’ll be asked where you want to install XAMPP. The default is c:\xampp:
If you only have one drive, this is a no-brainer. For the purposes of this article, I’ll assume you went with the default, but you can put it wherever you’d like.
Next we have some XAMPP options to check out:

I unchecked the XAMPP desktop icon (I’m not a big fan of desktop icons!). I’d also advise against checking any of the options under SERVICE SECTION unless you need your XAMPP environment up and ready to go 24×7.
The installer will spin for a bit. When it is done, it’ll ask if you’d like to run the XAMPP Control Panel. Choose no — we have one more step to take care of.
Pretty Permalinks
If you run default permalinks, you can safely skip this section
I don’t know about you, but I use “pretty Permalinks” on my blogs and I want my test blog to do the same. Otherwise, it’s not really a complete test, is it? XAMPP isn’t configured for that by default, but we can fix that rather quickly.
Locate the c:\xampp\apache\conf directory. In there is a file named httpd.conf and we’re going to edit it.
Odds are good that if you double-click that file Windows will ask you what you want to use to open it. Go with Notepad or your favorite text editor (and no, Word is not a text editor!). Search for rewrite_module. For the version I’m using, that’s on line 118 and looks like:
#LoadModule rewrite_module modules/mod_rewrite.so
Remove the “#” from the beginning of the line — the # comments the line, but we don’t want it commented. So now you have this, right?
LoadModule rewrite_module modules/mod_rewrite.so
With the version of XAMPP that I’m playing with, that’s sufficient. However, sometimes I’ve also had to look for “AllowOverride” and make sure it is set to “All” for the htdocs directory (this is the default now, apparently).
Start XAMPP
Starting it all up is pretty easy. Look under your Start -> All Programs for the new “Apache Friends” folder.
But first, notice one other thing while we are here. See the XAMPP httpdoc folder option? Remember that — we’ll be using it later when we copy the existing blog over.
Select the XAMPP Control Panel and then click the Start button by Apache and MySql.

I’ve circled them above. You’ll see they turn to “Stop” once clicked. Click the “X” in the upper right and it’ll disappear to the tray.
Done!
A Quick Note about PHP versions
XAMMP will give you PHP5. Not all hosts are at PHP5 quite yet. If your host is still on PHP4, you may want to consider doing your testing of the new environment at 4 as well. Point your browser to http://localhost/xampp/phpswitch.php to learn how to switch back and forth.
Next step we’ll be doing some database copying. Onwards to Part 2
Comments
29 Responses to “Testing New WordPress Versions Part 1: XAMPP”
Leave a Reply
Please read the "Comments" section on the Disclaimer page. Don't use SEO terms instead of a name. That drives me nuts.
Oh, and contrary to what you might have read on some SEO forum, this is not a "Do Follow" blog.





This is fantastic! I can really use this info for testing out the new version before I go live with it. Good stuff.
Thank you Andy, that’s exactly why I’m writing these out. I definitely want to play with 2.3 a bit before I do the “real” upgrade.
Figured I’d share.
Nice Post. I use XAMPP Lite running on my USB drive, so I have my development environment with me wherever I go. It’s great!
When I plugin to a computer with IIS running I simply stop the IIS service. However, there is a way to get XAMPP to use a different port, so you can have both XAMPP and IIS running at the same time. For if you set up XAMPP to use port 8080, then http://localhost is IIS and http://localhost:8080 is XAMPP.
It’s too long to explain here and I’ve lost the link to the original article, but search Google if you need to do this.
Thanks Stephen for the comments. I’d do more xampp on a stick if I wasn’t buying such cheap and slow flash drives.
For those who want to keep IIS running and just run the XAMPP’s apache on a different port, have a look at this forum post:
http://www.apachefriends.org/f/viewtopic.php?t=20376
I also should’ve mentioned that some folks may get firewall alerts the first time they start up the Apache server. Don’t panic, just allow it
Awesome idea. I have been meaning to do this for awhile now. Maybe I’ll be inspired by your posts here and duplicate.
I will of course be doing a LAMPP version.
[...] here, you may want to subscribe to my RSS feed. Thanks for visiting!Chris has got a great post on testing Wordpress. As Wordpress upgrades it would be a great idea to test it before applying to your live production [...]
Hey Rob, a LAMP version of this initial post would be pretty sweet!
[...] Zeitgeist « Testing New WordPress Versions Part 1: XAMPP [...]
So…
Any bets of in I’ll be able to paste any iframe type html from a google map into the new version of the rich editor and not have the whole post just fling poo at me through the cage bars?
I’d really doubt it.
Users -> Your Profile. Top checkbox. Disable it -then- paste your code.
Yeah, but that’s not a fix…
Next you’ll be saying to do my edits in Vim.
*sigh*
Vox’s gotten to you hasn’t he?
I have had trouble with the rich text editor as well. In fact I do most things in the ‘code’ view anyway since my ‘lightbox’ tends to go ‘ARRRGGG!’ if I have to go in and re-edit. Rather than messing with the hacking and slashing I just opt for the work-around as Chris has stated.
Is it the best case scenario? No, not really, but it works, and I can live with it for now.
I also have problems with the way Wordpress italicizes. It uses “” to italicize. To keep it from going wonky I have to go in and change all these to ““’s. I am pretty sure it’s a theme problem though.
Rob,
I wrote a post several months ago about Taming the Addvanced Editor. Not sure anything in it will be of any use, but it may be worth a try. For the record, I’ve now turned the Advanced Editor off.
As for <em> versus <i>, i just means italicize, while em both italicizes and places more emphasis on the subject. If you are italicizing keywords (ie what the post is about), then you really want to be using em to help the search engines find your post. By the way, it’s not a Theme thing. You’ll find the same thing with b and strong for bold.
[...] for example, did a series of posts on how to best upgrade the software. You can see the posts here, here, here, and well, there are more, but I grow bored with the “here’s” and [...]
WAMP For WordPress…
Yes, that was the sound of me hitting my head as I tried to setup a WordPress development environment on Windows Vista in the absence of my now restored Ubuntu running ThinkPad.
It is also the acronym for the stack of software that WordPress runs on wh…
[...] has a good series on how to do testing on WordPress with a local mirror using XAMPP, I think that is what I am going [...]
[...] did a series of posts last year on how to test and evaluate new WP versions on your local machine. That’s the [...]
[...] to the contrary). Before I launched it over here, I followed Solo Technology’s guide for testing new WordPress versions on my home computer – make sure to check out all four [...]
Hello.
Thank you for such a clear series.
I’m new to all the XAMPP stuff and I’d welcome your advice.
I don’t have a live blog yet so I’d like to build a local version to test first.
I’ve read different views on how to secure my pc with regards using XAMPP lite…
Some advise to visit the Security Console MySQL & XAMPP Directory protection and setting a MySQL root password, while others say this is not necessary.
Do you have any views on the best way to secure my pc, the locally hosted test Wordpress and the interaction with XAMPP lite?
PS I’m saving your series for when I (eventually) have a live blog
Hi Scott, glad you liked it!
As for security… I’m a bit of a pragmatist.
I figure the odds are strong that most folks are behind a firewall/NAT router. I also figure most folks have not configured their firewall to allow outside traffic IN to their XAMPP install. Thus, I tend to just shrug it off. In that situation, your only concern about security is around folks on your local LAN.
In the typical home network scenario, why bother?
Office or campus? Then I would at least set the MySQL root password.
Thank you very much for replying so quickly
I’m based at home so I think I’ll just leave it…
Fingers crossed that all goes well when I eventually upload the test site ;-o
PS You’d never guess I’m new to all this malarkey?!
Hey Scott – Fun isn’t it?
Great article! Is there any way to install multiple versions of wordpress on xampp? Conversely, multiple versions of xampp on the same hard drive?
Hi George, glad you liked it.
Installing multiple WordPress is pretty straight-forward — it’s all about the db prefix in the wp-config.php file. See this for more info: http://codex.wordpress.org/Installing_Multiple_Blogs
Not sure about multiple XAMPPs…
Thanks for the speedy response! I can see how I might adapt the instructions for multiple blogs to installing different Wordpress versions under xampp, but would placing the different files such as wp206, wp2011, wp203, wp25, etc. in folders under htdocs also work?
(If so, I assume I would have to convert wp-config-sample.php to wp-config.php, and the other steps that follow?)
Thanks again!
@george – yep, the multiple blogs method works great for multiple versions. And yes, the key is making sure they’re all in their own folder and they all have a different db prefix in wp-config.php.
Have fun
hi there Chris, great tutorial.
I got everything up and running and can see the default and classic themes. When I download and unzip any new themes in my wordpress\wp-content\themes directory, they don’t show up.
I’m using the 2.6 version of WP. not sure if I need to change something locally or what. I’ve run several hacked WP sites in the past and have just done the “save and review” kind of changes.
i think XAMPP is a better method but I’m hoping I can see the theme changes locally first.
thank you in advance for any help!
kindest regards, spencer
@ chris, nevermind I’m a retard. probably should have read through the entire tutorial before asking my question. i didn’t install the themes under the correct directory (htdocs) so by the time I got to page 3, I found the error.
will study your directions in the future for the rest of the install.
great work!
[...] Testing New WordPress Versions – This series of three articles is slanted toward setting up a separate copy of your blog for the purpose of testing a WordPress upgrade prior to doing it on your live site. However, the instructions apply to other scenarios as well. This set of articles offered the most detailed information that I could find including screenshots. If you haven’t done this, then this is a great place to start! [...]