WordPress Multisite en GAE por Carpetas

11 de Sep, 2015

Para instalar un multisite en GAE debes primero haber instalado un sitio WordPress y tenerlo funcionando, como hacerlo?, míralo en este post.

Ya tienes el sitio WordPress funcionando en GAE, lo primero que debemos hacer es editar nuestro wp-config.php
y agregar el siguiente código sobre «/* That’s all, stop editing! Happy blogging. */»:

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

Luego de agregar este código, realizamos una subida a GAE desde nuestro SKD; esto nos habilitara la opción para crear la Red de Trabajo (Network). Luego nos vamos a nuestro wp-admin y desde el menu «Administración» buscamos «Herramientas» y hacemos click en «Configurar la red». Nos saltará una página administrativa donde tendremos las opciones de elegir que tipo de URL usar, por dominios o por carpetas. Escogemos por carpetas y colocamos el nombre de la red y el e-mail del super-administrador de las redes. Hacemos click en Instalar.

Al hacer click en instalar, nos saldrán los códigos de configuración que debemos agregar a nuestro wp-config.php y al .htaccess. Códigos que usaríamos si estuviéramos colocando nuestro sitio en una red con apache. Pero como nuestra red esta en GAE, debemos agregar los siguientes códigos.

Para el wp-config.php si no estas usando wordpress localmente debes agregar:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', '<ID_de_proyecto>.appspot.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Si estas usando WordPress localmente, agrégalo para los dos entornos:

if(isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false) { 
define('MULTISITE', true); 
define('SUBDOMAIN_INSTALL', false); 
define('DOMAIN_CURRENT_SITE', '<ID_de_proyecto>.appspot.com'); 
define('PATH_CURRENT_SITE', '/'); 
define('SITE_ID_CURRENT_SITE', 1); 
define('BLOG_ID_CURRENT_SITE', 1); 
}else{ 
define('MULTISITE', true); 
define('SUBDOMAIN_INSTALL', false); 
define('DOMAIN_CURRENT_SITE', 'localhost'); 
define('PATH_CURRENT_SITE', '/'); 
define('SITE_ID_CURRENT_SITE', 1); 
define('BLOG_ID_CURRENT_SITE', 1); 
}

Y luego en el app.yaml, arriba del todo luego de handlers:

handlers:

# begin Multisite handlers
- url: /wp-admin/network/(.+)
script: wordpress/wp-admin/network/\1
secure: always

- url: /wp-admin/network/
script: wordpress/wp-admin/network/index.php
secure: always

- url: /([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*\.(htm.*$|html.*$|css.*$|js.*$|ico.*$|jpg.*$|png.*$|gif.*$))
static_files: wordpress/\2
upload: wordpress/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*\.(htm.*$|html.*$|css.*$|js.*$|ico.*$|jpg.*$|png.*$|gif.*$))
application_readable: true
# end Multisite handlers

Es importante que los datos del multisite estén de primero dentro del app.yaml, arriba de los datos de nuestra instalación de WordPress habitual.

Luego de tener estos datos subimos a GAE desde nuestro SKD, una vez subidos todos los datos nos vamos a nuestro sitio y ya podemos darle click donde dice que debemos ingresar nuevamente, accedemos a nuestro wp-admin y ya tendremos activado nuestro menú de de Redes (Network).

Creamos un nuevo sitio dentro de nuestra red, el cual lo veremos de la siguiente manera id_de_aplicacion.appspot.com/tuotrositio

Luego de crear otro sitio debemos ir a nuestro app.yaml local y colocar antes de #end Multisite handlers

- url: /tuotrositio/wp-admin/(.+) script: wordpress/wp-admin/\1 secure: always

- url: /tuotrositio/wp-admin/ script: wordpress/wp-admin/index.php secure: always

Y subimos a GAE por el SKD.

Esto debemos hacerlo cada ves que agreguemos un sitio nuevo a nuestro multisite en GAE

Recuerda que cada ves que crees un sitio debes entrar en la configuración del plugin de GAE y especificar el ID de segmento de almacenamiento y si se usara SSL.

Listo! ya tienes tu multisite en GAE!!!