Cloud Platform

Installing a Drupal distribution

Important

  • The Remote Administration service is incompatible with the Drupal tarball installation process. However, Remote Administration is compatible with Drupal Composer-based sites.
  • Composer-based installs are recommended for real applications. For more information, see IDE.
  • Currently, the Cloud Platform user interface method is unavailable on the Cloud Next infrastructure and should only be used for demo and trial applications on the Cloud Classic infrastructure.

To install a Drupal distribution (or Drupal core), use one of the following:

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.

Note

When first installing the Drupal.org-provided core Drupal distribution for the current Drupal version, the system prompts you for a database password. Do not enter a password for the database, but instead click Save and Continue.

Installing a Drupal distribution through Composer

Prerequisites

Ensure that your development environment has the following:

Steps

  1. 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
    
  2. Create composer.json and composer.lock files:

    composer create-project --no-install drupal/recommended-project .
    

    Important

    Ensure that you include the dot at the end of the command.

  3. Modify the composer.json file by replacing web with docroot. Use your preferred editor or run the following command:

    sed -i'.original' 's/web\//docroot\//g' composer.json
    
  4. Run the following command to install the latest version of Drush in your codebase:

    composer require drush/drush --no-update
    
  5. Complete the following optional steps based on your requirement:
    1. 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
      
    2. Configure the location and name of the vendor directory:

      composer config vendor-dir vendor
      
    3. Select your preferred installation type from the following options:

      • source
      • dist
      • auto
      composer config preferred-install dist
      
    4. Add the following useful future project patches:

      composer require cweagans/composer-patches --no-update
      
    5. To add a patch to core or a module, include the following lines in the extra section in your composer.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.

    6. Configure Composer to continue if a patch fails:

      composer config extra.composer-exit-on-patch-failure false
      
    7. To remove .git folders after each update to ensure that git tracks all files, include the following lines after the extra section in your composer.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"
         ]
      }
      
  6. 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
  7. Copy default.settings.php to the settings.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.

  8. Add the following to your settings.php file for configuration management:

    $settings["config_sync_directory"] = $app_root . '/../config/' . basename($site_path);
    
  9. Add and commit your code:

    git add .
    git commit -m "Initial commit of new Drupal core site."
    
  10. 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
    
  11. Navigate to your Cloud Platform application, and switch the code to your branch on your preferred testing environment.
  12. Set your Cloud Platform environment to use the latest PHP version.
  13. If your environment contains an existing database that one of your Drupal websites uses, Acquia recommends you to perform the following:
  14. Click the link in the Cloud Platform user interface to access the URL of the Cloud Platform environment, and proceed to /core/install.php.
  15. Follow the prompts on your website to complete the installation process.

Important

To leverage Acquia CMS starter kits and add-ons in your Drupal distribution, use one of the methods described in Installing Acquia CMS.

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:

  1. Launch your Cloud IDE. If you have not yet created a Cloud IDE, follow the instructions on Getting started with Cloud IDE.
  2. 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.

  3. 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 and acli push:files. As a best practice, your codebase remains to be managed with Git.

Installing a Drupal distribution through the Cloud Platform user interface

Important

Currently, this method is unavailable on the Cloud Next infrastructure and must only be used for demo and trial applications on the Cloud Classic infrastructure.

  1. 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.
  2. On the environment’s Overview page, click Install Drupal.

    Note

    If Install Drupal is disabled for use, ensure that the following required items are in place for your environment:

    • The Code entity in the environment has a branch or trunk selected—you cannot install to a tag.
    • Live Dev mode must be disabled for your application. Live Dev expects Drupal installation attempts only from the command line.
  3. 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.
  4. 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.

    Note

    For Drupal 7, the URL of the distribution’s download file (must be in .tar.gz format). The URL of the distribution’s Drush .make file.

  5. 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 runs install.php to complete the Drupal installation. The Drupal install.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:

  1. Decompress the downloaded archive into the docroot directory of your Acquia Git repository.
  2. Add a settings.php file and update it by following the instructions on Acquia require line.
  3. Commit and push your changes to Cloud Platform using Git.
  4. Set your Cloud Platform environment to use PHP 7.4 or later.
  5. 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.

  6. Click the link in the Cloud Platform user interface to access the URL for the Cloud Platform environment and proceed to /core/install.php.
  7. Follow the prompts on your website to complete the installation process.