Configuración local de Drupal en multisite.
23 Noviembre, 2007 por PedroLa configuración de Drupal multisite en local es muy similar a la configuración de Apache para utilizar Drupal en multisite.
Uno de los pasos previos sería instalar un servidor de DNS en nuestros clientes, en este caso Ubuntu, los pasos son análogos a la instalación en Debian.
Para instalar Bind9 en nuestro cliente Ubuntu:
# sudo apt-get install bind9
Después se crea la zona y se especifica el fichero de configuracion /etc/bind/named.conf.local
zone "local.pc" {
type master;
file "/etc/bind/zones/db.local.pc";
allow-query { any; };
};
zone "local.neurotic" {
type slave;
masters { 192.168.1.2; };
};
Nota: La zona de tipo “slave” sirve para resolver los dominios de tipo *.local.neurotic.
El fichero /etc/bind/zones/db.local.pc debe contener:
$TTL 604800
@ IN SOA local.pc. hostmaster.local.pc. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
local.pc. IN NS ns1.local.pc.
localhost IN A 127.0.0.1
local.neurotic. IN NS 192.168.1.2.
@ IN TXT "Servidor"
@ IN HINFO "Servidor privado" "lan interno"
;
@ IN A 192.168.1.3
* IN A 192.168.1.3
Donde hostmaster.local.pc es el mail del usuario pero con . en lugar de @ y 192.168.1.3 es la dirección IP del cliente que se configura.
En este fichero: /etc/bind/named.conf.options
forwarders {
192.168.1.2;
80.58.61.250;
80.58.61.254;
};
Y al final del fichero:
dnssec-enable yes;
La primera dirección IP corresponde al servidor principal de DNS de nuestra LAN y las otras dos a las DNS proporcionadas por el ISP, en este caso las de Telefónica.
Este fichero, /etc/resolv.conf debe contener los servidores dns en orden
search
nameserver 127.0.0.1
nameserver 192.168.1.2
Finalmente, la primera línea del fichero /etc/hosts debe poner
127.0.0.1 localhost.localdomain localhost
Solo queda reiniciar el bind
# sudo /etc/init.d/bind9 restart
Los pasos previos son descargar Drupal e instalarlo para nuevas webs o descargarte la web y la base de datos si tienes una ya existente.
Una vez hecho esto, todos los módulos y ficheros de theme personalizados deben ir en el directorio sites/nombredeldominio.extension y se debe configurar el fichero de Vhosts para que nuestro dominio en local, pongamos nombredenuestraweb.local.pc apunte a ese directorio.
Primero se añade en el fichero /etc/apache2/httpd.conf esta línea:
Include /etc/apache2/conf.d/Vhosts.conf
Y a este (/etc/apache2/conf.d/Vhosts.conf) fichero del include se le añaden las entradas de nuestras webs en local
NameVirtualHost *:80
<VirtualHost *:80>
ServerName nombredenuestraweb.local.pc
DocumentRoot /ruta_de_drupal
<Directory "/ruta_de_drupal">
AllowOverride All
Options -Indexes +FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Nota: Esta configuración no se lleva muy bien con el sites-enabled, así que, en el fichero /etc/apache2/apache2.conf se debería comentar la línea final que hace referencia a sites-enabled.
Cada vez que se añade una entrada de Virtual Host para una web es necesario recargar la configuración de Apache:
# sudo /etc/init.d/apache2 reload
Ojo: Aunque nuestra web esté en /ruta_de_drupal/sites/nombredeldominio.extension, Drupal ya detecta automáticamente a través del nombre del directorio de sites, el dominio al que queremos acceder.
Es por esto que necesitamos un link simbólico que apunte de sites/nombredeldominio.extension a sites/nombredenuestraweb.local.com . En la configuración del servidor, se configuró un link simbólico directamente, pero si queremos trabajar con Eclipse y CVS esto nos va a ocasionar problemas, así que, antes de crear el link simbólico, deberemos crear un nuevo directorio en sites desde Eclipse, así que, situados en sites de nuestro proyecto web, en el menú secundario, New » Folder , y en Folder Name ponemos el nombre que hemos configurado para apache, en este caso nombredenuestraweb.local.pc y en las opciones Advanced marcamos la casilla Link to Folder in the File System y seleccionamos el directorio del dominio original, nombredeldominio.extension.
De esta forma, Eclipse ya tendrá registrado que ese directorio es un link y no se hará un lío al gestionarlo a través de CVS.
El paso final es crear el link simbólico en el Sistema Operativo, para que Drupal funcione cuando accedamos a nombredenuestraweb.local.pc . Para ello, desde sites, en un terminal ejecutamos lo siguiente:
# ln -s nombredeldominio.extension nombredenuestraweb.local.pc
Con todos estos pasos, ya tenemos creado un entorno de desarrollo de Drupal con Eclipse como herramienta de desarrollo, CVS para el control de versiones, Apache como web server, y Bind9 como servidor de DNS.
Espero que haya sido útil!
Fatal error: Call to undefined function menea() in /data/virtual/neuroticweb.com/blog/wp-content/themes/neurotic/single.php on line 39
