I’ve seen a few posts over here regarding problems with an unmaintained WordPress installation. It definitely can be work to manage software that is not covered within the supported repositories (WP is in the repositories, but its not updated as frequently as upstream). I thought I would cover how I maintain my installations and hopefully they can help others simplify their process.
First of all let me outline the setup that I have. I run a number of virtual hosts on my web server. Probably close to a dozen WP installations, plus a few other sites. I’ve simplified the installation and updating process for these by using svn, which has been an option from WP for some time now. Example:
To install a new WordPress blog using svn:
svn co http://svn.automattic.com/wordpress/tags/2.7.1/ .
note: You’ll, of course, want to update the “2.7.1″ tag with the current version at the time of your installation.
note: Make note of the “.” at the end of that command. Yes, it’s required. Yes it’ll install WordPress to the directory you run the command in.
To update your installation when word gets out that there has been a new release:
svn sw http://svn.automattic.com/wordpress/tags/2.7.x/ .
note: see notes above
Now, if you’ve got a number of virtual hosts and multiple wordpress installations installed you could do something like I’ve done and script the process. Here is an example script I use to update all of my wordpress installations with one command:
#!/bin/bash
# wp-update.sh
# update wordpress installation(s) to $1 branch
#
# this script takes the new branch as an argument
DOMAINS="domain1.tld \
domain2.tld \
domain3.tld \
domain4.tld \
domain5.tld \
domain6.tld \
domain7.tld \
domain8.tld \
domain9.tld \
domain10.tld \
domain11.tld \
domain12.tld"
if [ $# -ne 1 ]; then
echo "EPIC FAIL: Missing new version!"
echo "Try: ./wp-upgrade x.x.x (ie; 2.7.1)
exit 1
fi
for site in ${DOMAINS}; do
echo "upgrading ${site}"
echo
cd /var/www/virtual/${site}/html/
svn sw http://svn.automattic.com/wordpress/tags/$1/ . &>/dev/null
done
The only things you’ll really need to keep in mind to use this script are:
- You’ll need subversion installed.
- This assumes a virtual host path of /var/www/virtual/${domain}/, and WP root of html/. Update as necessary.
- You’ll need to chmod +x this script.
Once you’ve saved and update the script according to your setup you’ll simply want to run the script anytime you get word of a new WordPress release:
./wp-update.sh 2.7.3
Done. Simple. Enjoy.