Install Ibexa Platform on macOS or Windows¶
This page explains how to install Ibexa Platform on macOS or Windows.
This procedure is for development purposes only. Installing Ibexa Platform for production purposes is supported only on Linux.
If you want to use Ibexa Platform in the production environment, see Installing Ibexa Platform.
Prepare work environment¶
- For Windows: Apache
- For macOS: Apache/nginx
The instructions below assumes you are using Apache.
php.ini file and open it in a text editor.
Provide missing values to relevant parameters, e.g.
Uncomment or add extensions relevant to your project, e.g.
opcache extension for PHP (recommended, not required):
Edit Apache configuration file
Replace placeholder values with corresponding values from your project, e.g.
Uncomment relevant modules, e.g.:
Start Apache by running:
You can install Apache as a Windows service by running the following command in CMD as administrator:
You can then start it with:
Install Composer using a package manager, for example Homebrew.
Download and run Composer-Setup.exe - it will install the latest Composer version.
Download Ibexa Platform¶
Download and extract an archive into the location where you want your project root directory to be from ezplatform.com (for open-source version) or from the Support portal (for Ibexa DXP), or clone the GitHub repository:
You can use any other folder name for your project in place of
Set its location as your project root directory in your virtual host configuration.
To install Composer dependencies, from the folder into which you downloaded Ibexa Platform, run:
Change installation parameters¶
At this point you can configure your database via the
DATABASE_URL in the
Choose a secret
and provide it in the
APP_SECRET parameter in the
The secret should be a random string, made up of at least 32 characters, numbers, and symbols.
This is used by Symfony for generating CSRF tokens,
and creating signed URIs when using ESI (Edge Side Includes).
Alternatively, you can also change individual installation parameters in
The app secret is crucial to the security of your installation. Be careful about how you generate it, and how you store it. Here's one way to generate a 64 characters long, secure random string as your secret, in PHP:
Do not commit the secret to version control systems, or share it with anyone who does not strictly need it. If you have any suspicion that the secret may have been exposed, replace it with a new one. The same goes for other secrets, like database password, Varnish invalidate token, JWT passphrase, etc.
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.
DATABASE_DRIVER— driver used by Doctrine to connect to the database (e.g.
DATABASE_VERSION- database server version (for a MariaDB database, prefix the value with
If you want an installation with PostgreSQL instead of MySQL, see Using PostgreSQL.
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:
Install Ibexa Platform¶
Before executing the following command, ensure that the user set during
composer install has sufficient permissions.
Install Ibexa Platform by running:
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 Ibexa 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:
- For macOS:
<your_site_name>.conf to fit it to your installation. Then restart the Apache server.
Set up permissions¶
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.
See the Security checklist for a list of security-related issues that you should take care of before going live with a project.