bootstrap.sh: fix the check on settings.local.php
[drupal-init-tools.git] / libexec / bootstrap.sh
index ff69fb0..81255d3 100755 (executable)
@@ -102,6 +102,16 @@ fi
 
 pushd "$SITE_LOCAL_PATH"
 
+# Update the install_profile if it's already there
+if grep -q "^\\\$settings\['install_profile'\] =" sites/default/settings.php;
+then
+  chmod 755 sites/default
+  chmod 644 sites/default/settings.php
+  sed -i -e "s/^\(\$settings\['install_profile'\]\) = '[^']*';/\1 = '$INSTALLATION_PROFILE';/g" sites/default/settings.php
+  chmod 444 sites/default/settings.php
+  chmod 555 sites/default
+fi
+
 $DRUSH --verbose --yes \
   site-install \
   --db-su=root \
@@ -136,12 +146,6 @@ sed -i "s@# RewriteBase /drupal\$@RewriteBase ${SITE_BASE_PATH}@" .htaccess
 chmod 755 sites/default
 chmod 644 sites/default/settings.php
 
-# Update the install_profile if it's already there
-if grep -q "^\\\$settings\['install_profile'\] =" sites/default/settings.php;
-then
-  sed -i -e "s/^\(\$settings\['install_profile'\]\) = '[^']*';/\1 = '$INSTALLATION_PROFILE';/g" sites/default/settings.php
-fi
-
 # Add some basic settings to settings.php
 if ! grep -q "^\\\$settings\['trusted_host_patterns'\] =" sites/default/settings.php;
 then
@@ -159,8 +163,16 @@ then
   composer --working-dir=../ require drupal/devel
   $DRUSH --yes en devel
 
-  cp sites/example.settings.local.php sites/default/settings.local.php
-  chmod 444 sites/default/settings.local.php
+  if [ ! -e sites/default/settings.local.php ];
+  then
+    cp sites/example.settings.local.php sites/default/settings.local.php
+
+    # Disable some overly permissive settings
+    sed -i -e "s/^\(\$settings\['rebuild_access'\]\).*$/\1 = FALSE;/g" sites/default/settings.local.php
+    sed -i -e "s/^\(\$settings\['skip_permissions_hardening'\]\).*$/\1 = FALSE;/g" sites/default/settings.local.php
+
+    chmod 444 sites/default/settings.local.php
+  fi
 
   if ! grep -q "^include \$app_root . '/' . \$site_path . '/settings.local.php';" sites/default/settings.php;
   then