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)
- Backup the old site (you were warned!)
- Export the database (check delete tables)
- tar/gzip the entire site (include XOOPS_TRUSTED_PATH)
- Create database for new site (if not already setup)
- 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
- _MI_XI_REFERER
- 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
- Import database to new site's database
- Untar files in new site
- Fix symlinks for cache/template directories
- Change reCAPTCHA keys (if using)
- Fix mainfile.php with new database, xoops root path/url, trusted, etc.
- Fix .htaccess with new domain/url
- Clear caches (xoops_trust/xoops_data/caches/ (3 subdirectories) (could clear system tables, but not necessary)
- 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
Tips
To make sure it's more easily deployable:
- Make directories WORK - use xoRewriteModule
- Make all URLs on your site relative
[minor updates made: last edit: 2013-06-19]
*/