To install a Drupal distribution (or Drupal core), use one of the following:
- Composer (Recommended)
- Cloud IDE (Recommended)
- Cloud Platform user interface (Not recommended)
- Tar or Zip file (Not recommended)
A Drupal distribution is a custom edition of Drupal, tuned and extended with custom developed and contributed modules to enable desired features. Such a distribution includes Drupal core, Drupal contributed modules, themes, libraries, and installation profiles that together provide a Drupal solution. You can install most of the popular Drupal distributions in Cloud Platform. To import a Drupal distribution to Cloud Platform, you can leverage one-click selection.
Prerequisites for installing Drupal 11
The following are the prerequisites for installing Drupal 11:
PHP 8.3 is not set as the default version. Therefore, update your environments and developer tools such as Code Studio and Cloud IDE to use PHP 8.3.
MySQL 8 is currently not available on Cloud Platform. Therefore, use the MySQL 8.0 to 5.7 backport database driver module to allow Drupal 11 to run on MySQL 5.7. For more information, see MySQL 8.0 to 5.7 backport database driver for upgrading to Drupal 11.
If you use the mysql57 module with Cloud IDE, PHPUnit tests that use the database fail with an error stating that the database server version of 5.7 is less than the minimum required version of 8.0. To resolve this error, update the
SIMPLETEST_DB
environment variable to add?module=mysql57
:export SIMPLETEST_DB="mysql://drupal:[email protected]/drupal?module=mysql57"
BLT is not compatible with Drupal 11 and has reached end-of-life. If you use BLT, remove it from your codebase before upgrading to Drupal 11. For more information, see Acquia Developer Portal Homepage.
Installing a Drupal distribution through Composer
Pre-requisites
Ensure that your development environment has the following:
Steps
Clone your Acquia repository into a new folder such as
ProjectName
, and create a branch:git clone [email protected]:Sitename.git ProjectName cd ProjectName git checkout -b MyBranchName
Create
composer.json
andcomposer.lock
files:composer create-project --no-install drupal/recommended-project .
Modify the
composer.json
file by replacingweb
withdocroot
. Use your preferred editor or run the following command:sed -i'.original' 's/web\//docroot\//g' composer.json
Run the following command to install the latest version of Drush in your codebase:
composer require drush/drush --no-update
- Complete the following optional steps based on your requirement:
Add asset-packagist.org as another repository to provide access to supplement packages.drupal.org and additional packages:
composer config repositories.1 composer https://asset-packagist.org
Configure the location and name of the vendor directory:
composer config vendor-dir vendor
Select your preferred installation type from the following options:
- source
- dist
- auto
composer config preferred-install dist
Add the following useful future project patches:
composer require cweagans/composer-patches --no-update
To add a patch to core or a module, include the following lines in the
extra
section in yourcomposer.json
file for future patches:"enable-patching": true, "patches": { "drupal/[module_name]": { "Note regarding the nature of the patch being applied": "https://www.drupal.org/files/issues/[patch_name].patch" } },
For more information, see Patching with Composer.
Configure Composer to continue if a patch fails:
composer config extra.composer-exit-on-patch-failure false
To remove
.git
folders after each update to ensure that git tracks all files, include the following lines after theextra
section in yourcomposer.json
file:"scripts": { "post-install-cmd": [ "find docroot vendor -name '.git' | xargs rm -rf", "find docroot vendor -name '.github' | xargs rm -rf" ], "post-update-cmd": [ "find docroot vendor -name '.git' | xargs rm -rf", "find docroot vendor -name '.github' | xargs rm -rf" ] }
Run the following command to install all dependencies:
composer install
Composer performs the following:
- Creates a Drupal project
- Ensures that Drupal uses a directory structure that Acquia recommends
- Adds the latest version of Drush as a required dependency
Copy
default.settings.php
to thesettings.php
file to add your database connection:cp docroot/sites/default/default.settings.php docroot/sites/default/settings.php
For instructions about modifying the
settings.php
file, see Acquia require line.Add the following to your
settings.php
file for configuration management:$settings["config_sync_directory"] = $app_root . '/../config/' . basename($site_path);
Add and commit your code:
git add . git commit -m "Initial commit of new Drupal core site."
Run the following command to push your changes to the Acquia repository and create a tracking branch on the remote repository:
git push --set-upstream origin MyBranchName
- Navigate to your Cloud Platform application, and switch the code to your branch on your preferred testing environment.
- Set your Cloud Platform environment to use the latest PHP version.
- If your environment contains an existing database that one of your Drupal websites uses, Acquia recommends you to perform the following:
- Perform a database backup.
- Download your Cloud Platform Drush aliases.
Use Drush to drop the database on your Cloud Platform environment so that you have a clean database for your Drupal site install:
../vendor/bin/drush @my.alias sql-drop
- Click the link in the Cloud Platform user interface to access the URL of the Cloud Platform environment, and proceed to
/core/install.php
. - Follow the prompts on your website to complete the installation process.
Installing a Drupal distribution in a Cloud IDE
Cloud IDE also offers a convenient and opinionated way to install Drupal.
To install a Drupal distribution using a Cloud IDE:
- Launch your Cloud IDE. If you have not yet created a Cloud IDE, follow the instructions on Getting started with Cloud IDE.
From the IDE Get Started page, click CREATE A NEW APPLICATION.
A terminal pane pops up and prompts you to install the Acquia Drupal recommended project or the Acquia Drupal minimal project.
Select your target version by typing the number associated with your distribution selection in the terminal prompt and press Enter. Acquia CLI takes care of automatic installation of Drupal in Cloud IDE’s
/home/ide/project
directory.After Drupal is installed, you can start developing or push from the IDE terminal to Cloud Platform with
acli push:db
andacli push:files
. As a best practice, your codebase remains to be managed with Git.
Installing a Drupal distribution through the Cloud Platform user interface
- Sign in to the Cloud Platform user interface and select the application and environment where you want to install Drupal. You cannot install Drupal in a Production environment.
On the environment’s Overview page, click Install Drupal.
- On the Install distribution page, locate the Drupal distribution that you want to install, and click Install. For multiple distributions, you can click Learn more to get more information about a distribution.
To install a distribution that is not listed, for example, your organization may have its own Drupal distributions, or you may want to install another distribution from drupal.org, click Install from URL. In the Install Drupal from URL dialog, enter the URL of the distribution.
In the Install Drupal from URL dialog, click Install.
Deploying a new Drupal distribution in an environment takes a few minutes. After the installation process completes, click the environment’s website URL to visit your Drupal website. This runsinstall.php
to complete the Drupal installation. The Drupalinstall.php
script opens in a new browser window. The script creates a standard Drupal database, sets up the administrator username and password, and configures other modules and features relevant to the Drupal distribution you chose.
To start modifying your code, make a local copy of the repository using the Git checkout
command.
Downloading Drupal distribution manually and deploying to Cloud Platform
To install a Drupal distribution on Cloud Platform, you can download a Cloud Platform compatible .tar
or .zip
file of the latest Drupal release and complete the following steps:
- Decompress the downloaded archive into the
docroot
directory of your Acquia Git repository. - Add a
settings.php
file and update it by following the instructions on Acquia require line. - Commit and push your changes to Cloud Platform using Git.
- Set your Cloud Platform environment to use PHP 7.4 or later.
- If your environment has an existing database that was used by one of your Drupal websites before, Acquia recommends you to:
- Perform a database backup
- Download your Cloud Platform drush aliases
Use Drush to drop the database on your Cloud Platform environment (replace
@my.alias
with the appropriate alias for your application and environment) as displayed in the following example:./vendor/bin/drush @my.alias sql-drop
This ensures you have a clean database for your Drupal install.
- Click the link in the Cloud Platform user interface to access the URL for the Cloud Platform environment and proceed to
/core/install.php
. - Follow the prompts on your website to complete the installation process.