Wordpress:Plugins:E3 to WP Plugin Page: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
Plugin E3 to WP
== '''Plugin E3 to WP''' ==
Se trata de un plugin que hace la migración de contenidos y archivos desde las webs del gestor de contenidos E3 a un Wordpress.  
Se trata de un plugin que hace la migración de contenidos y archivos desde las webs del gestor de contenidos E3 a un Wordpress.  
1. Instalación:  
 
* Nos descargamos el plugin del gitlab en la siguiente dirección en https://gitlab.eprinsa.es/internet/wordpress/plugins/e3-to-wp
=== '''1. Instalación:''' ===
* Nos descargamos el plugin del gitlab en la siguiente dirección en https://gitlab.eprinsa.es/internet/wordpress/plugins/e3-to-wp o en el dominio wp.eprinsa.es (dentro de archivos, plugins, ahí está el zip)
* O bien, nos descargamos el zip que está Almacen\CMS\Wordpress\Recursos\e3-to-wp.zip y lo subimos como plugin a nuestro wordpress.
* O bien, nos descargamos el zip que está Almacen\CMS\Wordpress\Recursos\e3-to-wp.zip y lo subimos como plugin a nuestro wordpress.
* Importante: que no esté activado en nuestro wordpress el Plugin WP-Optimize
* Importante: que no esté activado en nuestro wordpress el Plugin WP-Optimize
* Desde Plesk -> Dominio -> Configuración de PHP -> Ponemos el max_execution_time a un valor muy alto (por ejemplo 1200 que son 20 minutos, o más), para que no nos de un timeout al traerse los archivos sin son demasiados
* Desde Plesk -> Dominio -> Configuración de PHP -> Ponemos el max_execution_time a un valor muy alto (por ejemplo 1200 que son 20 minutos, o más), para que no nos de un timeout al traerse los archivos sin son demasiados
* En nuestro Wordpress tenemos que tener 2 bases de datos, una que sigue el modelo de E3 y otra que sigue el modelo de WP. Se recomienda que se llamen e3_2 y wp2.
* En nuestro Wordpress tenemos que tener dos bases de datos: una que '''debe ser una copia de E3''' (si no se conoce cómo importar un volcado, se pueden leer las '''[[Wordpress:Portales_municipales:Instalación_e_importación_de_datos#BASE DE DATOS TEMPORAL|instrucciones para portal]]'''), y la propia de WP. Se recomienda que se llamen e3 y wp, aunque en la última versión 1.2 se lee el nombre de la base de datos de destino (la de WP). Como la base de datos de E3 es muy grande, el proceso de volcado ha de hacerse desde local, por lo que habrá que copiar el fichero de exportación de la base de datos a un directorio local:
**  Si no se llaman así, tendríamos que entrar en el fichero que está en e3-to-wp/admin/menu/class-e3-to-wp-menu.php y en las líneas donde pone  (lineas 23 y 24) se pondrían los nombres de las BBDD que tengamos
                fichero de clave        fichero de volcado  usuario y máquina Lightsail
        public $bdorigen = "e3_2";
  scp -i LightsailDefaultKey-eu-west-1.pem e3_produccion.sql ubuntu@34.241.94.120:/uploads
        public $bddestino = "wp2";
* Posteriormente se moverá el fichero a un directorio accesible por Plesk
  sudo mv /uploads/e3_produccion.sql /var/www/vhosts/dipucordoba.es/
**  Si la base de datos de origen no se llama e3, hay que entrar en el fichero ''/wp-content-plugins/e3-to-wp/admin/menu/class-e3-to-wp-menu.php'' y en la línea 9 se pondría el nombre utilizado:
      ''public $bdorigen = "e3_contenidos";
* En todo caso es '''necesario''' que la '''base de datos''' creada para '''E3''' tenga el '''mismo usuario y contraseña''' que la existente de '''WP''', para ello:
** Acceder '''desde plesk a la base de datos del dominio''', '''pinchar''' sobre el nombre de '''usuario''' existente, y en la '''lista''' desplegable "'''Base de datos'''" seleccionar "'''Cualquiera'''".
** '''Crear la base de datos desactivando''' la casilla '''crear usuario'''.
'''2. Activamos el plugin'''


2. Activamos el plugin
=== '''3. Pasos previos a hacer la migración'''===
3. Accedemos a su pantalla principal
* ''' 3.1. Clasificación de contenidos en los ODS correspondiente'''
** Si lo que pretendemos migrar son los contenidos de Dipucordoba, muchos de ellos están clasificados en determinados ODS (Objetivos de Desarrollo Sostenible) que se pedían para la Agenda 2030. Esta clasificación también la trae el plugin, y antes de ejecutar la migración se necesita hacer los siguientes pasos:
** Primero, Toolset -> Importar/Exportar -> Types ->importar archivo XML o ZIP, y elegimos el zip '''diputacion-types.zip''' que está colocado en Almacen\CMS\WordPress\Recursos\recursos_toolset\diputacion-types.zip. Con esto importaremos las taxonomías de ODS ya creadas.
** Si también queremos traernos la vista de la clasificación de ODS, repetir los mismos pasos, pero Importar Views que está colocado en Almacen\CMS\WordPress\Recursos\recursos_toolset\vista-ods.zip.
=== '''4. Migración de contenidos'''===
* Opción E3 to Wordpress  -> con ello accedemos a la pantalla principal
* Salen las bases de datos de e3 y WP, así como el prefijo de las tablas. Si se llaman diferente, se deben rellenar dichos textos con el nombre correcto
* Elegimos las webs, entidades, temas o categorías que queremos migrar de E3 a Wordpress
* Elegimos las webs, entidades, temas o categorías que queremos migrar de E3 a Wordpress
** Como se puede ver salen todas las webs que hay en la base de datos de E3, excepto las que se llaman Sede...
** Como se puede ver salen todas las webs que hay en la base de datos de E3, excepto las que se llaman Sede...
* Elegimos las rutas donde se encuentran los ficheros a copiar que son los archivos que se encuentran en los contenidos, que como se ven, cada una nos dicen de que web se trata
* Elegimos las rutas donde se encuentran los ficheros a copiar que son los archivos que se encuentran en los contenidos, que como se ven, cada una nos dicen de que web se trata
* En Dipucordoba está mapeada la ruta uploads2 pues la ruta uploads está securizada mediante apitoken y no podemos traernos los archivos para copiarlos
* En Dipucordoba está mapeada la ruta uploads2 pues la ruta uploads está securizada mediante apitoken y no podemos traernos los archivos para copiarlos
* Hacer click botón '''Migrar datos'''
=== '''5. A tener en cuenta'''===
* Botón '''Migrar datos''' : En la última versión este botón '''guarda una configuración que se utilizará en la''' [[#Ejecutar la migración|migración mediante '''''script''''']], que es la que la hace realmente.
* Si por el motivo anterior nos diera un timeout , podemos volver a iniciar el proceso pues los contenidos ya migrados y sus archivos copiados, no se volverán a copiar. Los pasa por alto.
=== Ejecución desde línea de comandos ===
==== Preparativos generales ya realizados ====
Para ejecutar la migración desde línea de comandos se han tenido que realizar los siguientes preparativos:
* Instalar php7-cli: <code>sudo apt install php7.0-cli</code>
* Instalar extensión mysql de PHP: <code>sudo apt install php-mysql</code>
* Instalar extensión curl de PHP: <code>sudo apt-get install php-curl</code>
* Instalar extensión XML de PHP: <code>sudo apt-get install php-xml</code>
* Instalar <code>wp-cli</code> siguiendo las instrucciones registradas en https://wp-cli.org/es/
==== Preparativos del dominio en el que se va a realizar la importación ====
Antes de realizar la importación en un dominio hay que realizar los siguientes pasos:
* Permitir al usuario del dominio acceder por ssh al servidor. Para ello:
** En la configuración del dominio de Plesk seleccionar la opción ''Acceso a hosting web'' [[File:e32wp-01.png|500px|thumb|none]]
** Ir al apartado '''Usuario del sistema''' y cambiar la opción ''Acceder al servidor vía SSH'' de ''Forbidden'' a ''/bin/bash'' [[File:e32wp-02.png|500px|thumb|none]]
* Modificar el fichero <code>wp-config.php</code> para sustituir la línea <pre>define('WP_ALLOW_MULTISITE', true);</pre> por <pre>if (!defined('WP_ALLOW_MULTISITE')) define('WP_ALLOW_MULTISITE', true);</pre>
==== Ejecutar la migración ====
Para ejecutar la migración:
# Conectarse a la máquina en cuestión por ssh
# Acceder como superusuarios: <code>sudo su</code>
# Acceder como el usuario del dominio (el que hemos configurado anteriormente para que tenga acceso por ssh): <code>su usuario</code>
# Ejecutar <code>cd</code>. Con esto nos movemos al directorio ''home'' del usuario que es <code>/var/www/vhost/dominio</code>
# Una vez en ese directorio navegamos hasta la carpeta <code>httpdocs</code> (<code>cd httpdocs</code>)
# Ya podemos ejecutar la shell de wordpress: <code>wp shell</code>
# Una vez que nos aparezca el símbolo de la shell (<code>wp></code>) podemos ejecutar la función de migración con la instrucción <code>migrate();</code>

Latest revision as of 09:37, 4 October 2023

Plugin E3 to WP

Se trata de un plugin que hace la migración de contenidos y archivos desde las webs del gestor de contenidos E3 a un Wordpress.

1. Instalación:

  • Nos descargamos el plugin del gitlab en la siguiente dirección en https://gitlab.eprinsa.es/internet/wordpress/plugins/e3-to-wp o en el dominio wp.eprinsa.es (dentro de archivos, plugins, ahí está el zip)
  • O bien, nos descargamos el zip que está Almacen\CMS\Wordpress\Recursos\e3-to-wp.zip y lo subimos como plugin a nuestro wordpress.
  • Importante: que no esté activado en nuestro wordpress el Plugin WP-Optimize
  • Desde Plesk -> Dominio -> Configuración de PHP -> Ponemos el max_execution_time a un valor muy alto (por ejemplo 1200 que son 20 minutos, o más), para que no nos de un timeout al traerse los archivos sin son demasiados
  • En nuestro Wordpress tenemos que tener dos bases de datos: una que debe ser una copia de E3 (si no se conoce cómo importar un volcado, se pueden leer las instrucciones para portal), y la propia de WP. Se recomienda que se llamen e3 y wp, aunque en la última versión 1.2 se lee el nombre de la base de datos de destino (la de WP). Como la base de datos de E3 es muy grande, el proceso de volcado ha de hacerse desde local, por lo que habrá que copiar el fichero de exportación de la base de datos a un directorio local:
                fichero de clave         fichero de volcado   usuario y máquina Lightsail
 scp -i LightsailDefaultKey-eu-west-1.pem e3_produccion.sql ubuntu@34.241.94.120:/uploads
  • Posteriormente se moverá el fichero a un directorio accesible por Plesk
 sudo mv /uploads/e3_produccion.sql /var/www/vhosts/dipucordoba.es/
    • Si la base de datos de origen no se llama e3, hay que entrar en el fichero /wp-content-plugins/e3-to-wp/admin/menu/class-e3-to-wp-menu.php y en la línea 9 se pondría el nombre utilizado:
      public $bdorigen = "e3_contenidos";
  • En todo caso es necesario que la base de datos creada para E3 tenga el mismo usuario y contraseña que la existente de WP, para ello:
    • Acceder desde plesk a la base de datos del dominio, pinchar sobre el nombre de usuario existente, y en la lista desplegable "Base de datos" seleccionar "Cualquiera".
    • Crear la base de datos desactivando la casilla crear usuario.

2. Activamos el plugin

3. Pasos previos a hacer la migración

  • 3.1. Clasificación de contenidos en los ODS correspondiente
    • Si lo que pretendemos migrar son los contenidos de Dipucordoba, muchos de ellos están clasificados en determinados ODS (Objetivos de Desarrollo Sostenible) que se pedían para la Agenda 2030. Esta clasificación también la trae el plugin, y antes de ejecutar la migración se necesita hacer los siguientes pasos:
    • Primero, Toolset -> Importar/Exportar -> Types ->importar archivo XML o ZIP, y elegimos el zip diputacion-types.zip que está colocado en Almacen\CMS\WordPress\Recursos\recursos_toolset\diputacion-types.zip. Con esto importaremos las taxonomías de ODS ya creadas.
    • Si también queremos traernos la vista de la clasificación de ODS, repetir los mismos pasos, pero Importar Views que está colocado en Almacen\CMS\WordPress\Recursos\recursos_toolset\vista-ods.zip.

4. Migración de contenidos

  • Opción E3 to Wordpress -> con ello accedemos a la pantalla principal
  • Salen las bases de datos de e3 y WP, así como el prefijo de las tablas. Si se llaman diferente, se deben rellenar dichos textos con el nombre correcto
  • Elegimos las webs, entidades, temas o categorías que queremos migrar de E3 a Wordpress
    • Como se puede ver salen todas las webs que hay en la base de datos de E3, excepto las que se llaman Sede...
  • Elegimos las rutas donde se encuentran los ficheros a copiar que son los archivos que se encuentran en los contenidos, que como se ven, cada una nos dicen de que web se trata
  • En Dipucordoba está mapeada la ruta uploads2 pues la ruta uploads está securizada mediante apitoken y no podemos traernos los archivos para copiarlos
  • Hacer click botón Migrar datos

5. A tener en cuenta

  • Botón Migrar datos : En la última versión este botón guarda una configuración que se utilizará en la migración mediante script, que es la que la hace realmente.
  • Si por el motivo anterior nos diera un timeout , podemos volver a iniciar el proceso pues los contenidos ya migrados y sus archivos copiados, no se volverán a copiar. Los pasa por alto.

Ejecución desde línea de comandos

Preparativos generales ya realizados

Para ejecutar la migración desde línea de comandos se han tenido que realizar los siguientes preparativos:

  • Instalar php7-cli: sudo apt install php7.0-cli
  • Instalar extensión mysql de PHP: sudo apt install php-mysql
  • Instalar extensión curl de PHP: sudo apt-get install php-curl
  • Instalar extensión XML de PHP: sudo apt-get install php-xml
  • Instalar wp-cli siguiendo las instrucciones registradas en https://wp-cli.org/es/

Preparativos del dominio en el que se va a realizar la importación

Antes de realizar la importación en un dominio hay que realizar los siguientes pasos:

  • Permitir al usuario del dominio acceder por ssh al servidor. Para ello:
    • En la configuración del dominio de Plesk seleccionar la opción Acceso a hosting web
      E32wp-01.png
    • Ir al apartado Usuario del sistema y cambiar la opción Acceder al servidor vía SSH de Forbidden a /bin/bash
      E32wp-02.png
  • Modificar el fichero wp-config.php para sustituir la línea
    define('WP_ALLOW_MULTISITE', true);
    por
    if (!defined('WP_ALLOW_MULTISITE')) define('WP_ALLOW_MULTISITE', true);

Ejecutar la migración

Para ejecutar la migración:

  1. Conectarse a la máquina en cuestión por ssh
  2. Acceder como superusuarios: sudo su
  3. Acceder como el usuario del dominio (el que hemos configurado anteriormente para que tenga acceso por ssh): su usuario
  4. Ejecutar cd. Con esto nos movemos al directorio home del usuario que es /var/www/vhost/dominio
  5. Una vez en ese directorio navegamos hasta la carpeta httpdocs (cd httpdocs)
  6. Ya podemos ejecutar la shell de wordpress: wp shell
  7. Una vez que nos aparezca el símbolo de la shell (wp>) podemos ejecutar la función de migración con la instrucción migrate();