Cómo actualizar el portal de servicios para desarrolladores

Portal de servicios para desarrolladores v. 4.17.09

En este procedimiento, se describe cómo actualizar una instalación local existente de los Servicios de canal para desarrolladores de Apigee.

Determina el procedimiento de actualización correcto

El procedimiento que usas para actualizar el portal se basa en tu instalación actual:

Cómo determinar tu tipo de instalación actual

Si no estás seguro de cuál es el tipo de instalación actual, usa el siguiente comando para determinarlo:

  • ls /opt

    Si usas Nginx/Postgres, verás los siguientes directorios: /opt/apigee y /opt/nginx.

    Si usas Apache/MySQL o Apache/MariaDB, estos directorios no deberían estar presentes.

  • /opt/apigee/apigee-service/bin/apigee-all status

    Si usas Nginx/Postgres, verás el siguiente resultado:

    + apigee-service
      apigee-drupal-devportal status
      OK: apigee-drupal-devportal is up and running
      + apigee-service apigee-lb status
      apigee-service: apigee-lb: OK
      + apigee-service apigee-postgresql status
      apigee-service: apigee-postgresql: OK
  • apachectl -S

    Si usas Apache/MySQL o Apache/MariaDB, este comando debería mostrar el directorio raíz web del portal, en el siguiente formato:

    *:80
      192.168.56.102
      (/etc/httpd/conf/vhosts/devportal.conf:1)

Directorio de instalación predeterminado

El proceso de actualización supone que el portal para desarrolladores se instaló en la siguiente ubicación:

  • 4.17.05 y versiones posteriores: /opt/apigee/apigee-drupal/wwwroot
  • Antes de la versión 4.17.05: /opt/apigee/apigee-drupal (Nginx) o /var/www/html (Apache)

Si no instalaste el portal en el directorio predeterminado, modifica las rutas de acceso del siguiente procedimiento para usar tu directorio de instalación.

Versiones de actualización compatibles

Este procedimiento de actualización es compatible con las siguientes versiones del portal:

  • OPDK-17-01.x
  • OPDK-17-05.x

Para determinar la versión de tu portal, abre la siguiente URL en un navegador:

http://your_portal.com/buildInfo

Antes de actualizar

En el caso de las instalaciones existentes, si modificaste algún código en el núcleo de Drupal o en cualquier módulo que no sea personalizado, se reemplazarán tus modificaciones. Esto incluye, entre otros, cualquier cambio que hayas realizado en .htaccess. Debes suponer que todo lo que esté fuera del directorio /sites es propiedad de Drupal. Una excepción a esta regla es robots.txt. Si este archivo existe en la raíz web, se conservará.

Antes de continuar con la instalación, crea una copia de seguridad de todo el directorio raíz web de Drupal. Después de realizar los pasos de instalación que se describen a continuación, puedes restablecer tus personalizaciones desde la copia de seguridad.

Actualiza un portal con RPM

Usa el siguiente procedimiento para actualizar el RPM del portal en un nodo:

  1. Cambia al directorio de Drupal. Por ejemplo, /opt/apigee/apigee-drupal/wwwroot.

    cd /opt/apigee/apigee-drupal/wwwroot

    Consulta Directorio de instalación predeterminado para conocer el directorio predeterminado de la versión de tu producto.

  2. Crea una copia de seguridad de tu instancia de base de datos de Drupal. El comando pg_dump crea una copia de la base de datos:
    pg_dump --dbname=devportal --host=192.168.56.101
      --username=drupaladmin --password --format=c > /tmp/portal.dmp

    Donde:

    • dbname especifica el nombre de la base de datos como lo especifica la propiedad PG_NAME en el archivo de configuración de instalación del portal.
    • host especifica la dirección IP del nodo del portal.
    • username especifica el nombre de usuario de Postgres que usa el portal para acceder a la base de datos, como lo especifica la propiedad DRUPAL_PG_USER en el archivo de configuración de instalación del portal.
    • Se te solicitará la contraseña del usuario de Postgres, como se define en la propiedad DRUPAL_PG_PASS del archivo de configuración de instalación del portal.

    Si más adelante tienes que restablecer desde la copia de seguridad, usa el siguiente comando:

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. Crea una copia de seguridad de todo el directorio raíz web de Drupal. La ubicación de instalación predeterminada es /opt/apigee/apigee-drupal, pero es posible que la hayas cambiado.
    Si no estás seguro de la ubicación de este directorio, usa el comando drush status o la entrada Configuration > Media > File en el menú de Drupal para determinar la ubicación del sistema de archivos público y la ruta de acceso del sistema de archivos privado (para el siguiente paso).
  4. Crea una copia de seguridad de los archivos en /opt/apigee/data/apigee-drupal-devportal/private.
  5. Configura Drupal en el modo de mantenimiento:
    1. Selecciona Configuración en el menú de Drupal.
    2. En la página Configuración, selecciona Modo de mantenimiento en Desarrollo.
    3. Selecciona la casilla Poner el sitio en modo de mantenimiento.
    4. Ingresa un mensaje que los usuarios verán durante el mantenimiento.
    5. Selecciona Guardar configuración.
  6. Inhabilita SELinux como se describe en Instala la utilidad apigee-setup de Edge.
  7. Cambia al directorio /opt:
    cd /opt
  8. Para realizar una actualización en un servidor con conexión a Internet, sigue estos pasos:
    1. Descarga el archivo bootstrap_4.17.09.sh de Edge 4.17.09 en /tmp/bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
    2. Instala la utilidad y las dependencias apigee-service de Edge 4.17.09:
      sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName
        apigeepassword=pWord

      En el ejemplo anterior, uName:pWord son el nombre de usuario y la contraseña que recibiste de Apigee. Si omites pWord, se te pedirá que lo ingreses.

      De forma predeterminada, el instalador comprueba que tengas Java 1.8 instalado. Puedes usar la opción "C" para continuar sin instalar Java.

  9. Para realizar una actualización en un servidor sin conexión a Internet, sigue estos pasos:
    1. Crea un repositorio local 4.17.09 como se describe en "Crea un repositorio de Apigee local" en Instala la utilidad apigee-setup de Edge.
    2. Para instalar apigee-service desde un archivo .tar, haz lo siguiente:
      1. En el nodo con el repositorio local, usa el siguiente comando para empaquetar el repositorio local en un solo archivo .tar llamado /opt/apigee/data/apigee-mirror/apigee-4.17.09.tar.gz:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Copia el archivo .tar en el nodo en el que deseas actualizar Edge. Por ejemplo, cópialo en el directorio /tmp del nodo nuevo.
      3. En el nodo nuevo, descomprime el archivo en el directorio /tmp:
        tar -xzf apigee-4.17.09.tar.gz

        Este comando crea un directorio nuevo, llamado repos, en el directorio que contiene el archivo .tar. Por ejemplo, /tmp/repos.

      4. Instala la utilidad apigee-service de Edge y las dependencias de /tmp/repos:
        sudo bash /tmp/repos/bootstrap_4.17.09.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Ten en cuenta que debes incluir la ruta de acceso al directorio de repositorios en este comando.

    3. Para instalar apigee-service con el servidor web Nginx, sigue estos pasos:
      1. Configura el servidor web Nginx como se describe en "Install from the repo using the Nginx webserver" en Install the Edge apigee-setup utility.
      2. En el nodo remoto, descarga el archivo bootstrap_4.17.09.sh de Edge en /tmp/bootstrap_4.17.09.sh:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.09.sh
          -o /tmp/bootstrap_4.17.09.sh

        donde uName:pWord son el nombre de usuario y la contraseña que estableciste anteriormente para el repositorio, y remoteRepo es la dirección IP o el nombre de DNS del nodo del repositorio.

      3. En el nodo remoto, instala la utilidad apigee-service de Edge y las dependencias:code
        sudo bash /tmp/bootstrap_4.17.09.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        En el ejemplo anterior, uName:pWord son el nombre de usuario y la contraseña del repositorio.

  10. Usa apigee-service para actualizar la utilidad apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. Ejecuta la utilidad de actualización en tu nodo para actualizar la base de datos de Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    En el ejemplo anterior, configFile es el archivo de configuración que usaste para instalar la base de datos de Postgres. El único requisito del archivo de configuración es que el usuario “de Apigee” debe poder acceder a este o leerlo.

  12. Inicia Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  13. Ejecuta la utilidad de actualización en tu nodo para actualizar el portal:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    en el que configFile es el archivo de configuración que usaste para instalar el portal. El único requisito del archivo de configuración es que el usuario “de Apigee” debe poder acceder a este o leerlo.

  14. Para ejecutar la secuencia de comandos update.php de Drupal, abre la siguiente URL en una ventana del navegador:
    http://portalIP_DNS:8079/update.php
  15. Inhabilita Drupal en el modo de mantenimiento:
    1. Selecciona Configuración en el menú de Drupal.
    2. En la página Configuración, selecciona Modo de mantenimiento en Desarrollo.
    3. Anula la selección de la casilla Colocar el sitio en modo de mantenimiento.
    4. Selecciona Guardar configuración.

Ten en cuenta que el directorio raíz después de la actualización es el siguiente:

/opt/apigee/apigee-drupal/wwwroot

Se completó la actualización.