SmartFAQ is developed by The SmartFactory (, a division of InBox Solutions (

How do I upgrade my XOOPS version?
Requested and Answered by Carnuke on 2004/11/14 10:31:14 (19485 reads)
This can be a tricky thing to do depending on what version of xoops you are upgrading from and to. July 2006: NOTE: For upgrades from 2.0.10 ... to 2.0.14 please refer to the 2.0.14 release notes Here are some instructions to assist with the process. If you need to upgrade through a series of xoops versions - say from 2.0.9 to 2.0.13 then it is advisable to take the time to do them one at a time. ---------------------------------------------------- A basic approach: 1- Find out which xoops version you have 2- Identify the correct upgrade files package and download 3- Deccompress package and check readme files. 4- Backup existing site: that is your database and files. 5- Close your site to visitors. 6- Optional: Set up a rollback. You can do this by noting each new file in the upgrade file set, then go to your existing files on your server and rename them to something different. Quote:
upgrade file: header.php existing file on server: old-header.php
Do this for each file that is part of the upgrade. The purpose of this will obvious, if your upgrade goes wrong. You still have the old files available to rollback to. It can be a long process. 7- Copy your upgrade files into your xoops directories maintaining identical structure. This can be achieved in 2 ways. Either opening each directly and manually copying files over, OR drag and drop the whole contents of the upgrade patch into your xoops main directory. This needs to be done with caution. Make sure that the upgrade files are packed in correct relative directories first. Also make sure your FTP settings are correct for updating/overwriting newer files. If you opted for a rollback you will not be overwriting any files as your existing files will be already renamed... right? If in any doubt, practice upgrades first on a test site or local server. HACKS !!! Note, if you have hacked any files that are included in an upgrade, you will lose the hacks as they will be overwritten or deprecated. Keep notes of all hacked files. Finally, there will usually be a requirements to UPDATE the system modules and other modules. Again refer to upgrade instructions. -------------------------------------------------------- For a visual tutorial on upgrading your site please see System Upgrade Tutorial ------------------------------------------------------- Additional details submitted by Rabideau on 13-Jan-2005 22:16 I have just drafted this Update Procedure, I hope people find it useful. This procdure may be worth following if you use any of the following: 1.Custom Themes If you use non-standard themes be certain that these work with the new version! 2.New modules (beta, RC, etc.) , especially from the development site which may not be ready for prime time (in otherwords, modules that may not be part of the overall XOOPS release package. 3.Obsolete/old modules or any modules which are behind the XOOPS release cycle. Not all modules run on all versions of XOOPS! Low-risk, but time costly, XOOPS upgrade procedure. 1. Copy a full version of the latest XOOPS release to your local (development) machine. 2. Do a full backup of your complete online (production) site to your local (development) machine. 3. Identify EVERY template change you have made to the XOOPS standard set. (I recommend keeping them in a local directory structured identically to match your production XOOPS site). 4. Export your production database (using phpMyAdmin?) to your local (development) machine. Be certain to check the variables for "Strucure" such that you can easily recreate a duplicate image of your production system on your local (development) machine. (I recommend selecting all of the following: Structure: Add DROP TABLE Add IF NOT EXISTS Add AUTO_INCREMENT value Enclose table and field names with backquotes Add into comments Creation/Update/Check dates Data: Complete inserts Extended inserts 5. Create a separate (new?) directory on your local development machine and load the latest complete version of XOOPS there. 6. Perform an Install of XOOPS on your local machine (just as if you were building a site for the first time). 7. Login to the newly created XOOPS blank site. 8. Make certain that your new blank XOOPS (new version) site functions. (It will NOT look like your production site). 9. Log off the site. 10. This will seem odd (but it is an excellent preventative set of activities). Copy all of your desired modules into the newly created XOOPS site modules area. Re-login to the new XOOPS site and access Admin==>Modules; make certain everything is visible and accessible. (Create or re-create missing module components as required). 11. Load the phpMyAdmin (even if you don't plan on using it on your production site; this will make the following steps much easier). 12. Install and then Login to your MySql (phpMyAdmin?) database and drop all tables from your new XOOPS database (this will make duplication of your production database quite easy). 13. Having dropped all your tables, go to SQL and browse to your production database backup (there should be an sql file somewhere on your machine that contains the contents of your production database; this was downloaded in step 4 above. Note: Steps 4 and 11 may need to be updated if your production database has been updated during this upgrade process-- it is best to perform this entire update process while your production site is closed for upgrade. 14. This step is extremely important: save your production site mainfile.phpfile-- do not lose it or over-write it; else the rest of this process will not succeed! 15. Next make certain all of the following are copied onto the newly created XOOPS installation (on your development machine) modules (all of your current, in use modules) themes (all unique and non-standard themes)-- very important! customizations (hacks to Xoops) 16. Once you are able to access XOOPS go to the Admin==>Modules page and update all of your Modules. 17. Once all Modules are Updated, update System. 18. Test your new and now updated XOOPS system. If everything works like you had hoped for, you may now upload a copy of your local development site to your live website. Remember to upload your original mainfile.php. 19. Once you have uploaded (copied) your XOOPS directories from your local development machine to your website, you can try to access your site. 20. If it works great... if not, you may need to do any or all of the following: -Go back to step 6 and repeat everything through step 22 again, except this time you performing those operations on your live site. -Upload your old (original) mainfile.php (to gain site access) and go from there to repeat Steps 19-22 on your newly uploaded 'live' website.

The comments are owned by the author. We aren't responsible for their content.
  • Home away from home

 Comprehensive guide to xoops version update

The above addition is a very comprehensive version of the update process. Thanks to Rabideau for your work to prepare this, I know this was born through very painful circumstances that brought you considerable problems with your site. Thanks for preparing this and contributing the guide to the community. I think we can all learn from this experience.



 Re: Comprehensive guide to xoops version update


Remember to upload your original mainfile.php.

One small remark to Rabideau's excellent description: If you use an OLD XOOPS-version on your production server the mainfile.php may vary.

I think it is better to write down the values from the "old" mainfile.php and insert it into the "new" mainfile.php before uploading.

After uploading the new files to the production server it makes sense to me to check wether all CHMODs are correct or intact.

  • Just popping in

 Re: Comprehensive guide to xoops version update

But how if no upgrade files package available?
Let say we run XOOPS ver 1.x and want to upgrade to XOOPS 2.2.2. Do they have to be upgraded steps by steps? From ver 1.x to the next minor version upgrade (1.y then 1.z), until reach ver 2.2.2?


  • Just popping in

 Re: Comprehensive guide to xoops version update

As complete and useful a description as it is I'm afraid I'm in need of some more answers:

Some of the Upgrade Packages, eg>2.0.10, contain an install directory. Doesn't this imply that we should run the install again even though its an upgrade? In my case I've tried to run it and get errors to the effect that ./password.php is missing and as far as I can see this is not part of the production setup. Are there any clues what to do with this?

Secondly, some of the full install packages contain an upgrade sql script eg /install/sql/upgrade/ myssql.structure.sql, in 2.0.13. Why is it found here and not in the upgrade packages? And what do we do about it?

For us newbies its these subtle, or not so subtle, inconsistencies which throw us.