xoops forums

Mamba

Moderator
Posted on: 2008/10/29 4:11
Mamba
Mamba (Show more)
Moderator
Posts: 10797
Since: 2004/4/23
#1

XOOPS 2.3.1 Installation Documentation

If you're new to XOOPS, you can download the Installation Documentation for XOOPS 2.3.1 from here

This will give a better ideas about the steps needed for a successful fresh installation of XOOPS

Also check the A Guide to Make your XOOPS Installation even more secure
Support XOOPS => DONATE
Use 2.5.10 | Docs | Modules | Bugs

mboyden

Moderator
Posted on: 2009/1/30 1:12
mboyden
mboyden (Show more)
Moderator
Posts: 484
Since: 2005/3/9 1
#2

XOOPS 2.3.x Upgrade Notes (from 2.0.x)

There is solid documentation on performing a clean installation of XOOPS 2.3.x; however, most XOOPS users want to use the latest version with the latest capabilities, so for those who used XOOPS 2.0.x, that means upgrading what you currently have installed, and chances are, you've got a number of modules in place and a number of modifications to language files and the likes. The upgrade documentation published with the 2.3.x release confused me a little bit -- at first, but I figured it out after working on it for awhile. The only lacking feature to the upgrade release documentation is that it assumes you don't have any modifications to your installation (core and/or modules). This document is designed to be a quickstart guide for those with "mature" installations (call them institutionalized, or whatever you want) and want to apply 2.3.x to your existing 2.0.x installations per se. This document does NOT deal with XOOPS 2.2.x branch, but should be easily adapted.

I hope this doc helps others. I'd even suggest that the documentation team take this and put it into the documentation area. I'd do it, but I've not taken the time to learn wiki language, and I don't have the time to deal with that right now, so I figured sharing here was the best solution in the short term.

Also, because the XOOPS.org site allows limited formatting, you may want to visit my article on XOOPS 2.3.x installations and upgrades. My article also includes some other notes and information that wasn't necessarily pertinent to this upgrade process.

Notes

I started this document after the release of 2.3.0 and before 2.3.2b, but didn't finish until after it's release, so this document currently focuses on the 2.3.2b release, but it should work fine for any of the 2.3.x releases. I have more than a dozen sites using XOOPS, and several more in the works, so I try to keep them all generally synchronized or it'd be a real nightmare keeping up with them as separate solutions.

Installation

Clean Install

Why reinvent the wheel? See the official XOOPS 2.3.x Installation Notes (aka guide) posted in the Core Documentation or the installation documentation in the wiki. I'll note that it's easy to install XOOPS the first time, especially if you've ever installed a database-driven, php-based application. I can do a new one in about 3 minutes now. It's the upgrade of mature, institutionalized installations that requires some planning (as does any CMS).

Upgrade

These instructions are valid for upgrading from the 2.0.x series starting with 2.0.14+. If you have an installation older than that (as far back as 2.0.7.x), then there are just a few more instructions to follow (use the upgrade instructions in the release notes and/or my older article on upgrading the 2.0.x series). Further back than that will require some legacy research on your part. Also, these instructions were not written for the newbie, so it doesn't explain everything in detail, but covers the bases to hopefully make it easier to upgrade your existing site(s).

Backup I backed everything up of courseyou should too (files database)
Pre-Upgrade Instructions (per XOOPS instructions)
  
o Unzip XOOPS release into a temporary folder
  o Delete Unneeded Files
/Folders from htdocs
    
Delete install folder
    
Delete mainfile.phpfavicon.ico (typicallybut leave if you didn't modify)
  o Protector Module
    + Copy extras/mainfile.dist.php.protector file to 
      upgrade/upd-2.0.18-to-2.3.0/mainfile.dist.php (I edited this for other 
      profile modules and my debugging script)
    + Move upgrade folder into htdocs
  o AltSys Module - Prevent Admin Blank Screen (if installed)
    + Copy altsys folder in current XOOPS_TRUST folder to xoops_lib/modules folder
    + move extras/altsys_functions.php in XOOPS 2.3.x release to 
      XOOPS_TRUST/xoops_libs/modules/altsys/include/ directory (compare first)
    + In xoops_lib folder, make symlink of libs -> modules (for altsys compatibility)
* Merge Core/Module Modifications (if in core release)
  o Merge any core files modified for your installations
    + robots.txt (only if changed)
  o Merge Frameworks
    + Essentially, start with the latest Frameworks 1.22 (and/or merged with 1.35 
      if used), then add/overwrite files with Frameworks for XOOPS 2.3.0, then 
      add/overwrite files with the XOOPS 2.3.x core files. More comments in the 
      comments section below.
  o Merge images, languages, uploads folders
  o Merge WYSIWYG editor changes (I make mods to FCKeditor, restructured again)
* Copy/Move Files (over existing site)
* Perform Upgrade
  o Remove files from cache and templates_c folders (keep index.html)
  o Make mainfile.php writeable
  o Run upgrade script (http://yoursite.com/upgrade)
    + Point to xoops_data and xoops_lib directories
  o Delete upgrade folder
  o Update system, protector, and other core modules if installed
  o Update non-core modules individually (make sure using the latest versions)
* Post-Upgrade File Restructuring
  o Move new xoops_lib and xoops_data folders into XOOPS_TRUST directory; remove 
    the old, unneeded files and folders
  o Delete and redirect cache and templates_c folders via symbolic link
  o Update mainfile.php to reflect the above changes
  o Make mainfile.php unwriteable
  o Module Specific Changes
  o Remove old, unneeded files
  o Update FCKeditor module-specific configurations in all modules (if any)
* Test - Perform integration/regression testing on all modules
  o Review templates changes/updates for all modules and incorporate as appropriate

Please let me know if you have any questions, or suggestions to make this document better.
Pessimists see difficulty in opportunity; Optimists see opportunity in difficulty. --W Churchill

XOOPS: Latest | Debug | Hosting and Web Development

Mamba

Moderator
Posted on: 2009/1/30 1:33
Mamba
Mamba (Show more)
Moderator
Posts: 10797
Since: 2004/4/23
#3

Re: XOOPS 2.3.x Upgrade Notes (from 2.0.x)

Thanks, Mark! Very nice work.

We'll try to use it in the future installation instructions.

If anybody else have any improvement suggestions, please let us know.
Support XOOPS => DONATE
Use 2.5.10 | Docs | Modules | Bugs

jph000

Just popping in
Posted on: 2009/5/12 21:56
jph000
jph000 (Show more)
Just popping in
Posts: 60
Since: 2004/8/2 2
#4

Re: XOOPS 2.3.3 Upgrade Notes from 2.0.18.1

My installation notes and suggestions follow the standard, supplied upgrade instructions below.

Upgrading from XOOPS 2.0.* above 2.0.14 and 2.2.* (using the full package)

1. Move the "upgrade" folder inside the "htdocs" folder (it's been kept out as it's not needed for full installs) on your local machine
2. Delete htdocs/mainfile.php, htdocs/install/, htdocs/cache/, htdocs/extras/, htdocs/template_c/, htdocs/themes/ and htdocs/uploads/ from the "htdocs" folder on your LOCAL machine
3. Upload the content of the htdocs folder on your LOCAL machine over your existing files on your server
4. For security considerations, you are encouraged to move directories xoops_lib (for XOOPS libraries) and xoops_data (for XOOPS data) out of document root, or even change the folder names.
5. Make the directory of xoops_data/ writable; Create and make the directories of xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ and xoops_data/caches/smarty_compile/ writable.
6. Ensure the server can write to mainfile.php
7. Access <your.site.url>/upgrade/ with a browser, and follow the instructions
8. Follow the instructions to update your database
9. Write-protect mainfile.php again
10. Delete the upgrade folder from your server
11. Update the "system" module from the modules administration interface, other modules are recommended to update as well

Following the above instructions, Step #7 resulted in an error:

"This page cannot be displayed due to an internal error. You can provide the following information to the administrators of this site to help them solve the problem:

Error: Smarty error: the $compile_dir 'XOOPS_VAR_PATH/caches/smarty_compile' does not exist, or is not a directory."

Well ... on a hunch (having gone through the 2.0.18.2 to 2.3 and 2.3.2b to 2.3.3 upgrades on a PHP5 Test Site, I edited the mainfile.php file (which originally came from version 2.0.6). These lines were added, with values (in the same location as in the mainfile.dist.php file):

// For forward compatibility
// Physical path to the XOOPS library directory WITHOUT trailing slash
define("XOOPS_PATH", "");
// Physical path to the XOOPS datafiles (writable) directory WITHOUT trailing slash
define("XOOPS_VAR_PATH", "");
// Alias of XOOPS_PATH, for compatibility, temporary solution
define("XOOPS_TRUST_PATH", XOOPS_PATH);

After Step #11, go to the Template Set Manager and check for new System templates to generate -- there was 1 new one, making a total of 28.

Do Step #4, which also requires editing the mainfile.php file.

Also, when the tar.gz file is created under Mac OS X, watch out for all the "._" files, in particular in the directories:

xoops/modules/system/templates/
xoops/modules/system/templates/blocks/

as the Template Set Manager will show these Mac files as templates to generate. Remove them before updating System theme template files!

The structure and (some) content of the new xoops/themes/default/style.css may need to be edited into your custom theme file, e.g., themes/mytheme/style.css.

zzzzsg

Just popping in
Posted on: 2009/5/18 22:44
zzzzsg
zzzzsg (Show more)
Just popping in
Posts: 86
Since: 2005/12/22
#5

Re: XOOPS 2.3.x Upgrade Notes (from 2.0.x)

hi mboyden

thank you for the detailed instructions.

what do you mean by "Merge Core/Module Modifications" ?
how do you do a merge?

what do you mean by "Move new xoops_lib and xoops_data folders into XOOPS_TRUST directory" ?
in the mainfile.php, XOOPS_TRUST_PATH is defined as
the XOOPS_PATH and the XOOPS_PATH is the path of the xoops_lib folder. So "Move new xoops_lib ... into XOOPS_TRUST" is moving the xoops_lib back into itself.
define("XOOPS_TRUST_PATH", XOOPS_PATH);

what do you mean by "Delete and redirect cache and templates_c folders via symbolic link "?

how do we delete a folder than the redirect it?
redirect from where?

"Update FCKeditor module-specific configurations in all modules (if any)"
where are the module-specific configurations in all modules?

my fckeditor is not working after upgrading XOOPS from 2.2 to 2.3.3.

thank you once again.


---


ok i went to change /modules/news/include/functions.php

originally it was "/class/fckeditor/formfckeditor.php"
and i changed it to "/class/xoopseditor/fckeditor/formfckeditor.php"

case "fck":^M
if(!$x22) {^M
if ( is_readable(XOOPS_ROOT_PATH . "/class/xoopseditor/fckeditor/formfckeditor.php")) {^M
include_once(XOOPS_ROOT_PATH . "/class/xoopseditor/fckeditor/formfckeditor.php");^M
$editor = new XoopsFormFckeditor($caption, $name, $value);^M
}^M
} else {^M
$editor = new XoopsFormEditor($caption, "fckeditor", $editor_configs);^M
}^M



now the fckeditor appears in Submit News, but when i submitted a news with some contents and images, the News article submitted is blank ....

zzzzsg

Just popping in
Posted on: 2009/5/23 21:38
zzzzsg
zzzzsg (Show more)
Just popping in
Posts: 86
Since: 2005/12/22
#6

Re: XOOPS 2.3.x Upgrade Notes (from 2.0.x)

i managed to fix it. turns out that the old news 1.4 is not compatible with XOOPS 2.3.3. i updated the news module to 1.6.3 and all is well now. and there is no need to modify /modules/news/include/functions.php

the following is okay even though /class/fckeditor/formfckeditor.php does not exist! (it exists in /class/xoopseditor/fckeditor)

case 'fckeditor':
if ( is_readable(XOOPS_ROOT_PATH . '/class/fckeditor/formfckeditor.php')) {
require_once(XOOPS_ROOT_PATH . '/class/fckeditor/formfckeditor.php');

mboyden

Moderator
Posted on: 2009/5/23 23:59
mboyden
mboyden (Show more)
Moderator
Posts: 484
Since: 2005/3/9 1
#7

Re: XOOPS 2.3.x Upgrade Notes (from 2.0.x)

zzzzsg wrote:
Quote:
what do you mean by "Merge Core/Module Modifications" ?
how do you do a merge?

A lot of site owners will make small modifications to the core or, more frequently, to the modules. At the very least, most change the language files. So, if you have made any "hacks" to either your modules or your core, then you need to compare them to the originals and then update as appropriate to make them work to your needs. Many programs exist to compare two folders and note the changes file-by-file for you.

Quote:
what do you mean by "Move new xoops_lib and xoops_data folders into XOOPS_TRUST directory" ?
in the mainfile.php, XOOPS_TRUST_PATH is defined as
the XOOPS_PATH and the XOOPS_PATH is the path of the xoops_lib folder. So "Move new xoops_lib ... into XOOPS_TRUST" is moving the xoops_lib back into itself.
define("XOOPS_TRUST_PATH", XOOPS_PATH);

Correct that they both point to the same place, but it's not circular, actually. For Protector and AltSys (and previous related) modules, GIJoe introduced the XOOPS_TRUST_PATH that made core PHP code more secure stored outside the web document root and thus more unavailable. As XOOPS embraces more of this methodology and links it into the core, some backwards compatibility must exist. That's what is going on. So, after you upgrade and update, find a secure location and move them and update the mainfile.php to their new locations.

Quote:
what do you mean by "Delete and redirect cache and templates_c folders via symbolic link "?

how do we delete a folder than the redirect it?
redirect from where?

Reading the installation instructions might assist. This was more of a checklist than a full set of instructions. These folders are "deprecated" . They are now (more securely) in the XOOPS_TRUST_PATH/xoops_data/caches/ folders. To make a symbolic link (Windoze calls them shortcuts), you use the 'ln' command: 'ln -s /path/to/new/folder linkname', thus 'ln -s /home/mylogin/xoops_trusted/xoops_data/caches/smarty_compile templates_c' and 'ln -s /home/mylogin/xoops_trusted/xoops_data/caches/smarty_cache cache'.

Quote:
"Update FCKeditor module-specific configurations in all modules (if any)"
where are the module-specific configurations in all modules?
my fckeditor is not working after upgrading XOOPS from 2.2 to 2.3.3.


I do have a rather extensive posting on FCKeditor, too, but realize some modules may need changes as you update that editor. The calls and method for passing variables to FCKeditor has changed a little. Module-specific configurations are in three files in the root of each module that start with fckeditor in the filename. If they aren't in the module directory, they don't exist for that module and thus can be ignored. Some of these are more extensive than others.

Note: as the title of my post says, this checklist is for 2.0.x to 2.3.x; unfortunately I never used the 2.2 branch, so your mileage may vary.

Hope that helps.
Pessimists see difficulty in opportunity; Optimists see opportunity in difficulty. --W Churchill

XOOPS: Latest | Debug | Hosting and Web Development

zzzzsg

Just popping in
Posted on: 2009/5/26 19:28
zzzzsg
zzzzsg (Show more)
Just popping in
Posts: 86
Since: 2005/12/22
#8

Re: XOOPS 2.3.x Upgrade Notes (from 2.0.x)

thank you mboyden