Last night I was doing some work on my BattleCity Classic website, which is powered by Joomla, when I came across this article regarding stupid things Joomla website administrators do. The article is quite informative in its own cruel way and unfortunately we are all guilty of something on that list! Here is the one that stood out the most for me:
5. Do all upgrades and extension installations right there on the live site. Who needs a development and testing server? If an installation fails, you’ll just uninstall it again. That will hopefully undo any damage the installation caused.
For a small website, having a development server may be overkill if the information on the website is not critical. In such a case the best thing you could do would just be making backups which could be restored should anything go wrong. If your site isn’t high traffic, a small amount of downtime may go largely unnoticed. Of course, this depends on the type of testing you are doing on your live server. If you are installing tons of extensions, then you should really consider taking the effort to put up a development server and testing it for a few days or weeks before launching the changes on your live site. If you are just making small modifications to a module or installing a reputable component like Community Builder or Joomlaboard, then you shouldn’t have to worry as much. Still, the best practice is to always be as paranoid as possible!
What is a development server you may ask? Basically, a development server is just another copy or your website. If you have installed Apache, PHP and MySQL on your computer, then you will likely be using your own machine as a development server by hosting a local copy of your website on which you first test all changes and extensions. This is the best thing you can do!
Unfortunately, most people running Joomla are not interested in doing all the setup required to run Joomla locally, as many just want a software package they can quickly and easily install on their web-hosting to manage their content and website. If you fall in this boat, you can still set-up a development server. Just install a second copy of Joomla on your web-hosting in an obscure location such that nobody will accidentally fall upon it. Then test your extensions on this second copy of Joomla before installing them on the live version visited by your users. The reason you don’t want anybody to know the URL to the development server is just for extra security, in case you do install an extension which causes a problem or creates an exploit, which could then potentially damage your live site as both are hosted on the same machine.
Most importantly though, take the time to make backups. You may find it to be a hassle, but the day you need your backup, you will be happy its not 4 months old! Don’t count on your web host for backups. While they may be able to help you, the process to retrieve the backup may lead to extended downtime for your website or they may even charge your for the backup!

Update: Have you been making backups
? I now have a backup folder on my desktop in order to remind myself to make backups as often as possible. I just took a look inside the folder though and noticed that I haven’t made any new backups in over 3 months!
Time flies. It feels like I made my last backups just a few days ago, but it’s already been months. If I were to lose 3 months worth of information from my website, I would be completely devastated! In fact, I even have a few new websites that have absolutely no backup at all! After the amount of time it took to setup these new sites in the first place, it would be extremely discouraging to have to start over again from the beginning! You never know when there might be a Glitch in the Matrix…