X-Git-Url: https://git.ao2.it/drupal-init-tools.git/blobdiff_plain/2e76b0f6b113c0784ba3fe2e147fb0bef65931c1..9be30aa6b8e418e3687c86e6776caf2e9433e111:/drin.rst
diff --git a/drin.rst b/drin.rst
index 9d4ba31..b2effe9 100644
--- a/drin.rst
+++ b/drin.rst
@@ -22,12 +22,14 @@ DESCRIPTION
Helper commands to create and install new Drupal projects.
-When setting up a new Drupal project with drupal-composer/drupal-project drush
-and drupal-console are not available yet and some repetitive tasks can use
-a nicer command line interface.
+One problem with setting up a new Drupal project with
+drupal-composer/drupal-project is that drush and drupal-console are not
+available until the site dependencies have been downloaded, drupal-init-tools
+helps to solve this and also adds a nicer command line interface to some
+repetitive tasks.
-These scripts are especially useful when setting up projects in user web
-directories[1].
+drupal-init-tools commands are especially useful when setting up projects in
+user web directories[1].
[1] http://httpd.apache.org/docs/current/howto/public_html.html
@@ -84,6 +86,99 @@ Clean and rebuild the whole project to verify that installing from scratch works
drin clean
drin bootstrap
+NOTES ON DATABASE SETUP
+=======================
+
+The `bootstrap` command in `drupal-init-tools` uses `drush` for the site
+installation, and `drush` requires MySQL super-user access to create new MySQL
+users and databases.
+
+On some Linux distributions, like Debian, the MariaDB server is configured by
+default to only allow access to the `root` user via the `unix_socket` plugin,
+making it unusable by `drush`. In these cases it's recommended to create e new
+MySQL super-user.
+
+For password-less access create a MySQL admin user correspondent to the system
+user which will execute `drush` (e.g. the current user):
+
+::
+
+ sudo /usr/bin/mysql -e "GRANT ALL ON *.* TO '$USER'@'localhost' IDENTIFIED VIA unix_socket WITH GRANT OPTION"
+
+
+For password regulated access create a user with a password:
+
+::
+
+ sudo /usr/bin/mysql -e "GRANT ALL ON *.* TO 'USERNAME'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION"
+
+
+For details see also the **PASSWORDS** section in the README.Debian file
+provided by the mariadb-server Debian package, either in
+`/usr/share/doc/mariadb-server-10.1/README.Debian.gz` or at
+https://salsa.debian.org/mariadb-team/mariadb-10.1/blob/stretch/debian/mariadb-server-10.1.README.Debian#L73
+
+The settings in the `bootstrap.conf` file have to be adjusted according to how
+super-user access has been configured.
+
+
+NOTES ON WEB SERVER SETUP
+=========================
+
+The `bootstrap` command in `drupal-init-tools` supports installing new sites
+in *user dirs*; this means that users can have the Drupal sites in their home
+directories, usually under the `public_html/` sub-directory.
+
+This may make development more comfortable, as new work can be done in the
+usual development environment (git and ssh configuration, editor settings,
+etc.).
+
+To configure the Apache web server to enable *user dirs*, first enable the
+module:
+
+::
+
+ sudo a2enmod userdir
+
+And then make sure that the configuration is compatible with Drupal, changes
+like the following may be necessary, depending on the distribution:
+
+::
+
+ diff --git a/apache2/mods-available/php7.2.conf b/apache2/mods-available/php7.2.conf
+ index d4df3e5..0758ea6 100644
+ --- a/apache2/mods-available/php7.2.conf
+ +++ b/apache2/mods-available/php7.2.conf
+ @@ -18,8 +18,8 @@
+ # To re-enable PHP in user directories comment the following lines
+ # (from to .) Do NOT set it to On as it
+ # prevents .htaccess files from disabling it.
+ -
+ -
+ - php_admin_flag engine Off
+ -
+ -
+ +#
+ +#
+ +# php_admin_flag engine Off
+ +#
+ +#
+ diff --git a/apache2/mods-available/userdir.conf b/apache2/mods-available/userdir.conf
+ index 2c334ec..737abdf 100644
+ --- a/apache2/mods-available/userdir.conf
+ +++ b/apache2/mods-available/userdir.conf
+ @@ -3,7 +3,7 @@
+ UserDir disabled root
+
+
+ - AllowOverride FileInfo AuthConfig Limit Indexes
+ + AllowOverride FileInfo AuthConfig Limit Indexes Options
+ Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
+ Require method GET POST OPTIONS
+
+
+These changes are typically only applied once, after the first installation of
+the web server.
SEE ALSO
========