Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Installing with the skeleton

Step by step from an empty folder to a running DXP project - create-project or git clone, environment, database, install command, permissions, assets, JWT keys, GraphQL schema, reindex and the first start - with a save…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/dxp-developers/installing-with-the-skeleton.md

On this page

Installing with the skeleton

This page is for developers who install a DXP project for the first time. It follows the skeleton's installation guide (sections 3 to 11) in a shorter form and links to the pages that explain each step. Allow about 30 minutes on a prepared machine (Versions you need).

Contents

  1. Two ways to start
  2. The steps
  3. After the install
  4. Save points
  5. When a step fails

Two ways to start

WayCommandUse it when
Create a project (recommended)composer create-project se7enxweb/exponential-platform-dxp-skeleton my-projectYou start your own project
Clone the skeletongit clone [email protected]:se7enxweb/exponential-platform-dxp-skeleton.git then composer install --keep-vcsYou work on the skeleton itself

create-project downloads the packages, runs the Flex recipes and the post-install scripts (assets:install, cache:clear).

The steps

  1. Create the project.

    composer create-project se7enxweb/exponential-platform-dxp-skeleton my-project
    cd my-project
  2. Configure the environment in .env.local, never in .env, and never commit it (Environment variables).

    cp .env .env.local
    $EDITOR .env.local
  3. Create the database (MySQL, MariaDB or PostgreSQL) or set the SQLite DSN (Databases, SQLite for development).

  4. Install the schema and seed data.

    php bin/console exponential:install exponential-oss

    The argument is the install type; exponential-oss is the default. --skip-indexing skips the automatic reindex (Console commands).

  5. Set the permissions for the web server user on var/ and public/var/ (File permissions).

  6. Build the site assets.

    source ~/.nvm/nvm.sh && nvm use 20
    yarn install
    yarn dev
  7. Build the administration assets.

    php bin/console assets:install --symlink --relative public
    yarn ibexa:build
  8. Generate the JWT keypair for the REST API (JWT authentication).

    php bin/console lexik:jwt:generate-keypair
  9. Generate the GraphQL schema (GraphQL).

    php bin/console ibexa:graphql:generate-schema
  10. Clear the cache and build the search index.

    php bin/console cache:clear
    php bin/console exponential:reindex
  11. Start a development server.

    symfony server:start

After the install

URLWhat it is
https://127.0.0.1:8000/The public site (Twig)
https://127.0.0.1:8000/adminui/The administration interface
https://127.0.0.1:8000/api/ibexa/v2/REST API v2 (the guide shows /api/ezp/v2/; check the prefix as on The REST API)
https://127.0.0.1:8000/graphqlGraphQL

The seed data creates an administrator account whose sign-in is printed in the public installation guide. Change its password in the administration interface right away, before the site is reachable from anywhere else.

Save points

The guide suggests a Git commit after each stage, so you can return to a working state:

git init && git add -A && git commit -m "Added: project created from the DXP skeleton"
git add composer.lock && git commit -m "Updated: locked vendor dependencies"

Before git add -A, check that .gitignore excludes .env.local, config/jwt/*.pem, var/ and vendor/ (Develop with Git).

When a step fails

SymptomPage
Composer refuses a PHP versionVersions
yarn ibexa:build reports "Module not found"Run assets:install first (Building assets)
attempt to write a readonly databaseSQLite for development
Anything elseTroubleshooting

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x