Skip to content

Install eZ Platform on macOS or Windows

This page explains how to install eZ Platform on macOS or Windows.


This procedure is for development purposes only. Installing eZ Platform for production purposes is supported only on Linux.

If you want to use eZ Platform in the production environment, see Installing eZ Platform.

Prepare work environment

To install eZ Platform, you need a stack with MySQL and PHP. Additionally, you need Node.js and Yarn for asset management. If you want to use a web server, you need to install it as well:

  • For Windows: Apache
  • For macOS: Apache/nginx

The instructions below assumes you are using Apache.


Locate the php.ini file and open it in a text editor. Provide missing values to relevant parameters, e.g. date.timezone and memory_limit:

date.timezone = "Europe/Warsaw"
memory_limit = 4G

Uncomment or add extensions relevant to your project, e.g. opcache extension for PHP (recommended, not required):


Edit Apache configuration file httpd.conf. Replace placeholder values with corresponding values from your project, e.g. ServerName localhost:80. Uncomment relevant modules, e.g.:

LoadModule rewrite_module modules/
LoadModule vhost_alias_module libexec/apache2/

Start Apache by running: httpd.exe.


You can install Apache as a Windows service by running the following command in CMD as administrator:

httpd.exe -k -install

You can then start it with:

httpd.exe -k start

Get Composer


Install Composer using a package manager, for example Homebrew.


Download and run Composer-Setup.exe - it will install the latest Composer version.

Download eZ Platform

Download and extract an archive into the location where you want your project root directory to be from (for open-source version) or from the Support portal (for eZ Enterprise), or clone the GitHub repository:

git clone .


You can use any other folder name for your project in place of ezplatform. Set its location as your project root directory in your virtual host configuration.

To install Composer dependencies, from the folder into which you downloaded eZ Platform, run:

composer install

Change installation parameters

At this point you can configure your database via the DATABASE_URL in the .env file: DATABASE_URL=mysql://user:password@host:port/name.

Choose a secret and provide it in the APP_SECRET parameter in the .env file. The secret should be a random string consisting of up to 32 characters, numbers, and symbols. This is used by Symfony for generating CSRF tokens, encrypting cookies, and creating signed URIs when using ESI (Edge Side Includes).

Alternatively, you can also change individual installation parameters in .env.


It is recommended to store the database credentials in your .env.local file and not commit it to the Version Control System.

The configuration requires providing the following parameters:

  • DATABASE_PLATFORM — prefix for distinguishing the database you are connecting to (e.g. mysql or pgsql)
  • DATABASE_DRIVER — driver used by Doctrine to connect to the database (e.g. pdo_mysql or pdo_pgsql)
  • DATABASE_VERSION - database server version (for a MariaDB database, prefix the value with mariadb-)

Using PostgreSQL

If you want an installation with PostgreSQL instead of MySQL, see Using PostgreSQL.

Create database


You can omit this step. If you do not create a database now, it will be created automatically in the next step.

To manually create a database, ensure that you changed the installation parameters, then run the following Symfony command:

php ./bin/console doctrine:database:create

Install eZ Platform

Before executing the following command, ensure that the user set during composer install has sufficient permissions.

Install eZ Platform by running:

composer ezplatform-install


Setting up folder permissions and virtual host is installation-specific. Make sure to adapt the instructions below to your specific configuration.

Set up virtual host

To set up virtual host, use the template provided with eZ Platform: <your installation directory>/doc/apache2/vhost.template.

Copy the virtual host template under the name <your_site_name>.conf into your Apache directory:

  • For Windows: <Apache>\conf\vhosts
  • For macOS: /private/etc/apache2/users/

Modify <your_site_name>.conf to fit it to your installation. Then restart the Apache server.

Set up permissions

Directories var and web/var need to be writable by CLI and web server user. Future files and directories created by these two users will need to inherit those permissions.

For more information, see Setting up or Fixing File Permissions.

Read the Docs