creando nuevos sitios en un multisite con un comando

Una de las ventajas de utilizar Drupal es beneficiarnos de su capacidad multisitio. Esto es poder tener sitios independientes (tanto en contenido como en nombre de dominio) en una misma instalación de un Drupal.

Este es un script que había armado hace algun tiempo atrás y hoy lo posteé en el grupo de usuarios de Argentina respondiendole a alguien que pedia algo similar.

Dejo aca otra copia para tenerlo más accesible.

#!/bin/sh

echo "creando un nuevo sitio: $1"
[ -n "$1" ] && [ -n "$2" ]  && [ -n "$3" ] && [ -n "$4" ] || { echo "usar: $0 dominio database dbuser dbpasswd"; exit 1; }

[ -d "sites/$1" ] && { echo "el sitio $1 ya existe, eliminelo primero"; exit 1;}

mysqladmin -u root -pPassword create $2
echo |  mysql -u root -pPassword << EOF
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER
ON $2.*
TO '$3'@'localhost' IDENTIFIED BY '$4';
EOF

mkdir -p sites/$1/files
chown www-data sites/$1/files

cat > sites/$1/settings.php << EOF
<?php
// \$Id:

\$db_url = 'mysql://$3:$4@localhost/$2';
\$db_prefix = '';

\$update_free_access = TRUE;
# \$base_url = 'http://www.example.com';  // NO trailing slash!
ini_set('arg_separator.output',     '&amp;');
ini_set('magic_quotes_runtime',     0);
ini_set('magic_quotes_sybase',      0);
ini_set('session.cache_expire',     200000);
ini_set('session.cache_limiter',    'none');
ini_set('session.cookie_lifetime',  2000000);
ini_set('session.gc_maxlifetime',   200000);
ini_set('session.save_handler',     'user');
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid',    0);
ini_set('url_rewriter.tags',        '');
EOF

No olvidar cambiar la contraseña del usuario root del mysql (en el script, -pPassword, donde Password sería la contraseña). De hecho, se debe evitar almacenar la contraseña del usuario root del mysql en un script (se aceptan sugerencias para mejorar el script ).
Solo queda darle permisos de ejecución al script y listo (chmod 755 newsite.sh basta suponiendo que el nombre del script es newsite.sh).