Para resolver pbs de preparación, estoy trabajando localmente con el nombre de dominio de producción real, pero detrás de un proxy, para que la instalación de drupal y la configuración del servidor web sean estrictamente idénticas (en algunos conf la escucha de IP podría ser diferente, dependiendo de la ip de escucha en producción).
Entonces, tenía un proxy que respondía para http: //mydomain.local , proxy para http: //www.mydomain.tld , pero en una IP local.
Con nginx, en vhost conf local:
server_name mydomain.local;
set $proxied_server_name www.mydomain.tld;
set $proxied_cookie_domain mydomain.tld;
# then generic proxy conf
proxy_set_header Host $proxied_server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# My param added for drupal absolute url construction
proxy_set_header X-Proxy-Host $host;
# For headers rewriting (Location or Refresh)
proxy_redirect http://$proxied_server_name/ http://$host/;
proxy_cookie_domain $proxied_server_name $host;
# and for drupal auth, with cookies without sub-domain
proxy_cookie_domain $proxied_cookie_domain $host;
Para el servidor proxy, al igual que en producción
server_name www.mydomain.tld;
Y en mi settings.php
if (isset($_SERVER['HTTP_X_PROXY_HOST'])) {
$base_url = 'http://' .$_SERVER['HTTP_X_PROXY_HOST'];
}
Con este conf, puedo sincronizar todos los archivos drupal Y la configuración de la base de datos Y del servidor entre una gran cantidad de instalación de drupal (desarrollo y producción en mi caso, pero podría ser lo que quieras).