Cómo actualizar el portal de servicios para desarrolladores

Portal de Servicios para desarrolladores v. 4.17.05

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

Determina el procedimiento de actualización correcto

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

Determina el tipo de instalación actual

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

  • ls /opt
    Si usa Nginx/Postgres, verá 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
    Correcto: apigee-drupal-devportal está en funcionamiento
    + apigee-service apigee-service apigeerebigquery status


  • apachectl -S
    Si usas Apache/MySQL o Apache/MariaDB, este comando debería mostrar el directorio raíz web del portal con 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:

  • /opt/apigee/apigee-drupal (Nginx)
  • /var/www/html (Apache)

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

Si no conoces el directorio de instalación, puedes determinarlo como se describe en Comandos de Drush de uso común.

Nuevo directorio de instalación predeterminado después de la actualización de Nginx/Postgres desde una instalación nueva 4.17.01

Después de actualizar una instalación nueva de 4.17.01 que usa Nginx/Postgres, el directorio raíz cambió de:

/opt/apigee/apigee-drupal

siguiente:

/opt/apigee/apigee-drupal/wwwroot

Versiones de actualización compatibles

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

  • pantheon-14.02.x
  • pantheon-14.03.x
  • pantheon-14.04.x
  • pantheon-14.07.x
  • pantheon-15-01.x
  • OPDK-15-04.x
  • OPDK-15-07.x
  • OPDK-16-01.x
  • OPDK-16-05.x
  • OPDK-16-09.x
  • OPDK-17-01.x

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

http://yourportal.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 módulos no personalizados, tus modificaciones se reemplazarán. Esto incluye, entre otras cosas, 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á para ti.

Antes de continuar con la instalación, crea una copia de seguridad de todo tu 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 el portal con un archivo .tar

  1. Crea una copia de seguridad de la instancia de MySQL/MariaDB de Drupal.
    Para obtener más información, consulta http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/
    1. Opción 1: Usa Drush

      El comando sql-dump de Drush crea una copia de la base de datos. Desde el directorio de Drupal, /var/www/html de forma predeterminada, ejecuta el comando:
      > drush sql-dump > /path/to/backup_dir/database-backup.sql

      Usa drush help sql-dump para obtener más información.
    2. Opción 2: Usa MySQLdump
      Usa el comando mysqldump para crear una copia de la base de datos:
      mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      No debe haber espacio entre la opción -p y la contraseña. Se requieren comillas simples para encerrar la contraseña si esta contiene caracteres especiales.

      Estableces el NOMBRE DE USUARIO y la NOMBRE DE DATOS cuando instalaste el portal. De forma predeterminada, ambos son devportal.
  2. Realiza una copia de seguridad de todo tu directorio raíz web de Drupal. La ubicación de instalación predeterminada es /var/www/html, pero es posible que la hayas cambiado en el momento de la instalación.
  3. Descarga el archivo DeveloperServices_x.y.z.tar de los servicios de canal para desarrolladores de ftp.apigee.com, en el que x.y.z corresponde al número de versión del portal. Cuando se te solicite, ingresa las credenciales que recibiste de Apigee.

    Puedes descargar un archivo del vínculo que te envió Apigee en un navegador o copiarlo y agregarlo al siguiente comando cURL:
    > curl -kOL <paste link here>

    Nota: Si tu portal se encuentra en un servidor sin conexión a Internet externa, realiza este paso en un servidor con acceso.

    Ve a Asistencia de Apigee Edge y selecciona Acceder a tu Portal de asistencia para solicitar el archivo .tar de actualización de los servicios de canal para desarrolladores. Si no tienes una cuenta en el Portal de asistencia, selecciona Login to your Support Portal y, luego, en la página de acceso, selecciona In a hurry? Envía un ticket de asistencia aquí.
  4. Para actualizar un servidor con conexión a Internet, sigue estos pasos:
    1. Extrae el archivo de actualización del portal:
      > tar -xvf <tar file>

      Esta extracción de comando crea un directorio nuevo llamado DeveloperServices-4.x.y.z.
    2. Cambia al directorio DeveloperServices-4.x.y.z.
    3. Descarga la versión más reciente de Drupal con el siguiente comando:
      > drush dl drupal

      Este comando crea un directorio llamado drupal-x.y, en el que x.y corresponde a la versión actual de Drupal.
    4. Ejecuta la secuencia de comandos networked-update.sh:
      > ./networked-update.sh

      Según los permisos del archivo, es posible que debas usar sudo para ejecutar este comando o ejecutarlo como administrador.
    5. Para recibir notificaciones de las actualizaciones de Drupal, asegúrate de que el módulo del administrador de actualizaciones de Drupal esté habilitado. En el menú de Drupal, selecciona Modules y desplázate hacia abajo hasta el módulo Update Manager. Si no está habilitada, habilítala.

      Una vez habilitada, puedes ver las actualizaciones disponibles en el elemento de menú Informes > Actualizaciones disponibles.

      Usa el elemento de menú Informes > Actualizaciones disponibles > Configuración para configurar el módulo a fin de que te envíe correos electrónicos cuando haya actualizaciones disponibles y para establecer la frecuencia de búsqueda de actualizaciones.
  5. Para una actualización en un servidor sin conexión a Internet, sigue estos pasos:
    1. En el servidor en el que descargaste el archivo DeveloperServices_x.y.z.tar de los servicios de canal para desarrolladores, extrae el archivo de actualización del portal:
      > tar -xvf <tar file>

      Esta extracción de comando crea un directorio nuevo llamado DeveloperServices-4.x.y.z.
    2. Cambia al directorio DeveloperServices-4.x.y.z.
    3. Ejecuta la secuencia de comandos non-networked-update.sh:
      > ./non-networked-update.sh

      Según los permisos del archivo, es posible que debas usar sudo para ejecutar este comando o ejecutarlo como administrador.

      Este comando descarga todos los archivos de actualización necesarios y los empaqueta en un solo archivo llamado devportal-update.tgz, que escribe el archivo en la ubicación que elijas.
    4. Copia devportal-update.tgz en el servidor de destino, el que ejecuta el portal.
      Nota: No copies devportal-update.tgz en la raíz web del servidor de destino.
    5. Descomprime el archivo devportal-update.tgz al directorio actual:
      > tar -xzf /path/to/devportal-update.tgz
    6. Cambia al directorio developer-update.
    7. Ejecuta el siguiente comando para instalar la actualización:
      > ./install-update.sh
    8. Responde las indicaciones.

Se completó la actualización.

Actualiza un portal mediante RPM

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

  1. Cambia al directorio de Drupal, /opt/apigee/apigee-drupal de forma predeterminada:
    > cd /opt/apigee/apigee-drupal
  2. Crea una copia de seguridad de la 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 según 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 de usuario de Postgres, como se define en la propiedad DRUPAL_PG_PASS en el 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. Realiza una copia de seguridad de todo tu 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 de su ruta de acceso (para el siguiente paso).
  4. Haz una copia de seguridad de los archivos en /opt/apigee/data/apigee-drupal-devportal/private.
  5. Inhabilita SELinux como se describe en Instala la utilidad apigee-setup de Edge.
  6. Para actualizar un servidor con conexión a Internet, sigue estos pasos:
    1. Descarga el archivo bootstrap_4.17.05.sh de Edge 4.17.05 a bootstrap_4.17.05.sh:
      bootstrap_4.17.05.sh.
    2. Instala la utilidad y las dependencias de apigee-service de Edge 4.17.05:
      > sudo bash /tmp/boot_4.17.05.sh apigeeuser=uName apigeepassword=pWord


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

      De forma predeterminada, el instalador verifica si tienes Java 1.8 instalado. Puedes usar la opción "C" para continuar sin instalar Java.
  7. Para una actualización en un servidor sin conexión a Internet, sigue estos pasos:
    1. Crea un repositorio local 4.17.05 como se describe en “Crea un repositorio local de Apigee” en Instala la utilidad apigee-setup de Edge.
      Nota: Si ya tienes un repositorio 4.17.01 existente, puedes agregarle el repositorio 4.17.05 como se describe en “Actualiza un repositorio de Apigee local” en Instala la utilidad Edge apigee-setup.
    2. Para instalar apigee-service desde un archivo .tar, sigue estos pasos:
      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.05.tar.gz:
        > /opt/apigee/apigee-service/bin/apigee-service apigee-mirror
      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.05.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/Boot_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Observa que incluyes 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 “Instala desde el repositorio mediante el servidor web Nginx” en Instala la utilidad apigee-setup de Edge.
      2. En el nodo remoto, descarga el archivo bootstrap_4.17.05.sh de Edge a bootstrap_4.17.05.sh:
        > /usr/bin/curl http://uName:pWord@remoteWordRepo:3939/ node_4.17.05.sh.

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

        donde el repositorio
  8. Usa apigee-service para actualizar la utilidad apigee-setup:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  9. 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 que configFile es el archivo de configuración que usaste para instalar la base de datos de Postgres. El único requisito sobre el archivo de configuración es que el usuario de “apigee” debe poder acceder o leer este archivo.
  10. Inicia Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. Ejecuta la utilidad de actualización en tu nodo para actualizar el portal:
    >/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    donde configFile es el archivo de configuración que usaste para instalar el portal. El único requisito sobre el archivo de configuración es que el usuario de “apigee” debe poder acceder o leer este archivo.

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

/opt/apigee/apigee-drupal/wwwroot

Se completó la actualización.