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.



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