[Resolved] How to setup WP Development environment
I am a part time web developer converting to wordpress. I am accustomed to developing and testing sites on my Windows desktop and then uploading them to the webserver when changes are finalized. I have used Netobjects Fusion until now. I do have an Ubuntu server at home (behind firewall) that could be used to host a development environment, but then I couldn’t do any development offsite. I prefer to do development on the desktop to avoid network response issues.
I running the development environment on the desktop and using ftp to upload changes an effective way to develop sites?
If you have the resources, I highly recommend using a virtual machine. Use it as your stage server (you can download virtual machines with the OS and wordpress all setup for you), then upload to your prod server.
“Is running the development environment on the desktop and using ftp to upload changes an effective way to develop sites?” – No, for several reasons. Primarily, because some changes are made to the database, not WordPress files, and ftp can’t transfer database changes.
In general, I have found that the only real “pre-production level” test site is a clone of the live site, on the same web server. There are just too many WordPress problems that happen due to web server “issues”. I have now standardized on creating test.domain.com for every domain.com I have for WordPress. Yes, there is some risk, since a missed link during the cloning could move a unaware developer from Test to Production without his knowledge. “Always watch the Address Bar in your browser”.
In terms of Major Versions of a web site — i.e. – a ton of changes, all at once, I have found great success with using http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
Here is how the approach works, conceptually. WordPress is actually in a folder called “wp”, but looks, to the web user, like it is running in the root of the domain, as all the visitor URLs DO NOT have /wp/ in them.
The next version of the web site, perhaps for WordPress theme Twenty Thirteen, would be in folder /wp2013/. It just takes a few seconds to change index.php in the root to point to the new folder. There is, however, a requirement for a Content Freeze while /wp2013/ is being built and final testing done just before making it Live.
I do initial development of php code on xampp on a Windows Desktop. You could gain portability with a laptop using the same approach.
Building your own custom Plugins are an awfully good way to add php code to a Production site, but they are a dangerous way to make quick changes on a live site. As in The White Screen of Death. If I have to test php code on a live site, I use shortcodes installed with this plugin: http://wordpress.org/extend/plugins/shortcode-exec-php/
Update: not previously having seen jholder’s comment, I should say that he has a very good idea. My only addition to it is that you should build the virtual machine as closely as you can to the live system, i.e. – same version of Linux and all other software, with the same settings, especially PHP memory limits.
I was attracted to WP because because of the five minute install. Install a theme and a few plugins, enter some content, and you have a website. Thanks for your thoughtful answers guys, but virtual machines, PHP, Apache, SQL server, all seem a bit much for knocking off websites. Could the answer to my question be “unless you are very technical, WordPress isn’t really designed to work that way.”
I did read the installation guidelines. Lots of flexibility. It said you can install it on a desktop and since that is what I am familiar with I selected that. I assumed there would be a button to upload (FTP) the files to the webserver when I finished entering the content. After the install finished, I couldn’t find an entry in the start menu, no desktop icon. How do I start?
Is there a different guide somewhere that explains how WP works, how I boot it, how I enter my content, how I do backups, how I keep development and production separate? Do most people just work in real time on the production files?
Thanks for you help guys, but I am totally confused here. I don’t usually have any trouble using software, so WP isn’t sounding so easy to use so far.
At the risk of being blunt, WordPress is only really simple if you always do changes on the live web site.
There are Preview and other features that let you make sure things look right before you Publish your changes to a particular Page or Post.
OK, that makes sense. Thanks. I found some more articles on the Codex and I am doing some google searches, so maybe I’ll find an article that actually explains how you get started and omits the “5 minute” phrase.
I’m a retired I.T. guy, who started programming in 1971, and worked both sides of the fence: application development and managing the operating system components and hardware. But I still found WordPress “dead simple” to build a new web site. Or to replace an old html-based one. Just do the development and testing on the live site, in a subfolder, like I spoke of in my first post. To take it live (making it look like it is running in the root) takes less than a minute.
Making changes AFTER the site is live is where the challenge lies. Small stuff I do on the live system, often after taking a backup of both the web site’s files and the WordPress database. If my changes go bad on me right away., I simply restore from the backup.
So, is it just a matter of copying the live system to a sub-folder and then moving it back when changed and tested? I have been reading about Serverpress and Instant wordpress, but it’s not clear if it is a simple upload to the live site.
Here is what I have done that worked really well when I changed Themes a few years back. It was a major change since the main and sidebar column widths changed.
I had the live WordPress in /wp/ using the “Giving WordPress its Own Directory” approach to copy WordPress’ index.php into the root directory from /wp/ and have it point to /wp/.
I copied the WordPress database to a new database and the /wp/ folder to a new folder /wp2011/. I then made all my changes to the /wp2011/ system. When I had it right and fully tested, I simply changed index.php to point to /wp2011/ instead of /wp/ and I was live. I also had to push Save in the Permalinks section since I was using Permalinks, but that really was all there was to it.
That’s pretty easy. I think that was what you were talking about above. The only thing I’d be giving up then is the ability to work without an internet connection. I guess it would be bit slower too vs. a local connection. Not a huge deal.
I gather the way WP works is that I download a page/file to a text editor, save the changes and view online. I didn’t realize WP wasn’t WYSIWYG. I guess I should try it the simple way first. I can always add the desktop environment later if it’s not working out.
Sorry if I confused things. WordPress works best using the WYSIWYG editor (Edit Page or Edit Post in the Admin panels). You can click a tab to see and/or change the HTML, but the editor will remove HTML it doesn’t like, so I stick to WYSIWYG for most of my work.
Oh, so it’s WYSIWYG running on the server and viewing through a browser? I guess I was assuming that the server wouldn’t be supporting the editing (I’m stuck in the client server days, I guess)
It uses the commonly-used TinyMCE Open Source editor that runs on the server and you type into, in your web browser.
It took me a while to get my head around a web development environment where NOTHING resides on your Desktop computer. Great for mobility. And, of course, getting multiple people involved.
That’s a good point. It would have been nice if they gave an overview of the architecture in the codex though. I guess unix server developers though don’t see things from the windows desktop POV. I am sure i get it, but it’s been a lot longer than 5 minutes, that’s for sure :^))
Thanks for your help.
I think you are misinterpreting the 5 minutes slogan. WordPress does take less than 5 minutes to install. Setting up your development environment could take a significant amount of time depending on your needs which is normal and has nothing to do with WordPress.
- The topic ‘[Resolved] How to setup WP Development environment’ is closed to new replies.