Upgrading from 4.3.x to 4.4.x
This section describes how to upgrade your existing eZ Publish 4.3.x installation to version 4.4. The upgrade procedure described below is generic and does not cover any specific cases (for example, running eZ Publish in a clustered environment).
Make sure that you have a working backup of the site before you do the actual upgrade.
Important upgrade notes:
The procedure for upgrading directly from version 4.3.x to 4.4 consists of the following steps:
- Upgrade the distribution files to 4.4
- Upgrade custom extensions
- Upgrade the database to 4.4
- Regenerate the autoload array for extensions
- Run the system upgrade scripts for 4.4
- Clear the caches
Check for requirements
The eZ Components 2009.1 requirements
With eZ Publish 4.4, eZ Components 2009.2.1 is the minimum version required. When downloading eZ Publish 4.4 it is possible to choose between a package bundled with eZ Components 2009.2.1, or a package without eZ Components. If you choose the latter, you must install eZ Components separately. For more information see http://ezcomponents.org/docs/install
The PHP requirements
eZ Publish 4.4 is compatible with PHP version 5.3. For more information regarding system requirements check out http://ez.no/ezpublish/requirements
Step 1: Upgrade the distribution files
The easiest way to upgrade the distribution files is to unpack eZ Publish 4.4 to a separate directory and then copy the directories that contain site-specific files from the existing installation. Make sure that you copy the following directories:
Replace "example" and "example_admin" with the actual names of your site accesses.
Because the new directory has replaced the original directory, the directory permissions need to be fixed. Use the following commands to do this.
(You have the choice between Shell commands or Alternative shell commands):
- Shell commands
These shell commands will give proper permission to the web server:
cd </path/to/your/eZ/Publish/directory> chmod -R a+rwx design extension settings var
- Alternative shell commands
These commands will setup the permission more correctly, but require knowledge about the running web server.
chmod -R og+rwx design extension settings var chown -R nouser:nouser design extension settings var
Step 2: Upgrade custom extensions
If you are using custom extensions, the sub-directories inside the "extension" directory will also have to be copied. However, make sure that you do not overwrite any extensions that are included in eZ Publish, which currently are eZ Online Editor (5.x), eZ OpenOffice.org (2.x) and eZ JSCore (1.x). Note that upgrading the distribution files will overwrite the autoload arrays for extensions. You will need to re-generate the autoload arrays for active extensions later.
See the dedicated upgrade instructions for eZ Flow and Website Interface below.
The updated versions of eZ Flow and Website Interface will also install the following extensions:
- eZ Website Toolbar
- eZ Star Rating
- eZ Google Maps Location
For eZ OE 5.x and eZ JS Core you will need to replace the following rewrite rules when using Virtual Hosts:
RewriteRule ^/var/cache/texttoimage/.* - [L] RewriteRule ^/var/[^/]+/cache/(texttoimage|public)/.* - [L]
RewriteRule ^/var/([^/]+/)?cache/(texttoimage|public)/.* - [L]
Note: Both admin2 design and webin (ezwebin extension) requires ezjscore extension to be enabled, look here for how to enabling extensions.
Step 3: Upgrade the database
The update script for the database is located in
<eZ Publish root>/update/database/<mysql|postgresql>/4.4/dbupdate-4.3.0-to-4.4.0.sql
You can run this with the appropriate command line tool or application.
Step 4: Regenerate the autoload array for extensions
The autoload system also has some changes, for example the autoload array for extensions is now placed in var/autoload of your eZ Publish installation (along the class changes in extensions itself).
To regenerate the autoload array, execute the following script from the root of your eZ Publish directory:
php bin/php/ezpgenerateautoloads.php --extension
Step 5: Run the system upgrade scripts
Run the following command from the root of your eZ Publish directory:
Step 6: Clear the caches
Whenever an eZ Publish solution is upgraded, all caches must be cleared in a proper way. This should be done from within a system shell:
- Navigate into the eZ Publish 4.4 directory.
- Run the script using the following shell command:
php bin/php/ezcache.php --clear-all --purge
Purging ensures that the caches are physically removed. When the "--purge" parameter is not specified, the caches will be expired but not removed.
Sometimes the script is unable to clear all cache files because of restrictive file/directory permission settings. Make sure that all cache files have been cleared by inspecting the contents of the various cache sub-directories within the "var" directory (typically the "var/cache/" and "var/<name_of_siteaccess>/cache/" directories). If there are any cache files left, you need to remove them manually.
Step 7: Upgrading extensions
When using eZ Webin and eZ Flow, these extension will also need to be updated.
The first thing to do is to change the extensions permissions. An example on how this is done:
$chmod -R a+rwx extension
Geir Arne Waaler (16/02/2011 9:37 am)
Geir Arne Waaler (06/06/2011 9:07 am)