Write a tutorial for setting up a local dev environment
A section of the core contributor handbook will be about how to set up a local test install, including a web server, Subversion, and WordPress. Because of the various operating systems and software packages out there, we’re going to need a few different tutorials.
I need some people willing to write up procedures for a number of standard setups. This includes:
- WordPress on XAMPP (both Windows and Mac) MAMP, and MacPorts
- TortoiseSVN and a tutorial on command-line Subversion usage, including co, up, revert, diff; patch; conflicts, etc.
- Whatever you Linux guys use
I’d also love an article on getting the test suite up and running. Anything I’m missing?
So, for these procedures, people can volunteer (probably for their current setup). Once steps are written, others will need to test them. Many procedures may heavily borrow from or link to outside resources (such as the vendor sites themselves) — this is fine. And, there may already be some good things in the Codex or on other sites about getting WordPress running. Again, fine. (There are SVN articles by both @westi and @markjaquith, and those are probably great to start from.) Gather links, screenshots, further reading, whatever will help.
So, who is in?
Boone B. Gorges 11:51 pm on September 18, 2011 Permalink
I wrote one up for MAMP last year. Don’t think I have the mental bandwidth to commit to sprucing it up at the moment, but anyone is welcome to crib from it. http://teleogistic.net/2010/05/setting-up-a-wordpressbuddypress-development-environment-on-os-x/
Eric Mann 11:58 pm on September 18, 2011 Permalink
I current use XAMPP and TortoiseSVN on Windows. I’d be willing to write up just how I did it, too. Do we have a place in Codex to dump this for now?
Michael Visser 1:03 am on September 19, 2011 Permalink
Happy to help Eric, as above we could take some of Boone’s content. I have experience with TortoiseSVN. I have a few of my own local development tricks I could share that make for happy coding; e.g. mapping a drive and changing the httpdocs location, etc.
Kunal Bhalla (@kunalbhalla) 12:02 am on September 19, 2011 Permalink
I can help out with an article on setting up the development environment for Ubuntu/Debian based distro users.
Erlend 12:03 am on September 19, 2011 Permalink
Two relevant posts from DevPress that I found very helpful:
http://devpress.com/blog/a-really-sweet-wordpress-development-environment/
http://devpress.com/blog/how-to-setup-subdomains-for-a-local-wordpress-network/
WraithKenny 6:29 pm on July 30, 2012 Permalink
Links are broken. I have a very short tutorial on setting up multiple localhosts on xampp: http://www.unfocus.com/2012/07/24/multiple-localhost-sites/
scribu 12:15 am on September 19, 2011 Permalink
There already seems to be a nice tutorial for setting up WP on Ubuntu:
http://www.ubuntugeek.com/installing-wordpress-3-0-on-ubuntu-10-04-lucid-lynx.html
scribu 12:19 am on September 19, 2011 Permalink
Nevermind, it doesn’t cover the Subversion part.
russell 12:22 am on September 19, 2011 Permalink
Nacin, I’ll put together a Ubuntu tutorial as that is what I use most of the time. Is apache, mysql and php a prerequisite or should there be some instruction on those as well?
Ryan 12:27 am on September 19, 2011 Permalink
Should there be info on free SVN services? I have had a lot of success with Assembla (http://offers.assembla.com/free-subversion-hosting/) and their free hosted SubVersion repos. Keeping everything backed up on a server instead of locally is obviously a good idea. I wouldn’t mind writing up something to show how to do that if it is something you think is a good idea.
Arnan 1:18 am on September 19, 2011 Permalink
I have a Mac OSX Server with the built-in Apache/php/mysql stuff and some DNS routings to make it all work. No SVN though. I use the WP SVN servers for it anyway, to some extent.
Throw me an email if you need a more detailed setup.
davidscotttufts 1:19 am on September 19, 2011 Permalink
See if this is something you can use, I can update it if you have any suggestions, http://www.davidscotttufts.com/2010/10/12/10-steps-to-setting-up-your-pc-as-a-development-server-for-wordpress/
Otto 1:56 am on September 19, 2011 Permalink
There is some basic XAMPP stuff on the codex, but it’s not really very fleshed out.
I can write that one up, no problem. I’ve set up XAMPP so many times I can do it while asleep. Heck, I have done it drunk.
Adam (bizzyLabs) 3:15 am on September 19, 2011 Permalink
If we need something written up for Wamp on Windows, or using Subversion with Aptana Studio 3, I could definitely do write ups for those.
Alex Mills 5:17 am on September 19, 2011 Permalink
I ditched XAMPP in favor of the PHP, MySQL, and Apache Windows installers. They take care of making the services, etc. Super simple and much better config files than XAMPP uses.
Ryan McCue 7:41 am on September 19, 2011 Permalink
+1, they make it a lot easier to configure. I’d say that this should probably be the preferred guide for Windows.
George 1:39 pm on September 21, 2011 Permalink
Alex can you write more about this subject? or add any useful resources?
Daniel 6:48 am on September 19, 2011 Permalink
I have off-topic question: you are going to hit the Non-Leads Feature freeze in a week, and there are 779 tickets assigned to “Awaiting Review”. Do you plan to review them and decide what can go to 3.3, and what to next release, and what to close w/o fix? I think there are many fixes which could be released in 3.3, e.g. #18305.
Peter Westwood 7:09 am on September 19, 2011 Permalink
For MacPorts there is a starter for one by @mdawaffe here http://blogwaffe.com/2010/01/22/php-5-apache-2-mysql-5-on-os-x-via-macports/
garyc40 11:06 am on September 19, 2011 Permalink
I’m using OSX Lion and apache, php are already there. As a result, MAMP or MacPorts would be redundant. MySQL can be installed by downloading a dpkg package from mysql.com. By editing .bash_profile you can turn on and off the whole stack with an alias command. Same thing can be done for Snow Leopard, if I remember correctly.
Also, if I were to write about managing the dev environment, I would propose a Git workflow into this tutorial as well (something along the line of Mark Jaquith’s Git tutorial, but a bit more in details).
Do you think that’s good enough for the handbook? I haven’t been able to contribute patches to core for a few months now and would love to do whatever I can to help
Chris Taylor 12:59 pm on September 19, 2011 Permalink
Is it worth mentioning other solutions, such as http://www.instantwp.com/ (I haven’t tried this myself, but it looks interesting).
Andy Skelton 1:55 pm on September 19, 2011 Permalink
Please include a warning about installing plugins that register the blog with any external services, e.g. Jetpack.
David Tufts 4:06 pm on September 19, 2011 Permalink
I could build on this tutorial, just need some more detail on some of the steps and maybe some graphics http://www.davidscotttufts.com/2010/10/12/10-steps-to-setting-up-your-pc-as-a-development-server-for-wordpress/
Ryan Imel 4:07 pm on September 19, 2011 Permalink
I’m in. I wrote up a couple of tutorials in the past, both Mac-specific that could work as a jumping off point.
How should the new tutorials be submitted?
Banago 4:18 pm on September 19, 2011 Permalink
I use Ubuntu Linux, XAMPP, WordPress and Git but I mostly work on theme and plugin development. I have never made a patch to WordPress even though I have a couple of code blocks ready to commit to Mark Jaquith’s Github WordPress repo.
If you find my experience useful, I’d be utterly happy to write a tutorial.
Konstantin Kovshenin 9:22 am on September 20, 2011 Permalink
I’d be happy to help. I can handle any of the three (XAMPP, MAMP and Linux) although I’d haven’t used Windows for a long time. I’ve been through the process millions of times, even had a video recorded of a 3 minute installation on nginx: http://vimeo.com/26049126
Let me know!
Travis Smith 1:18 pm on September 21, 2011 Permalink
I already have a XAMPP tutorial with WordPress on my site: http://wpsmith.net/2011/tutorials/installing-wordpress-locally-using-xampp-apache-php-phpmyadmin-mysql/
rfair404 5:42 pm on September 21, 2011 Permalink
Here is a somewhat lengthy but in depth post I wrote in response to this thread. includes resources for getting Apache, Mysql and PHP running, installing svn and running the install process on your local machine, using just about any flavor of linux. The screenshots are an Ubuntu 10.04. http://q21.co/blog/2011/09/21/installing-wordpress-on-your-localhost-using-apache-mysql-php-and-some-flavor-of-linux/
kurtpayne 11:39 pm on September 21, 2011 Permalink
I use WampServer on windows and I’ve written a walkthrough on a new setup here. Definitely interested in feedback.
http://wp.me/p1IPSj-5
John Levandowski 5:07 pm on September 24, 2011 Permalink
Here’s a tutorial I wrote on setting up MAMP for WordPress development. http://johnlevandowski.com/2011/09/23/install-wordpress-on-mac/
Nader 10:01 am on September 26, 2011 Permalink
Here’s a good tutorial on how to automatically switch development with live variables based on wp-config.php: http://rashmash.com/post/10142042483/switching-wordpress-development-live-environment-3-0
I personally use MAMP and hosted SVN.
Xav 12:37 pm on September 27, 2011 Permalink
This is a great idea. Can I make a request that someone (if they manage to get it working) write a tut for setting up local WP installs using XAMP on *both* Mac and PC that are synced over SVN or similar?
I’ve managed both separately but apparently there are db syncing issues cross-platform so went no further. Some interesting stuff on syncing both using Dropbox here – http://kav.in/complete-guide-on-syncing-xampp-and-mamp-using-dropbox
Daniel Chatfield 6:25 pm on September 27, 2011 Permalink
I wonder if we should include a writeup with WebMatrix as that is probably the easiest solution to get a wordpress test server on windows.
Brian 9:18 pm on October 3, 2011 Permalink
I’ve been using Nginx for my local dev on Win7 with great results. Super simple with very little setup. More info here: http://github.com/Xeoncross/wnmp
Justin 5:17 pm on June 25, 2012 Permalink
Here’s a writeup of my setup, which front-loads the effort of setting up multiple dev environments on OS X Lion for Apache using homebrew, wildcard DNS and Apache dynamic VirtualDocumentRoot directives:
http://wizardmode.com/2012/06/apache-php-mysql-dev-on-os-x-lion-with-a-minimum-of-pain/
I haven’t expanded it to specifically address WordPress core development yet.