Info | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||
|
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.
Note |
---|
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:
Info |
---|
The post-install scripts will ask you to fill in some settings, including database settings. |
Code Block | ||
---|---|---|
| ||
$ cd /<directory>/ $ curl -sS https://getcomposer.org/installer | php $ php -d memory_limit=-1 composer.phar run-script post-install-cmd |
B. Install via Composer.
Run composer require with one of the packages listed at the top of this page:
Code Block |
---|
# install ezplatform composer create-project --prefer-dist --no-dev --keep-vcs ezsystems/ezplatform # install ezplatform with demo composer create-project --prefer-dist --no-dev --keep-vcs ezsystems/ezplatform-demo # install ezstudio (requires eZ Enterprise license/credentials) composer create-project --prefer-dist --no-dev --keep-vcs --repository-url=https://updates.ez.no/bul ezsystems/ezstudio |
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
Code Block | ||
---|---|---|
| ||
$ rm -rf app/cache/* app/logs/* $ sudo chmod +a "www-data allow delete,write,append,file_inherit,directory_inherit" \ app/cache app/logs web $ sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" \ app/cache app/logs web |
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:
Code Block | ||
---|---|---|
| ||
$ sudo setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx \ app/cache app/logs web $ sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx \ app/cache app/logs web |
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:
Code Block | ||
---|---|---|
| ||
$ sudo chown -R www-data:www-data app/cache app/logs web $ sudo find {app/{cache,logs},web} -type d | xargs sudo chmod -R 775 $ sudo find {app/{cache,logs},web} -type f | xargs sudo chmod -R 664 |
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:
Code Block | ||
---|---|---|
| ||
$ sudo find {app/{cache,logs},web} -type d | xargs sudo chmod -R 777 $ sudo find {app/{cache,logs},web} -type f | xargs sudo chmod -R 666 |
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:
Code Block | ||
---|---|---|
| ||
$ sudo chmod g+s {app/{cache,logs},web} |
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:
Code Block | ||
---|---|---|
| ||
# IfTo youdo have a clean install of "ezplatform": or$ "ezstudio" distribution, then only available option is to php -d memory_limit=-1 app/console ezplatform:install --env=prod clean # To do a clean install of "ezstudio": $ php -d memory_limit=-1 app/console ezplatform:install --env=prod studio-clean # If have "ezplatform-demo" or "ezstudio-demo" distribution, you may choose to install demo instead: $ php -d memory_limit=-1 app/console ezplatform:install --env=prod demo |
Info |
---|
Password for the generated
If you get message " 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.