Skip to content

How-to guideFor everyoneDrupal 11

Install Drupal core

You have a codebase; now you need a site. This page installs Drupal 11 two ways, through the web installer and through the command line, and shows core’s built-in quick-start command for disposable test sites.

An installed, working Drupal 11 site using the Standard profile, with an admin account you control. If you have not created the codebase yet, do Set up your environment first; this page assumes it verbatim. If you inherited an existing project, you do not install at all: import the database instead, as described in the existing-project variation.

  • A Drupal 11 codebase in a running DDEV project, per Set up your environment.
  • Drush installed in the project (ddev composer require drush/drush).

The installer asks for an install profile, which decides what your site starts with. These docs assume Standard, which pre-configures the pieces the rest of this section tours: the Olivero front-end theme, the Claro admin theme, text formats and editors, and (from Drupal 11.4) the Navigation admin sidebar. Added in 11.4 Standard ships no content types: you define your own content model, as Your first hour shows. Minimal starts nearly empty and suits experienced teams who build everything from configuration. Demo: Umami is a showcase site for evaluating Drupal, not a starting point. A packaged alternative to all of these is Drupal CMS, which ships a finished site with smart defaults; see the variation below.

  1. Open the site in your browser:

    Terminal window
    ddev launch
  2. Drupal detects there is no installed site and redirects you to the installer at /core/install.php.

  3. Choose a language, then choose the Standard installation profile.

  4. The database step does not appear: DDEV already provided working credentials in settings.ddev.php, so the installer skips straight to installing modules. On a stack without DDEV, you enter database credentials here instead.

  5. On the Configure site form, set the site name, an email address, and the username and password for the first user account. This account (user 1) has all permissions; pick a real password even locally.

  6. Select Save and continue. You land on your new site’s front page, logged in.

Installation creates the site’s database tables and web/sites/default/files/ for uploads. It reads the database connection from web/sites/default/settings.php, which DDEV created before you started, with its settings.ddev.php include at the bottom. Both settings files are environment-specific; neither belongs in version control with production values.

Sometimes you want a Drupal site in one command to test something, with no Docker and no database server. Core ships this itself: the quick-start command installs Drupal into an SQLite database and serves it with PHP’s built-in web server. It runs on your machine, not in DDEV, so it needs PHP 8.3 with the pdo_sqlite extension installed locally. Run it in a separate throwaway checkout, never in your DDEV project: outside the containers it finds no database, and would install an SQLite site into the same sites/default that DDEV manages.

Terminal window
composer create-project drupal/recommended-project qs
cd qs
php web/core/scripts/drupal quick-start standard

This installs the Standard profile with the SQLite database at sites/default/files/.sqlite, starts a server on 127.0.0.1, and opens a one-time login link for the admin account in your browser. Stop it with Ctrl-C. If a site is already installed, the command leaves it alone and tells you to remove sites/default/files and sites/default/settings.php before reinstalling.

Quick-start also accepts a recipe directory (a composable, apply-once bundle of configuration) instead of a profile name, which is how you try out recipes without committing to them:

Terminal window
php web/core/scripts/drupal quick-start core/recipes/standard

The install and server halves are available separately as the install and server commands (see Drupal\Core\Command\InstallCommand and Drupal\Core\Command\ServerCommand). None of this is meant for production; it exists so that “try Drupal” costs one command.

The dr entry point Added in 11.4

Section titled “The dr entry point ”

From Drupal 11.4, core’s CLI has a proper Composer-managed entry point: vendor/bin/dr. It exposes the same commands plus more (see Essential tools):

Terminal window
vendor/bin/dr quick-start standard

The old core/scripts/drupal script still works in 11.4 as a deprecated shim that forwards to dr, and is removed in Drupal 13 (see the change record). On Drupal 11.3 sites, php web/core/scripts/drupal remains the way to run these commands.

  • Visit the site URL. You see the Olivero front page with “No front page content has been created yet.” and, when logged in as admin, the admin UI: the Navigation sidebar on the left (Drupal 11.4 and later), or a toolbar across the top on earlier versions.
  • Visit Administer → Reports → Status report/admin/reports/status. No errors are listed, and the Drupal version reads 11.x.
  • From the terminal, ddev drush status reports the Drupal version, the database connection, and Drupal bootstrap : Successful.
  • Install in another language: pick the language on the installer’s first screen, or pass --locale=fr to drush site:install. Quick-start takes --langcode fr.
  • Install from a recipe: drush site:install, quick-start, and dr install all accept a recipe directory such as core/recipes/standard in place of a profile name. Recipes are composable starting points that, unlike profiles, do not stay coupled to your site after install; see Recipes and config actions.
  • Reinstall from scratch: drush site:install with -y drops and reinstalls the existing site’s database tables. For quick-start sites, delete sites/default/files and sites/default/settings.php first.
  • Existing project: never install; import the team’s database per Set up your environment.
  • Start from Drupal CMS instead: a ready-made site built on Drupal core, with structured content types, an editorial workflow, and browser-installable add-ons out of the box. Follow Install Drupal CMS in its user guide; the module and theme development tracks here apply to it unchanged.

Was this page helpful?

Drupal is a registered trademark of Dries Buytaert.