Edge para nuvem privada v4.18.05
A versão 4.18.05 do portal de serviços para desenvolvedores da Apigee (ou simplesmente o portal) não permite atualizar uma versão anterior baseada em tar do portal. Só é possível atualizar diretamente uma versão do portal baseada em RPM para a versão 4.18.05.
No entanto, é possível converter uma versão baseada em tar do portal em uma instância baseada em RPM 4.18.05 do portal. Como parte desse processo, você migra o MySQL/MariaDB do portal atual para um banco de dados Postgres. Depois da conversão, o portal continua sendo baseado em RPM.
É possível migrar muitas versões anteriores do portal baseado em tar para um portal baseado em RPM, incluindo as versões 4.16.09 e 4.17.01, não apenas a versão 4.17.05. O único requisito é que o portal esteja executando o Drupal 7 ou mais recente. Para verificar sua versão do Drupal, selecione Reports > Status Reports no menu do Drupal. A versão do Drupal aparece na primeira linha da saída.
As etapas de alto nível usadas para migrar de um portal baseado em tar para um portal baseado em RPM são:
- Instale a versão 4.18.05 com base no RPM do portal em um novo nó.
- Crie um novo banco de dados do Postgres no portal baseado em RPM.
- Migre o banco de dados do portal do portal baseado em tar.
- Copie todos os arquivos de acessório do portal baseado em tar para o portal baseado em RPM.
- Atualize as entradas de DNS para apontar para o novo portal baseado em RPM.
A versão baseada em RPM do portal usa a porta 8079 por padrão, enquanto a versão baseada em tar usa a porta 80. Use o número de porta correto na entrada do DNS. Consulte Definir a porta HTTP usada pelo portal para informações sobre como usar uma porta diferente.
Novo diretório de instalação padrão após a conversão
Depois de atualizar uma instalação que agora usa Nginx/Postgres, o diretório raiz mudou de:
/opt/apigee/apigee-drupal
para:
/opt/apigee/apigee-drupal/wwwroot
Procedimento de conversão do portal
Para converter o portal em uma instalação baseada em RPM:
- Instale a versão 4.18.05 do portal baseada em RPM em um nó diferente do portal baseado em tar.
- No portal baseado em RPM, crie um novo banco de dados do Postgres. Depois, migre o banco de dados do portal baseado em tar para este novo banco de dados:
- Faça login no psql:
psql -h localhost -p 5432 -U apigee
Insira sua senha do Postgres, conforme definido pela propriedade PG_PWD no arquivo de configuração do portal.
- Crie um novo banco de dados do Postgred:
CREATE DATABASE newportaldb;
- Sair do psql:
\q
- Faça login no psql:
-
No portal baseado em tar, remova os módulos antigos que não são mais usados:
cd /var/www/html
drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' AND type = 'module';"
drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_checklist' AND type = 'module';"
drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_sso_ui' AND type = 'module';"
- No portal baseado em tar, instale e configure o módulo do Drupal do migrator:
-
cd /tmp
-
wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
-
gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
-
tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
- Faça login no portal como administrador.
- Selecione Módulos no menu do Drupal.
- Ative o módulo DBTNG Migrator.
- Salve a configuração.
-
- No portal baseado em tar, edite
/var/www/html/sites/default/settings.php
para adicionar uma segunda configuração de banco de dados que aponte para o banco de dados recém-criado no portal baseado em RPM. A configuração atual do banco de dados é chamada de "padrão". Nomeie a nova configuração como "personalizada", conforme mostrado no exemplo a seguir:$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' => '', ) ) );
Em que
host
eport
especificam o endereço IP e a porta do servidor Postgres. O Postgres usa a porta 5432 para conexões. -
No portal baseado em tar, instale o driver do Postgres:
- Use o Yum para instalar o driver:
yum install php-pdo_pgsql
- Edite
/etc/php.ini
para adicionar a seguinte linha em qualquer lugar do arquivo:extension=pgsql.so
- Reinicie o Apache:
service httpd restart
- Use o Yum para instalar o driver:
- No portal baseado em tar, migre o banco de dados do portal para o portal
baseado em RPM:
- Faça login no portal como administrador.
- Selecione Structure->Migrator no menu do Drupal.
- Escolha o banco de dados de origem no portal baseado em tar,
default
, e o banco de dados de destino,custom
, com base no arquivosettings.php
mostrado acima. - Clique em Migrar. O banco de dados baseado em tar é migrado para o banco de dados baseado em RPM.
- Copie o diretório
sites
do servidor baseado em tar para o servidor baseado em RPM. Os caminhos mostrados nas etapas a seguir são baseados em caminhos padrão. Modifique-as conforme necessário para sua instalação.- No portal baseado em tar, agrupe o diretório
/var/www/html/sites
:cd /var/www/html/sites
tar -cvzf /tmp/sites.tar.gz .
- Copie
/tmp/sites.tar.gz
para/opt/apigee/apigee-drupal/wwwroot/sites
no servidor baseado em RPM. - Desvincule o diretório de sites, mas não substitua arquivos importantes.
- Faça backup do arquivo
settings.php
:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
- Faça backup do diretório
files
atual:sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
- Faça backup do diretório
sites
atual:tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
- Descompacte e descompacte o diretório
sites
do servidor baseado em tar:gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
- Verifique se os arquivos copiados têm a propriedade adequada:
chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
- Restaure o arquivo
settings.php
:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
- Mover arquivos particulares para um novo local:
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
- Faça backup do arquivo
- No portal baseado em tar, agrupe o diretório
- No portal baseado em tar, somente se você tiver mudado o caminho para o diretório raiz da Web
do caminho padrão /var/www/html: execute
drush status
e verifique o caminhofiles
e o caminhoprivate files
:cd /var/www/html
drush status
Se os arquivos/arquivos particulares não estiverem no diretório
sites
, copie-os para o servidor baseado em RPM, conforme mostrado acima. - No portal baseado em RPM, atualize
/opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
para definir as propriedades do banco de dados padrão:vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
Defina a descrição do banco de dados padrão em settings.php:
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => 'localhost', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
Em que
database
especifica o novo banco de dados que você criou,username
epassword
são definidos para o banco de dados personalizado no portal baseado em tar eprefix
está vazio. - No portal baseado em RPM, a versão baseada em RPM contém menos
módulos do Drupal do que a versão baseada em tar. Depois de migrar para o portal baseado em RPM, verifique se há módulos ausentes e instale-os conforme necessário.
- Instale o
missing_module
do Drupal usado para detectar módulos ausentes:cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_module
drush en missing_module
- Faça login no portal baseado em RPM como administrador.
- Selecione Reports > Status reports no menu do Drupal e verifique se há módulos ausentes.
- Use esse relatório para instalar os módulos ausentes ou use os seguintes comandos:
cd /opt/apigee/apigee-drupal/wwwroot
drush dl <moduleA> <moduleB> ...
drush en <moduleA> <moduleB> ...
- Depois de ativar todos os módulos, verifique se os arquivos são de propriedade do usuário apigee:
chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
Para mais informações sobre permissões de arquivo, consulte https://www.drupal.org/node/244924.
- Instale o
- No portal baseado em RPM, execute update.php em um navegador para remover erros
em módulos ausentes:
- Faça login no portal baseado em RPM como administrador.
- No navegador, acesse o seguinte URL:
http://portal_IP_or_DNS:8079/update.php
em que portal_IP_or_DNS é o endereço IP ou o nome de domínio do portal baseado em RPM.
- Siga as instruções na tela.
- Atualize as entradas de DNS para apontar para o novo portal baseado em RPM.
A versão baseada em RPM do portal usa a porta 8079 por padrão, enquanto a versão baseada em tar usa a porta 80. Use o número de porta correto na entrada do DNS. Consulte Definir a porta HTTP usada pelo portal para informações sobre o uso de uma porta diferente.
A conversão foi concluída.