1) You have an ACSF subscription
2) You have set up your SSH keys: and
3) You are using BLT and Lighting
4) You are using the Drupal Vm for local development
5) Your computer meets the minimum installation requirements (and then install the required applications). See the .
6) You have access to your or Acquia-PSO's
7) You have access to your project's Acquia Cloud Environment
Step One: Sign into Acquia Cloud and the ACSF Management Console
to your Site Factory Management Console using an account with either the or role.
Sign into Acquia Cloud
Navigate from the ACE interface to the Site Factory Management Console
Sign into the ACSF management console with ACSF site username and password. (This is different from your ACE and Drupal site login)
Step Two: Create a site inside of the ACSF site collection
If you have not already, create a group / site collection and name it ACSFdemo
Name your site and pick a distribution profile, for this demo we are using lightning
Step Three: Local Prerequisites
If you are using the Drupal Vm you must download and before you can continue.
Step Four: Setting up your git repo
Log into your github account and create a git repo or use the one provided by Acquia
Create a fork of the main project's repository to follow git flows best practices
Install Composer Dependencies (warning: this can take some time based on internet speeds. If you have problems delete the vendor folder and rerun the command.)
$ composer install
Create a new branch, for this demo we will use PSO-000-ACSF-Init
git branch -b PSO-000-ACSF-Init
Update the DrupalVm's configuration file to match your configuration needs: Here is an example:
config.yml
# Update the hostname to the local development environment hostname.
vagrant_hostname: local.ACSFdemo.com
vagrant_machine_name: ACSFdemo
# Set the IP address so it doesn't conflict with other Drupal VM instances.
vagrant_ip: 192.168.90.80
# Use Ubuntu 16.04 LTS to match Acquia Cloud environments.
vagrant_box: geerlingguy/ubuntu1604
workspace: /root
# Set drupal_site_name to the project's human-readable name.
drupal_site_name: "ACSF Demo"
# Provide the path to the project root to Vagrant.
vagrant_synced_folders:
# Set the local_path for the first synced folder to `.`.
- local_path: .
# Set the destination to the Acquia Cloud subscription machine name.
destination: /var/www/acsfdemo
type: nfs
drupal_build_composer_project: false
# Toggling this to `true` would invoke `composer install` with the
# projects own `composer.json` successfully.
drupal_build_composer: false
drupal_composer_path: false
drupal_composer_install_dir: "/var/www/acsfdemo"
drupal_core_path: "/var/www/acsfdemo/docroot"
ssh_home: /var/www/acsfdemo
# Multisite installations should configure additional domains here.
apache_vhosts:
# Drupal VM's default domain, evaluating to whatever `vagrant_hostname` is set to (drupalvm.dev by default).
- servername: "{{ drupal_domain }}"
serveralias: "www.{{ drupal_domain }}"
documentroot: "{{ drupal_core_path }}"
extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"
# Domain for the Drupal VM Dashboard
- servername: "dashboard.{{ drupal_domain }}"
serveralias: "www.dashboard.{{ drupal_domain }}"
documentroot: "/var/www/dashboard"
extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"
# - servername: "local.second-drupal-site.com"
# documentroot: "{{ drupal_core_path }}"
# extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"
# Multisite installations should configure additional databases here.
# It's recommended to prefix database names with 'drupal'. Otherwise,
# you'll need to add additional users in the 'mysql_users' section.
mysql_databases:
- name: drupal
encoding: utf8
collation: utf8_general_ci
# - name: drupal_two
# encoding: utf8
# collation: utf8_general_ci
mysql_users:
- name: drupal
host: "%"
password: drupal
priv: "drupal%.*:ALL"
mysql_wait_timeout: 28800
mysql_max_allowed_packet: 50M
# Set this to 'false' if you don't need to install drupal (using the drupal_*
# settings below), but instead copy down a database (e.g., using drush sql-sync).
drupal_install_site: false
# Drupal VM automatically creates a drush alias file in your ~/.drush folder if
# this variable is 'true'.
configure_drush_aliases: false
# This is required for front-end building tools.
nodejs_version: "8.x"
nodejs_npm_global_packages:
- name: bower
- name: gulp-cli
- name: yarn
nodejs_install_npm_user: "{{ drupalvm_user }}"
npm_config_prefix: "/home/{{ drupalvm_user }}/.npm-global"
installed_extras: [adminer, selenium, drush, mailhog, memcached, nodejs, xdebug]
# PHP 7.1.
php_version: "7.1"
php_packages_extra:
- "php{{ php_version }}-bz2"
- "php{{ php_version }}-imagick"
- imagemagick
# XDebug configuration.
php_xdebug_version: 2.5.0
# Change this value to 1 in order to enable xdebug by default.
php_xdebug_default_enable: 0
php_xdebug_coverage_enable: 0
php_xdebug_cli_disable: yes
php_xdebug_remote_enable: 1
php_xdebug_remote_connect_back: 1
# Use PHPSTORM for PHPStorm, sublime.xdebug for Sublime Text.
php_xdebug_idekey: PHPSTORM
php_xdebug_max_nesting_level: 256
php_xdebug_remote_port: "9000"
php_memory_limit: "512M"
php_max_execution_time: 300
# Acquia Search defaults to 4.5.1.
# solr_version: "4.5.1"
post_provision_scripts:
# - "../../../acquia/blt/scripts/drupal-vm/configure-solr.sh"
- "../../../acquia/blt/scripts/drupal-vm/post-provision.php"
Once you have setup your DrupalVm config files. Configure your BLT configuration file to match your site specific variables