General

  eZ Systems Website
  Technical documentation
  Editor documentation

This Documentation contains:
 
Technical documentation:



⚠ WARNING ! This documentation is deprecated !

Please go to the current Technical Documentation

Skip to end of metadata
Go to start of metadata

General installation guide for all eZ distributions

This installation guide can be followed with any eZ Symfony distribution, here are a list of available distributions from eZ:

TypeArchiveLicenseGIT / Composer
eZ Platform - "clean"share.ez.no/downloads/downloadsGPLezsystems/ezplatform (INSTALL.md)
eZ Platform - "demo"Available via Git / ComposerGPLezsystems/ezplatform-demo
eZ Studio - "clean"support.ez.no/DownloadsBUL (requires eZ Enterprise subscription)ezsystems/ezstudio (INSTALL.md)
eZ Studio - "demo"support.ez.no/DownloadsBUL (requires eZ Enterprise subscription)ezsystems/ezstudio-demo

Terms used in this guide

  • /<root-dir>/: The filesystem path where eZ distribution is installed in. Examples: /home/myuser/www/ or /var/sites/<project-name>/
  • cli: command line interface. For Linux/BSD/OS X specific commands, use of bash or similar is assumed.

Prerequisites

These instructions assume you have technical knowledge and have already installed PHP, web server & a database server needed for this software. For further information on requirements see Requirements page.

Before you start:

- Create Database: installation will ask you for credentials/details for the database to use.

Right now the installer only supports MySQL and MariaDB, Postgres support will be (re)added in upcoming releases.

- Set php.ini memory_limit=256M before running the commands below.

- Optional: You can also set up Solr to be used by eZ distribution and take note of the url it is accessible on.

Installation

1. Install/Extract eZ distribution:

Described below are two methods of installing eZ distribution. What is common between them is that you should make sure relevant settings are generated into app/config/parameters.yml as a result of this step.

parameters.yml contains settings for your database, mail system, and optionally Solr if search_engine is configured as solr, as opposed to default legacy (a limited database-powered search engine).

A. Extract archive (tar/zip) from the relevant address listed in the table above.

Extract the eZ distribution archive to a directory, then execute post-install scripts:

The post-install scripts will ask you to fill in some settings, including database settings.

B. Install via Composer.

Run composer require with one of the packages listed at the top of this page:

At the end of the installation process, you will be asked for basic configuration options, such as database credentials. 

2. Only for *NIX users Setup folder rights:

Like most things, Symfony documentation applies here, meaning app/cache and app/logs need to be writable by cli and web server user. Furthermore, future files and directories created by these two users will need to inherit those access rights. For security reasons, there is no need for web server to have access to write to other directories.

Change www-data to your web server user:

A. Using ACL on a Linux/BSD system that supports chmod +a

B. Using ACL on a Linux/BSD system that does not support chmod +a

Some systems don't support chmod +a, but do support another utility called setfacl. You may need to enable ACL support on your partition and install setfacl before using it (as is the case with Ubuntu), in this way:

C. Using chown on Linux/BSD/OS X systems that don't support ACL

Some systems don't support ACL at all. You will need to set your web server's user as the owner of the required directories:

D. Using chmod on a Linux/BSD/OS X system where you can't change owner

If you can't use ACL and aren't allowed to change owner, you can use chmod, making the files writable by everybody. Note that this method really isn't recommended as it allows any user to do anything:

When using chmod, note that newly created files (such as cache) owned by the web server's user may have different/restrictive permissions. In this case, it may be required to change the umask so that the cache and log directories will be group-writable or world-writable (umask(0002) or umask(0000) respectively).

It may also possible to add the group ownership inheritance flag so new files inherit the current group, and use 775/664 in the command lines above instead of world-writable:

E. Setup folder rights on Windows

For your choice of web server you'll need to make sure web server user has read access to <root-dir>, and write access to the following directories:

  • app/cache
  • app/logs

3. Configure a VirtualHost:

A virtual host setup is the recommended, most secure setup of eZ distribution. General virtual host setup template for Apache and Nginx can be found in the doc/ folder of your eZ installation. For the latest version you can also find it in same doc/ folder in the relevant Git repository listed in the table above.

4. Run installation command:

You may now complete the eZ distribution installation with the ezplatform:install command, however which options you may install depends on your distribution:

Password for the generated admin user is publish, this name and password is needed when you want to log in to backend UI. Future versions will prompt you for a unique password during installation.

 

If you get message "Unknown install type 'demo'" or similar, execute the following for possible options

php -d memory_limit=-1 app/console ezplatform:install --env=prod --help 

 

5. Access your installation

You can now point your browser to the installation and browse the site. To access the  UI backend, use the /ez URL.

 

1 Comment

  1. For all of you interested in trying eZ Platform v1 on OS X Yosemite, you can take a look at my installation guide (it is a github repo, all contributions are welcome).

    This is a from-scratch installation guide with all required dependencies and configuration (very helpful in the development process).