Jump to Main Content
Content > XOOPS > Checklists: Upgrading, Deploying or Moving a XOOPS Site to Another Server
Checklists: Upgrading, Deploying or Moving a XOOPS Site to Another Server

My checklists for upgrading, migrating, moving or deploying a XOOPS site from one server to another, whether it's from production to development to test/staging or vice-versa.

This methodology works for most php-based applications and provides specifics to XOOPS and should work for all versions, but this one is last updated for XOOPS 2.3.x series. Due to development processes, I have to develop on one server and then deploy it to another to test and finally another to put into production. This is a checklist, not a detailed version.

Deploying (Moving/Migrating) XOOPS

Full Replacement (or New Site)

  1. Backup the old site (you were warned!)
  2. Export the database (check delete tables)
  3. tar/gzip the entire site (include XOOPS_TRUSTED_PATH)
  4. Create database for new site (if not already setup)
  5. Search/Replace hard-coded local URLs in data (make relative!; search web/file paths)
    • Domains: www.mydomain.com
    • Emails: @mydomain.com (most, but not all, so do one-by-one)
    • Paths: /home/account/public_html
    • Edit UNIQUE KEY for table xoops_smartobject_rating (should work):
      UNIQUE KEY `dirname` (`dirname`,`itemid`,`uid`)
    • If necessary, Convert from Latin1 to UTF8:
      • iconv -f latin1 -t utf8 -o target.sql source.sql
      • Search/Replace latin1 utf8
  6. Import database to new site's database
  7. Untar files in new site
    • Fix symlinks for cache/template directories
  8. Change reCAPTCHA keys (if using)
  9. Fix mainfile.php with new database, xoops root path/url, trusted, etc.
  10. Fix .htaccess with new domain/url
  11. Clear caches (xoops_trust/xoops_data/caches/ (3 subdirectories) (could clear system tables, but not necessary)
  12. Set production things
    • Turn off template updating
    • Set caching appropriately site-wide
    • Install stats scripts (iStats, Google, etc.)
    • Turn on search access

Deploy Site Upgrade with latest XOOPS

Again, this is a checklist only. When I'm upgrading an older XOOPS site to the latest/greatest setup I utilize, this is the process I use. I keep my sites on a similar platform or I'd never keep up with it all. There are template differences, but that's fairly easily rectified. For a detailed version of this upgrade process, see my full notes on Upgrading to XOOPS 2.3.x. And some things here in this checklist for me may not apply to your needs.

  • UnZip/Tar files into temp directory
    • remove mainfile.php
    • remove cache/* (keep index.html file)
    • remove templates_c/* (keep index.html file)
  • Review/merge Core Root files
    • .htaccess
    • mainfile.php (particularly database login)
    • robots.txt
    • favicon.ico
  • Review, merge Frameworks directory
  • Review, merge uploads directory
    • FCKeditor - subdirectory changed case from 2.4.x to 2.5.x+, either search/replace links in dB or create symbolic file links
  • Review/merge common directory
    • remove "lists" if not used/setup (must setup separately)
  • Review themes directory, merge
    • iStats Tracker Code in all themes
    • ensure themes use all appropriate module CSS
  • Review non-xoops directories, files, merge as appropriate
    • Keep .ftpquota file (for PRO-FTPD in cPanel)
  • Review/merge language files (main & modules)
  • Remove old modules
    • before removing old files (else re-add module files), delete module
    • remove module files
  • Update modules
    • Update system module (can't hurt, even if not needed)
    • Update modules (Note: each module may require more)
      • Protector - (just mainfile.php edits)
      • iStats - (insert tracker code into new themes)
    • Review/update module preferences
    • Review/update templates
    • Review/update FCKeditor module preferences
  • Install new modules (if any)
    • Update to latest templates
    • Install default data as appropriate
  • Copy new/modified custom blocks
  • Setup Automated Tasks
    • CRON job/password in XoopsCare Module
    • CRON job/password in Backup/Restore


To make sure it's more easily deployable:

  1. Make directories WORK - use xoRewriteModule
  2. Make all URLs on your site relative

[minor updates made: last edit: 2013-06-19]


Other Pages
Previous Page XOOPS Developer Notes Formulize and Pageworks - A Powerful XOOPS Toolset Next Page
Comments are solely the opionion of the author and not to be construed as the opinion of anyone else.


Remember me

Lost Password?

Register now!



(c) 2006-2007 - Mark Boyden
Privacy - Legal Stuff - Contacts