---
title: "Configure D10: CMS/Studio for Site Factory 1"
date: "2024-03-26T21:26:10+00:00"
summary:
image:
type: "article"
url: "/site-factory/help/90191-configure-d10-cmsstudio-site-factory-1"
id: "e4bc7c86-9f69-421b-a825-6656d6532854"
---

Table of contents will be added

Goal
----

Create a new Cloud IDE instance, Install Drupal 10, and prepare your codebase with the necessary modules for Acquia CMS, Site Studio and Site Factory.

Overview
--------

In this comprehensive, five-part guide, I will show how to set up Cloud IDE, install Drupal 10 with Acquia CMS and Site Studio, and finally prepare your codebase for Site Factory by giving it a custom installation profile. We will leverage Acquia BLT helper scripts and recipes to standardize and accelerate what would otherwise be a lengthier sequence of manual steps.

The approach covered here will enable you to install new Drupal sites on ACSF using the current configuration files in your codebase.

1.  **Set up Cloud IDE, Install Drupal 10, and Prepare your Codebase for Site Factory**
2.  [Acquia CMS and Site Studio installation and configuration for Site Factory](/tutorial/configure-drupal-10-codebase-acquia-cms-and-site-studio-site-factory-part-2)
3.  [Create a Custom Profile and test New Site Creation with Site Factory](/tutorial/configure-drupal-10-codebase-acquia-cms-and-site-studio-site-factory-part-3)
4.  [ACSF Deployment Workflow with Site Studio](/tutorial/configure-drupal-10-codebase-acquia-cms-and-site-studio-site-factory-part-4)
5.  [Optional: Configure multiple Site Studio sync directories](/tutorial/configure-drupal-10-codebase-acquia-cms-and-site-studio-site-factory-part-5)

Let's get started!

1.  Create your Cloud IDE instance
    ------------------------------
    
    Login to your Acquia Cloud Platform account:
    
    ![Dashboard interface for Acquia TAM 2, showing environments, task log, and options to update code and refresh environments.](https://acquia.widen.net/content/990e92b0-c9d8-4f97-87de-89d569733f47/web/url_82e3080dee8911cea6f5083971322ffe.jpg)
    
    Click the “Actions” button and select “Create Cloud IDE”. Give a name to your new Cloud IDE instance and click the “Submit” button:
    
    ![Form to create a new Acquia Cloud IDE, labeled "Signorelli IDE," with one environment remaining. Options to cancel or submit.](https://acquia.widen.net/content/f58bcfda-0039-41de-9a08-109b525030d7/web/url_269ae84063dce33079e3a8b12cec2f2f.png)
    
    We want to install Drupal 10, so we need to make sure that the PHP version of our environments is set to PHP 8.1:
    
    ![Web interface showing PHP version selection for a cloud environment. "PHP 8.1" is selected. Options include PHP 7.0 to 8.1.](https://acquia.widen.net/content/7fc24030-15c4-45a3-a61c-1700a1c7d45b/web/url_51d16119536afe8e54adb56b0bb0a981.png)
    
2.  Cloud IDE Configuration
    -----------------------
    
    Open your Cloud IDE instance:
    
    ![Geometric logo with stacked blue hexagons inside a black outline, above the word "reservoir" in lowercase black letters.](https://acquia.widen.net/content/1bc8cf68-3b94-41a8-b620-5a4deafe6b9a/web/url_8d1e713769d527db2e65870145893168.png)
    
    ![Acquia Cloud IDE interface with instructions for configuring, copying, or creating a new Drupal application. Features buttons for each step.](https://acquia.widen.net/content/394c7545-33ee-4e28-8025-871dfd4d3f08/web/url_6dba96da7c0e3861d4b0672824b6c681.jpg)
    
    Ensure that the PHP version of your Cloud IDE is also configured to PHP 8.1:
    
        php -v 
        PHP 8.1.7 (cli) (built: Jul 6 2022 11:02:45) (NTS) 
        Copyright (c) The PHP Group 
        Zend Engine v4.1.7-dev, Copyright (c) Zend Technologies 
         with Zend OPcache v8.1.7, Copyright (c), by Zend Technologies
    
    If you are currently using an older version of PHP in your Cloud IDE instance, you can easily switch to a newer version with the following command:  
    [https://docs.acquia.com/ide/#working-with-php](/node/55934)
    
        acli ide:php-version 8.1
    
    On the “Get Started” page of your Cloud IDE, click the “Configure IDE” button to connect your IDE to your Cloud Platform account:
    
    ![Screenshot of a development environment with instructions to configure the IDE for a Drupal application, including terminal commands and prompts.](https://acquia.widen.net/content/cc52577e-e4a3-477a-aa19-7ef0e493014f/web/url_21ad6dce328d8316ad70335f76f6112e.jpg)
    
3.  Create a new Drupal project
    ---------------------------
    
    The Acquia Drupal Recommended Project is a project template providing a great out-of-the-box experience for new Drupal 10 projects hosted on Acquia. It is based on the Drupal Recommended Project, with the principal difference being the addition of several modules and packages that provide the best possible out-of-the-box experience for Acquia customers.
    
    For this tutorial, We will use the 2.0.210 release of the Acquia Drupal Recommended Project:  
    [https://github.com/acquia/drupal-recommended-project/releases/tag/2.0.210](https://github.com/acquia/drupal-recommended-project/releases/tag/2.0.210)
    
    Open a new Terminal window in your Cloud IDE and execute the following composer command:
    
        
        composer create-project acquia/drupal-recommended-project:2.0.210 . 
        
    
    Once the process has finished, you can check the current status of your Drupal project:
    
        Signorelli IDE:~/project $ drush status
        Drupal version : 10.2.3 
        Site URI : https://a25f8436-9405-40ac-85f9-07c79344ed19.web.ahdev.cloud 
        PHP binary : /usr/local/php8.1/bin/php 
        PHP config : /usr/local/php8.1/etc/cli/php.ini 
        PHP OS : Linux 
        PHP version : 8.1.24 
        Drush script : /home/ide/project/vendor/bin/drush 
        Drush version : 12.4.3.0 
        Drush temp : /tmp 
        Drush configs : /home/ide/.drush/drush.yml 
         /home/ide/project/vendor/drush/drush/drush.yml 
        Drupal root : /home/ide/project/docroot 
        Site path : sites/default
        Signorelli IDE:~/project $
    
4.  Install BLT
    -----------
    
    [https://docs.acquia.com/blt/install/adding-to-project/](/node/56461)
    
    To add BLT to your existing Drupal project, please follow these steps:
    
    1.  Open the Cloud IDE Terminal and navigate to your project directory (~/project).
    2.  Once you're in the correct directory, you can configure Composer's minimum-stability and prefer-stable values by running:
    
        composer config minimum-stability dev
        composer config prefer-stable true
    
    These commands ensure the best stability for your project and allow BLT to be added successfully.
    
    Install BLT with the following composer command:
    
        composer require acquia/blt:^13.7
    
    ![Screenshot of a Visual Studio Code interface with a terminal running commands, and a JSON file open in the editor pane.](https://acquia.widen.net/content/e0608211-288b-4903-aa41-6477d0a8f49c/web/url_28f966622d8a3076e24b66dbbefb2042.png)
    
5.  Install Acquia BLT ACSF
    -----------------------
    
    This plugin provides a set of commands in the recipes:acsf namespace that use the ACSF Drupal module to initialize your ACSF site. More information can be found here: [https://github.com/acquia/blt-acsf](https://github.com/acquia/blt-acsf)
    
    To install Acquia BLT ACSF, execute the following command:
    
        composer require acquia/blt-acsf
    
    Configure the Site Factory Connector module in your codebase using BLT:  
    [https://docs.acquia.com/site-factory/workflow/deployments/acsf-init/#adding-the-connector-module-to-your-codebase](/node/57356)
    
        blt recipes:acsf:init:all
    
    Download and extract the updated Acquia Cloud Site Factory Connector:  
    [https://docs.acquia.com/site-factory/workflow/deployments/acsf-init/#executing-acsf-init-after-module-or-drupal-core-updates](/node/57356)
    
        blt recipes:acsf:init:drush
    
    ![Screenshot of a webpage with a blue header, search bar, and article titled "My snazzy and snappy new article."](https://acquia.widen.net/content/b07ec7ce-eef6-4a9d-9484-8cc790214349/web/url_3581079411d70cfd95b918ba98ce1cf5.png)
    
6.  Install the Acquia Cloud Site Factory Connector module
    ------------------------------------------------------
    
    [https://docs.acquia.com/site-factory/module/](/node/57075)  
    [https://www.drupal.org/project/acsf](https://www.drupal.org/project/acsf)
    
    Run the following command to install the ACSF module:
    
        composer require 'drupal/acsf:^2.73'
    
7.  Install the Config Split and Config Filter modules
    --------------------------------------------------
    
    [https://sitestudiodocs.acquia.com/7.4/user-guide/setup-config-ignore-and-config-split](/node/62986)
    
    Install the Configuration Split module:  
    [https://www.drupal.org/project/config\_split](https://www.drupal.org/project/config_split)
    
        composer require 'drupal/config_split:^2.0'
    
    Install the Config Filter module:  
    [https://www.drupal.org/project/config\_filter](https://www.drupal.org/project/config_filter)
    
        composer require 'drupal/config_filter:^2.6'
    
8.  Configure the Site Studio Sync directory
    ----------------------------------------
    
    Before you execute the Site Studio configuration export command, it’s necessary to configure the Site Studio sync directory. More information can be found here:  
    [https://sitestudiodocs.acquia.com/7.0/user-guide/configure-sync-module](/node/63461)
    
    ### Create the site\_studio.settings.php file
    
    Navigate to the docroot/sites/settings/ folder:
    
        cd docroot/sites/settings
    
    Create a new PHP script named **site\_studio.settings.php** and add the following code:
    
        <?php 
        /**
        * Define the Cohesion sync directory.
        */
        $settings['site_studio_sync'] = '../config/site_studio_sync';
        $settings['site_studio_package_multiline'] = TRUE;
    
    ![Webpage screenshot showing configuration settings under "Ignore" tab, listing entity names like system.site and shield.settings. URL bar indicates a non-secure connection.](https://acquia.widen.net/content/1bac1779-7e7b-4a7a-a2a3-c50e67bd2a12/web/url_edbdb415a2187c41578957184eb3822b.png)
    
    ### Create the global.settings.php file
    
    Navigate to the docroot/sites/settings folder:
    
        cd /home/ide/project/docroot/sites/settings
    
    Create a new PHP script named **global.settings.php** and add the following code:
    
        <?php 
        /**
        * @file
        * Generated by BLT. Serves as an example of global includes.
        *//**
        * An example global include file.
        *
        * To use this file, copy and rename to global.settings.php.
        *//**
        * Include settings files in docroot/sites/settings.
        *
        * If instead you want to add settings to a specific site, see BLT's includes
        * file in docroot/sites/{site-name}/settings/default.includes.settings.php.
        */
        $additionalSettingsFiles = [
         // e.g,( DRUPAL_ROOT . "/sites/settings/foo.settings.php" )
         DRUPAL_ROOT . "/sites/settings/site_studio.settings.php"
        ];foreach ($additionalSettingsFiles as $settingsFile) {
         if (file_exists($settingsFile)) {
         // phpcs:ignore
         require $settingsFile;
         }
        }
    
    ![API tool interface showing a DELETE request with X-CSRF-Token in headers, including key-value pairs for authorization.](https://acquia.widen.net/content/677288b2-2ebd-43dd-9d6d-6db6682e9d34/web/url_576ecca397c25da99dcc09229979b5be.png)
    
    Create the **site\_studio\_sync** folder inside your config folder and then navigate back to the project folder:
    
        cd /home/ide/project/config
        mkdir site_studio_sync
        cd /home/ide/project/
    
9.  Edit your blt/blt.yml file
    --------------------------
    
    To edit your blt/blt.yml file, you will need to find out the ID of your application and the URL of your Acquia repository.
    
    Go to your Acquia Platform account and click the “Product Keys” option from the left menu, your Application ID is listed under Username and Application UUID:
    
    ![Your Application ID is listed under Username and Application UUID](https://acquia.widen.net/content/3f5ebbf1-6c1d-48bb-95d4-3a58b9149430/web/url_1ff043055cd107f9713ebbe4ef6e0ae0.png)
    
    To find out the URL of your Acquia repository, go to your Acquia Platform account and click the “Actions” button to reveal the dropdown and select “View Git information”:
    
    ![Admin interface showing configuration settings with a list of entity names to ignore, including system, block, and theme. Red arrow points to "shield_settings."](https://acquia.widen.net/content/727da055-dc2c-449e-825a-7cd53d9f5626/web/url_c2ae079605f21410a58c893e8059c1fd.png)
    
    ![Git information panel displaying a repository URL and basic Git commands: clone, stage, commit, and push.](https://acquia.widen.net/content/5127d9c6-626b-4bca-95ac-8c8cd02da82c/web/url_292ab9b11bead0a7caac4107bc75ac35.png)
    
    Edit your blt/blt.yml and replace its content with the following code:
    
        project:
         machine_name: tamacsf
        cloud:
         appId: 48efba74-75af-43ef-8455-32e6f043c375
        git:
         default_branch: master
         remotes:
         cloud: '[email protected]:acquiatam2.git'
        deploy:
         tag_source: true
        drush:
         aliases:
         remote: site1.01test
         local: self
         ci: self
         default_alias: '${drush.aliases.local}'
    
    Replace the following keys:
    
    *   machine\_name: YOUR\_MACHINE\_NAME (Example: tamacsf)
    *   cloud:
        *   appId: YOUR\_APP\_ID (Example: 48efba74-75af-43ef-8455-32e6f043c375)
    *   git:
        *   remotes:
            *   cloud: YOUR\_ACQUIA\_GIT\_URL (Example: '[\[email protected\]](/cdn-cgi/l/email-protection#72131103071b1306131f403201041c5f40414b4a5c171c06170002001b01175f15435c1a1d01061b1c155c131103071b135c111d1f):acquiatam2.git')
10.  Install the blt-site-studio plugin
     ----------------------------------
     
     [https://github.com/davidtrainer/blt-site-studio](https://github.com/davidtrainer/blt-site-studio)
     
     This plugin is designed specifically for Acquia BLT and serves the purpose of integrating Acquia Site Studio. Its main function is to incorporate the essential Site Studio commands into the "blt setup" command, enabling automated configuration setup and deployment for Site Studio.
     
     This plugin automates the necessary Site Studio drush commands into “blt setup” to do the following:
     
     *   Import Site Studio assets and configuration from the package file.
     *   Import Site studio configuration from the sync folder.
     *   Rebuild Site Studio.
     
     Add the following to the repositories section of your composer.json file:
     
         "blt-site-studio": {
          "type": "vcs",
          "url": "https://github.com/davidtrainer/blt-site-studio.git",
          "no-api": true
         }
     
     Or execute the following composer command:
     
         composer config repositories.blt-site-studio '{"type": "vcs", "url": "https://github.com/davidtrainer/blt-site-studio.git", "no-api": true}'
     
     Require the plugin with composer:
     
         composer require acquia/blt-site-studio
     

Congratulations on completing the initial phase of this five-step guide! You have navigated through the process of creating a new ACSF Drupal 10 codebase that is configured for Acquia CMS and Site Studio. Now, let's head to the next phase where you will learn how to install Acquia CMS and configure Site Studio.

Next phase: [Acquia CMS and Site Studio installation and configuration for Site Factory](/tutorial/configure-drupal-10-codebase-acquia-cms-and-site-studio-site-factory-part-2)