Beau January 25th, 2007
Update – 2009: This is obviously an outdated post, but I’m leaving it here for archive purposes. I’m currently running WP 2.7, and with the fantastic new tools that WordPress includes in the platform, upgrading should be fairly simple in the future. Most web hosts now use Fantastico or Simple Scripts for installation, and they work fine as well. Best regards-
I finished the upgrade from WordPress 2.0 to 2.1 “Ella” last night. Wahoo! Not too complex, but took longer than I thought (Details and steps are on the next page, below. *Note: Some of my plugins caused broken pages/categories, but I have updated them- especially a quick fix from Moeffju.net for Ultimate Tag Warrior- see end of post). Mostly took longer due to my FTP connection, and the full backup of the database and installation of files…. and I went slowly! (Hmmm… this text looks smaller?!)
I use FireFTP within Firefox, and it is reliable yet can be slow… primarily because I work via satellite internet. I think the latency present in the satellite internet connection does not allow a constant data stream and many FTP programs “time out” and attempt reconnection. Normally it’s not a problem with a few files. With a new installation or upgrade however, it can be very frustrating and takes more than 30 minutes for 15-20 files! Maybe someone else knows a better way to configure my computer or FTP program to maintain connectivity while using satellite internet… but while I await further recommendations, I’ll tell you my quick fix! I thought… “Well, perhaps if I had a constant packet stream that would allow the FTP program to work efficiently?” I tried chat and voip to see if that made any difference… nope.
What about downloading streaming video or music? Didn’t work with large files, too much coming in… Hmmm… what about YouTube? It worked! I simply looked for various YouTube music shorts of 4-5 minutes in length… let them play in the background, and lo and behold the FTP program worked like a banshee uploading files in a fraction of the time it normally would independently. Could there be a “normal” way to configure FTP or my computer differently to achieve the same?… anyone? Until I find the answer I’ll be visiting YouTube regularly… :) Now about the WordPress upgrade…. with all due respect to those of you reading, I try to remember this quote by Douglas Adams (1952-2001):
“A common mistake that people make when trying to design something completely foolproof, is to underestimate the ingenuity of complete fools.”
Okay, here’s how I completed the upgrade. If anyone has other useful information, please comment!:
Remember: If you are using an older version of WordPress, earlier than Version 1.5x, you must upgrade to Version 1.5x first, and then upgrade from 1.5x to 2.0.x or 2.1. Go here for WordPress instructions to upgrade older sites: http://codex.wordpress.org/Upgrade_1.2_to_1.5
- First- read, heed and become very familiar with WordPress Upgrade instructions. WordPress is the authority and reference for how to upgrade- so go there first! The following information is simply a guide for how I completed my upgrade, in case it might be helpful.
- Plan for at least a couple hours (or more) of time in case something doesn’t upload correctly or you forget where you were in the upgrade process… if you have to leave and come back eight hours later, you may not remember and your site could be hard down!
- Complete all database backups as indicated, both within WordPress and phpMyAdmin. I like to save the backup files both to the web server and my local computer. WordPress has excellent database backup instructions here: http://codex.wordpress.org/Backing_Up_Your_Database
- Make a copy of the .htaccess file and the wp-config.php file in case they are accidently deleted. I also like to save a copy of my WordPress wp-content folder in case I accidently delete or overwrite those files.
- Do you have backups of all images and other customized content that you have uploaded to the webserver? Do that if you have not done previously.
- After downloading and extracting the file to my computer, I set up Windows Explorer to show the file tree of the new files and the file tree of the files on my blog (using cPanel File Manager) to see what was different. I familiarized myself with the folders and files I would be adding to the webserver. WordPress recommends deleting webserver files first to ensure a clean install/upgrade. However I chose to overwrite the files as I went along, paying attention to exactly which files would be changed. I am not familiar enough with every file used on my web server to simply delete them all. Some of those files are used by other components, functions or plugins, and I wanted to ensure I kept them there. Your choice.
- I have a duplicate functional localhost site of my blog (using WAMPSERVER) which helps in two ways:
- First, it allows me to test and verify that certain components, plugins and upgrades will work on my blog.
- Second, I can then reference exactly what files are used while I upgrade via FTP to my live hosted blog. So after first completing the upgrade/install on my localhost site to verify compatibility with my theme, plugins, etc. I was confident to upgrade my live hosted site.
- I read the WordPress Upgrade instructions a couple more times… “measure twice, cut once!” Now I started the FTP program and went to work.
- In my FTP program, I expanded the file tree of the newly extracted WordPress files, and once step at a time verified exactly which files and folders would be transferred to the webserver. Ensure that you don’t simply tell FTP to transfer folders without verifying what files are in them! After you’ve done this a few times it will be easier, but you don’t want to overwrite (or delete) your wp-content folder on the webserver!
- I uploaded the main/root WordPress files to my webserver root. Follow the WordPress Upgrade instructions if your blog is not in your root directory.
- I uploaded all the wp-admin folders and files, then all the wp-includes folders and files. Some of you may have other files or customizations here, but I knew I didn’t and simply replaced them.
- Then I started on the wp-content folder files:
- In the wp-content plugins folder, I only uploaded the new Akismet and “hello” plugin files to my plugin folder. I have other plugins in the folder that I wanted to save.
- I then uploaded the new Classic and Default themes in the wp-content folder (making sure I left my own themes and files in the wp-content folder on the webserver!). If you are using the Classic and Default themes, you should know if you customized any pages or templates, and uploaded images- these “customizations” should be known by you, and the images saved as well in case you overwrite or delete them. I don’t use the Classic or Default themes, so I simply replaced those folders with the new WordPress Classic and Default folders.
- That should be it! Uploading everything took about an hour because I went slowly. Now you simply add “/wp-admin/upgrade.php” to your site URL in your browser, (e.g. http://www.yourdomain.com/wp-admin/upgrade.php or http://www.yourdomain.com/wordpress/wp-admin/upgrade.php if WordPress is not in your root directory) hit enter and follow the simple instructions. Remember to restart your plugins one by one and see how the site runs.
- Any Problems? Lets hope not- WordPress has instructions to restore your backups if necessary here: http://codex.wordpress.org/Restoring_Your_Database_From_Backup.
- One of the problems I did have on my localhost upgrade was that after everything was up and running, I went to update my permalink customization in the WordPress admin site. Guess what? I got a 500 server error… and then couldn’t go back or restart the site at all. I was bummed but checked my log files. I found in my Apache log file a list of errors with one commonality:
- “.htaccess: RewriteRule: bad flag delimiters, referer: http://……./wp-admin/options-permalink.php”
- After a Google search, I learned there could be code errors, spaces, etc. in my .htaccess file. So not having any php coding skills, I took a clean, basic .htaccess file with only “RewriteEngine on” and replaced that with the one in my root directory that wasn’t working. And voila! Success! WordPress modified the .htaccess as it needed.
- Some of you have many different .htaccess configurations, and that is why it is recommended to back it up before starting the upgrade. My original .htaccess file had a php test configuration added to it, and that appears to have been the problem.
- I did not have any file permissions issues after the upgrade. I have seen this happen with other files I have added to my webserver, so that is one area to look at if you do have problems.
Hope your upgrade goes smoothly… remember not to underestimate the process! Again, with all due respect to those of you who have read this far…. Douglas Adams also said:
œThe major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair
We should probably remember to think of this process as something that “might go wrong”… ! But you’ve got to love WordPress…
Thanks to the WordPress team!