eZCopy

UNIX name Owner Status
ezcopy Eirik Alfstad Johansen beta
Version Compatible with
1 > 4
eZCopy is a small, stand-alone application (not an eZ Publish extension) making it easier to
copy/move entire/parts of an eZ Publish based web site.

About

eZCopy is a small, stand-alone application (not an eZ Publish extension) making it easier to copy/move entire/parts of an eZ Publish based web site. eZCopy's main purpose is to copy an eZ installation from a live or production environment, to a local environment for testing, bug fixing or development of new functionality.
eZCopy could also be used for moving a site from one server to another, but is currently not tailored to this purpose.

Disclaimer

eZCopy makes a point of doing as little as possible to the source installation. Still, the application is delivered as-is without any warranties of any kind. You are strongly urged to backup your entire source installation (files and database(s)) before making use of this
application.

How it works

eZCopy works be connecting to the source server through SSH. In order to do this, it makes use of the PHP Secure Communications Library which is bundled with eZCopy.
One or more source servers can be specified in the INI files (see configuration). You then run the application by calling it from the command line using parameters to specify the source and desired action. For an updated description of which actions that are available, run the script without any parameters.
If you are curious as to what specifically the application does, check out the various methods in classes/ezcopy.php prepended with "action".

Requirements

Source server

  • SSH2 and SFTPv3 access (to package and download source site)
  • UNIX-like environment (tested on Linux)

Target server

  • The requirements of the eZ Publish installation you want to copy
  • PHP 5.x
  • MySQL root access
  • eZ Components (Installation instructions: http://ezcomponents.org/docs/install)
  • UNIX-like environment (tested on Mac)

NB: Currently, only MySQL is supported as the database engine.

Installation

  1. Check out ezcopy anywhere on your target server
  2. In the root of the ezcopy directory, run the following command:
chmod 777 ezcopy bin/download.php

Configuration

  • Copy settings/ezcopy_template.ini and rename the copy settings/ezcopy.ini. Add the details for your accounts in ezcopy.ini.

Usage

Open a terminal window, change directory into where you've put eZCopy, and run:

php ezcopy

to see the updated usage description.

Troubleshooting

MySQL

If you get the following error as a part of your output while doing a "download-install" or
"install":

mysql: command not found

The reason is that mysql is not in your shells executable path. Find out where the mysql
client resides ("locate mysql"), and add it to your executable path. If you are running
a bash shell, this can be accomplished by putting/editing a .bash_profile in your user
directory, and including the following:

export PATH="/path/to/mysql/client/:$PATH

Memory

For large ez sites, the script could fail due to the exhaustion of memory. If that happens
try increasing the memory_limit in php.ini. In order to see where the php.ini file is
located, do "php -i" from the command line, and search for php.ini.

TODOS

* Create action for fetching all updated data (including the var/) catalog.

This project has no reviews yet. Be the first one to review it!