Convertire un portale basato su tar in un portale basato sull'RPM

Edge per Private Cloud v. 4.17.09

La versione 4.17.09 del portale Servizi per gli sviluppatori non ti consente di aggiornare una precedente basata su tar del portale. Puoi aggiornare direttamente solo una versione del portale basata su RPM alla 4.17.09.

Tuttavia, puoi convertire una versione del portale basata su tar in un'istanza basata su 4.17.09 RPM del nel portale. Nell'ambito di questo processo, esegui la migrazione del database MySQL/MariaDB del portale esistente a un il database Postgres. Una volta completata la conversione, il portale rimarrà un portale basato sull'RPM.

Puoi eseguire la migrazione di molte versioni precedenti del portale basato su tar a un portale basato su RPM, incluse le versioni 4.16.09 e 4.17.01, non solo la versione 4.17.05. L'unico requisito è che se sul portale è in esecuzione Drupal 7 o una versione successiva. Per controllare la tua versione di Drupal, seleziona Report > Report di stato nel menu Drupal. La versione di Drupal è visualizzata nella prima riga dell'output.

I passaggi generali che utilizzi per eseguire la migrazione da un portale basato su tar a un portale basato su RPM sono:

  • Installa la versione basata su RPM 4.17.09 del portale Servizi per sviluppatori su un un nuovo nodo.
  • Crea un nuovo database Postgres sul portale basato su RPM.
  • Esegui la migrazione del database del portale dal portale basato su tar.
  • Copia tutti i file degli accessori dal portale basato su tar a quello basato su RPM portale.
  • Aggiorna le voci DNS in modo che puntino al nuovo portale basato su RPM.

    Tieni presente che la versione del portale basata su RPM utilizza la porta 8079 per impostazione predefinita, mentre la versione basata su tar utilizza la porta 80. Assicurati di utilizzare il numero di porta corretto nella voce DNS. Per informazioni, consulta Impostare la porta HTTP utilizzata dal portale sull'utilizzo di una porta diversa.

Nuova directory di installazione predefinita dopo il giorno conversione

Dopo aver aggiornato un'installazione che ora utilizza Nginx/Postgres, la directory root è cambiata da:

/opt/apigee/apigee-drupal

a:

/opt/apigee/apigee-drupal/wwwroot

Procedura di conversione del portale

Per convertire il portale in un'installazione basata su RPM:

  1. Installa la versione 4.17.09 basata su RPM del portale Developer Service su un nodo diverso dal tuo portale basato su tar.
  2. Nel portale basato su RPM, crea un nuovo database Postgres. In seguito, eseguirai la migrazione il database dal portale basato su tar a questo nuovo database:
    1. Accedi a psql:
      >psql -h localhost -p 5432 -U Apigee

      Inserisci la password Postgres come definita dalla proprietà PG_PWD nella configurazione del portale .
    2. Crea un nuovo database Postgred:
      # CREA DATABASE newportaldb;
    3. Esci da psql:
      # \q
  3. Sul portale basato su tar, rimuovi i moduli precedenti che non vengono più utilizzati:
    > cd /var/www/html
    > drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' E type = 'module';"
    > drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_elenco di controllo' AND type = 'module';"
    > drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_sso_ui' E type = 'module';"

  4. Nel portale basato su tar, installa e configura Migrator Drupal modulo:

    1. cd /tmp
    2. wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
    3. capo di tiro /tmp/dbtng_migrator-7.x-1.4.tar.gz
    4. tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
    5. Accedi al portale come amministratore.
    6. Seleziona Moduli nel menu Drupal.
    7. Attiva il modulo DBTNG Migrator.
    8. Salva la configurazione.
  5. Nel portale basato su tar, modifica /var/www/html/sites/default/settings.php con aggiungere una seconda configurazione di database che punti al database appena creato portale. La configurazione attuale del database è denominata default. Assegna un nome alla nuova configurazione personalizzato:
    $databases = array (
          'default' =>
          array (
            'default' =>
            array (
              'database' => 'devportal',
              'username' => 'devportal',
              'password' => 'devportal',
              'host' => 'localhost',
              'port' => '',
              'driver' => 'mysql',
              'prefix' => '',
            ),
          ),
          'custom' =>
          array (
            'default' =>
            array (
              'database' => 'newportaldb',
              'username' => 'apigee',
              'password' => 'postgres',
              'host' => '192.168.168.100',
              'port' => '5432',
              'driver' => 'pgsql',
              'prefix' => '',
            )
          )
        );

    dove host e port specificano l'indirizzo IP e la porta Server Postgres. Postgres utilizza la porta 5432 per le connessioni.
  6. Nel portale basato su tar, installa il driver Postgres:
      .
    1. Utilizza Yum per installare il driver:
      > yum install php-pdo_pgsql
    2. Modifica /etc/php.ini in aggiungi la seguente riga in qualsiasi punto del file:
      extension=pgsql.so
    3. Riavvia Apache:
      > httpd servizio riavvia
  7. Sul portale basato su tar, esegui la migrazione del database del portale a quello basato su RPM portale:
      .
    1. Accedi al portale come amministratore.
    2. Seleziona Struttura->Migrator nel menu Drupal.
    3. Scegli il database di origine sul portale basato su tar, default e il database di destinazione. custom, basato su File settings.php mostrato in alto.
    4. Fai clic su Esegui la migrazione. Viene eseguita la migrazione del database basato su tar a quello basato su RPM per configurare un database.
  8. Copia la directory sites. da un server basato su tar a un server basato su RPM.
    I percorsi mostrati nei seguenti passaggi si basano su percorsi predefiniti. Modificali in base alle tue esigenze per l'installazione.
    1. Nel portale basato su tar, raggruppa la directory /var/www/html/sites:
      > cd /var/www/html/sites
      > tar -cvzf /tmp/sites.tar.gz .
    2. Copia /tmp/sites.tar.gz su /opt/apigee/apigee-drupal/wwwroot/sites sul server basato su RPM.
    3. Separa la directory dei siti, ma non sovrascrivere i file importanti.
      1. Esegui il backup del file settings.php:
        > sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. Esegui il backup della directory dei file esistenti:
        > sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. Esegui il backup della directory sites esistente:
        > tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. Decomprimi e decomprimi la directory sites dalla directory basata su tar server:
        > pistola /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz

        > tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. Assicurati che la proprietà dei file copiati sia corretta:
        > chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. Ripristina il file settings.php:
        > sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. Sposta i file privati in una nuova posizione:
        > cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-devportal/private

        > rm -rf /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private

        > chown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
  9. Nel portale basato su tar, solo se hai modificato il percorso della directory principale web sul portale basato su tar dal percorso predefinito /var/www/html: esegui drush status e osserva il percorso dei file e dei file privati:
    > cd /var/www/html
    > stato drush


    Se i file/file privati non si trovano nella directory sites, copiali nella cartella come mostrato sopra.
  10. Sul portale basato su RPM, aggiorna /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php per impostare le proprietà del database predefinito:
    > vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php

    Imposta la descrizione predefinita del database in settings.php:
    $databases = array (
          'default' =>
          array (
            'default' =>
            array (
              'database' => 'newportaldb',
              'username' => 'apigee',
              'password' => 'postgres',
              'host' => 'localhost', 'port' => '5432',
              'driver' => 'pgsql',
              'prefix' => '',
            )
          )
        );

    dove database specifica il nuovo database che hai creato. username e password sono quelli definiti per il database personalizzato sul portale basato su tar e il prefisso è vuoto.
  11. Sul portale basato su RPM, la versione del portale basata su RPM contiene meno file moduli Drupal rispetto alla versione basata su tar. Una volta eseguita la migrazione al portale basato su RPM, devi verificare la presenza di eventuali moduli mancanti e installarli secondo necessità.
    1. Installa il modulo missing_module di Drupal utilizzato per rilevare le informazioni mancanti moduli:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl missing_module
      > drush en missing_module
    2. Accedi al portale basato su RPM come amministratore.
    3. Seleziona Report > Report di stato nel menu Drupal e verificare eventuali moduli mancanti.
    4. Utilizza questo report per installare eventuali moduli mancanti oppure utilizza i seguenti comandi:
      > cd /opt/apigee/apigee-drupal/wwwroot
      &gt; drush dl <moduleA> &lt;moduleB&gt; ...
      &gt; drush en <moduleA> &lt;moduleB&gt; ...
    5. Dopo aver abilitato tutti i moduli, assicurati che i file siano di proprietà dell'organizzazione apigee utente:
      &gt; chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      Per ulteriori informazioni sulle autorizzazioni per i file, vedi https://www.drupal.org/node/244924.
  12. Sul portale basato su RPM, esegui il file update.php in un browser per rimuovere eventuali errori moduli mancanti:
      .
    1. Accedi al portale basato su RPM come amministratore.
    2. Nel browser, vai al seguente URL:
      http://{portal_IP_or_DNS}:8079/update.php

      dove portal_IP_or_DNS è l'indirizzo IP o il nome di dominio del Portale basato su RPM.
    3. Segui le istruzioni sullo schermo.
  13. Aggiorna le voci DNS in modo che puntino al nuovo portale basato su RPM.

    Tieni presente che la versione del portale basata su RPM utilizza la porta 8079 per impostazione predefinita, mentre la versione basata su tar utilizza la porta 80. Assicurati di utilizzare il numero di porta corretto nella voce DNS. Per informazioni su come impostare la porta HTTP utilizzata dal portale utilizzando una porta diversa.

La conversione è completa.