Vamos a explicar detalladamente el proceso que hemos llevado a cabo para hacer posible nuestro gran deseo. Durante mucho tiempo hemos estado buscando la fórmula magistral para unificar todas nuestras instalaciones de WordPress en una única instalación. Probamos con la opción multisite que trae de serie el CMS, pero no nos terminó de convencer su incapacidad de crear múltiples bases de datos y su inestabilidad general, entre otros muchos inconvenientes con los que nos encontramos.

Finalmente, y tras un largo proceso de pruebas y chequeos, creemos que hemos dado con la fórmula mágica, y, dado que ya está funcionando a pleno pulmón en nuestra red, lo hacemos público para que vosotros podáis hacer uso de esta opción.

Primer paso: El servidor.

Lo primero que vamos a necesitar, obviamente, es que el alojamiento web que tenemos contratado nos permita albergar un número suficiente de nombres de dominio, su gestión y su instalación en carpetas distintas de las que se crean por defecto, httpdocs en el caso de Parallels Plesk Panel o htdocs en cPanel.

Creando plan de hosting

Creando plan de hosting

En nuestro caso concreto teníamos contratado un VPS con un Parallels Plesk Panel versión 10.4.4 que nos permite crear una subscripción donde alojar múltiples nombres de dominio, y cada uno de ellos puede estar en una carpeta distinta o compartida, además de albergar todos los alias de dominio que necesitemos.

De esta forma debemos empezar por crear un plan de servicio, en caso de que queramos asignarle unos parámetros específicos a la subscripción que debemos crear. Para ello pulsamos en Planes de servicio en el menú de la izquierda y pulsamos en Añadir plan nuevo en el menú superior. Allí nos aparecerá una pantalla como la de la derecha con las siguientes pestañas:

  • Recursos.
  • Permisos.
  • Parámetros de hosting.
  • Configuración PHP.
  • Correo.
  • DNS.
  • Rendimiento.
  • Registros y estadísticas.
  • Aplicaciones.
Añadiendo suscripción propia

Añadiendo suscripción propia

Dado que Parallels Plesk Panel está muy bien documentado, y que el objetivo de este tutorial no es conocerlo en profundidad, os remitimos a su ayuda para que sepáis qué hacer con cada una de las pestañas. Sólo debemos configurarlo a nuestro gusto y darle el nombre que queremos, en nuestro caso Alojamiento matriz.

Una vez creado el plan de servicio, en el caso de que lo hayamos necesitado crear, debemos pulsar en Suscripciones en el menú de la izquierda, y pulsar en Añadir suscripción nueva. Allí nos aparecerá una pantalla como la de la derecha donde debemos indicar el Nombre de dominio, en nuestro caso de ejemplo alojamientomatriz.com, la Dirección IP que queremos utilizar, en el caso de que tengamos asignadas más de una al VPS, el Nombre de usuario, la Contraseña y el Plan de servicio que queremos utilizar, en este caso el recién creado Alojamiento matriz.

Administrador de archivos

Administrador de archivos

Ya tenemos creada la suscripción alojamientomatriz.com (Alojamiento matriz), ahora vamos a continuar pulsando en el botón Abrir en el Panel de Control, que se encuentra a su derecha. En la nueva pantalla pulsaremos en la pestaña Sitios web y dominios, y allí en el botón Administrador de archivos. Una vez abierta la nueva pantalla vamos a crear un nuevo directorio llamado WordPress, por ejemplo, donde alojaremos la instalación de WordPress y todos los dominios. Para ello hay que pulsar en Añadir directorio, introducir el nombre del directorio y pulsar en el botón ACEPTAR.

Configuración de hosting para alojamientomatriz.com

Configuración de hosting para alojamientomatriz.com

Una vez creado el nuevo directorio volvemos a la pestaña Sitios web y dominios y pulsaremos sobre el dominio alojamientomatriz.com. Una vez que se abre la nueva pantalla cambiaremos Raíz del documento de httpdocs a WordPress, en Soporte para PHP (ejecutar como cambiamos Apache por Aplicación FastCGI), y finalmente pulsaremos en el botón ACEPTAR, con lo que ya tendremos ubicado el nombre de dominio justo en la carpeta que queríamos.

Mucho ojo con este parámetro de FastCGI, necesario para no tener problemas con los permisos de escritura de los archivos y directorios alojados en la carpeta WordPress cada vez que añadamos un nuevo sitio web (al menos en nuestro caso ha sido necesario), que nos obligará a modificar el archivo fcgid.conf, ubicado en la ruta /etc/apache2/conf.d/fcgid.conf, añadiéndole esta simple línea de código:

  • FcgidMaxRequestLen 1073741824.

Si no lo hacemos nos encontraremos con graves problemas a la hora de subir archivos o imágenes de más de 128 kB en WordPress. En caso de no tener acceso a dicho archivo, hay que indicárselo al ISP de turno.

Este punto es de extrema importancia.

Añadir alias de dominio

Añadir alias de dominio

Dado que en nuestro caso el nombre de domino alojamientomatriz.com va a tener un alias de dominio llamado alojamientomatriz.es, vamos a crearlo pulsando en la pestaña Sitios web y dominios el botón Añadir alias de dominio nuevo, una vez abierta la nueva pantalla escribiremos en Nombre de alias de dominio, alojamientomatriz.es, para el dominio alojamientomatriz.com, pulsamos el botón ACEPTAR, y listo, ya tenemos todo lo que necesitamos en el servidor.

Podemos repetir estos pasos tantas veces como necesitemos, crear todos los nombres de dominio, alias de dominio y subdominios que necesitemos. Es más, incluso podemos repetir este tipo de instalación compartida para instalaciones de aplicaciones como Piwik, phpMyAdmin o PrestaShop, por ejemplo, aunque en esta última no es tan sencillo como en el caso que nos ocupa.

Sitios web y dominios

Sitios web y dominios

En la captura de pantalla que se encuentra a la derecha, podemos ver un ejemplo completamente operativo de tres nombres de dominio distintos compartiendo la raíz del documento WordPress junto a sus correspondientes alias de dominio y varios subdominios distintos, que pueden, a su vez, tener sus propios alias de dominio y compartir raíces de documentos con otros subdominios o dominios.

Tras crear las correspondientes bases de datos y cuentas de correo electrónico para cada nombre de dominio, y en el caso de las bases de datos, para cada aplicación instalada en cada nombre de dominio, sólo nos queda subir vía FTP todos los archivos necesarios para cada aplicación, en nuestro caso subiremos todos los archivos de instalación de WordPress a la carpeta WordPress. Dado que entendemos que ya sabemos hacer tanto lo uno, como lo otro, y que entendemos que su explicación excede el objetivo de este tutorial, lo omitimos.

Segundo paso: WordPress.

Ya tenemos configurados los nombres de dominio, los alias de dominio, los subdominios, las bases de datos y las cuentas de correo electrónico que necesitamos, y hemos subido todos los archivos de instalación a cada una de sus carpetas. Ahora sólo nos queda hacer unas pequeñas modificaciones, configuraciones e instalaciones en WordPress y en la carpeta que lo aloja.

Vamos a empezar por crear un directorio de archivos para cada nombre de dominio, de forma que no se almacenen todos los archivos de todos los nombres de dominios en la carpeta uploads. Para ello debemos crear en la ruta /WordPress/wp-content/ tantos directorios como necesitemos, en nuestro caso de ejemplo vamos a crear, bien vía FTP, vía Administrador de archivos:

  1. /WordPress/wp-content/alojamientoprimario.
  2. /WordPress/wp-content/alojamientosecundario.
  3. /WordPress/wp-content/alojamientoterciario.

Una vez creadas las carpetas, vamos a configurar el archivo wp-config.php para indicarle a cada nombre de dominio qué base de datos leer y dónde guardar los archivos. Para ello reemplazamos este código:

Obviamente eliminando este otro código del final del archivo wp_config.php:

/**
 * Idioma de WordPress.
 *
 * Cambia lo siguiente para tener WordPress en tu idioma. El correspondiente archivo MO
 * del lenguaje elegido debe encontrarse en wp-content/languages.
 * Por ejemplo, instala ca_ES.mo copiándolo a wp-content/languages y define WPLANG como 'ca_ES'
 * para traducir WordPress al catalán.
 */
define('WPLANG', 'es_ES');

Básicamente con estos pasos ya tendríamos completamente operativo todo, pero nos quedan hacer unos pequeños ajustes más para que los nombres de dominio funcionen correctamente.

Multiple Domains with Analytics

Multiple Domains with Analytics

En su momento os explicamos cómo crear un sitio web bajo WordPress con uno o varios alias de nombre de dominio, pero para este nuevo sistema de instalación no es del todo válido.

En lugar de Domain Mirror, que ya no es válido para las últimas versiones de WordPress, vamos a utilizar Multiple Domains with Analytics, que funciona y se configura exactamente igual a como se explica en esa entrada, y tal y como podemos ver en la captura de pantalla, aunque ahora tendremos que ir a Ajustes -> Multiple Domains with Analytics.

Del resto de lo descrito en la entrada, ahora sólo vamos a utilizar el truco del archivo robots.txt y nada más, ya no vamos a necesitar utilizar el mismo truco, ni los mismos plugins, para el resto de archivos:

  1. sitemap.xml.
  2. sitemap-image.xml.
  3. sitemap-mobile.xml.
  4. sitemap-video.xml.

Ya que ahora serán archivos virtuales gracias a la última versión 4.0b11 (es extremadamente importante utilizar esta versión y no otra, ya que las anteriores no son válidas) del plugin Google XML Sitemaps, el único que repite, y nuestros plugins Google Image Sitemap Feed With Multisite Support, Google Mobile Sitemap Feed With Multisite Support y Google Video Sitemap Feed With Multisite Support. Ahora eso si, no nos olvidemos de leer