A versão 4.18.05 do portal Apigee Developer Services (ou simplesmente o portal) não permite que você atualize uma versão versão do portal baseada em tar. Só é possível atualizar diretamente uma versão do portal baseada em RPM até 4/18/05.
Porém, você pode converter uma versão do portal baseada em tar em uma instância baseada em RPM 4.18.05 de no portal. Como parte desse processo, você migra o MySQL/MariaDB do portal para uma Banco de dados Postgres. Depois de convertido, seu portal continua sendo um portal 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. Os únicos requisitos o portal está executando Drupal 7 ou posterior. Para verificar sua versão do Drupal, selecione Relatórios > "Status Reports" no menu 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 baseado em RPM são:
- Instale a versão 4.18.05 do portal baseada em RPM em um um novo nó.
- Crie um novo banco de dados Postgres no portal baseado em RPM.
- Migre o banco de dados do portal do portal baseado em tar.
- Copie todos os arquivos acessórios do portal baseado em tar para o arquivo de base em RPM no portal do Google Cloud.
- 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 usa a porta 80. Use o número de porta correto na entrada DNS. Consulte Definir a porta HTTP usada pelo portal para informações usando uma porta diferente.
Novo diretório de instalação padrão após conversão
Depois de atualizar uma instalação que agora usa o Nginx/Postgres, o diretório raiz foi alterado 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 baseado em tar no portal do Google Cloud.
- No portal baseado em RPM, crie um banco de dados do Postgres. Depois, você migra
do portal baseado em tar para o banco de dados novo:
- Faça login no psql:
psql -h localhost -p 5432 -U apigee
Insira sua senha do Postgres conforme definido pela propriedade PG_PWD na configuração do portal .
- Crie um novo banco de dados Postgred:
CREATE DATABASE newportaldb;
- Saia 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 Migrator Drupal:
-
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 Modules no menu 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 na página no portal do Google Cloud. A configuração do banco de dados atual é chamada de "padrão". Nomeie sua nova configuração "custom", como mostra o 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 linha abaixo 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 banco de dados baseado em RPM
portal:
- Faça login no portal como administrador.
- Selecione Structure->Migrator no menu do Drupal.
- Escolha seu banco de dados de origem no portal baseado em tar,
default
, e 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 no seu banco de dados.
- Copie o diretório
sites
do servidor baseado em tar para o servidor baseado em RPM. A caminhos mostrados nas etapas a seguir são baseados em caminhos padrão. Modifique-as conforme necessário para durante a 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 .
- Copiar
/tmp/sites.tar.gz
para/opt/apigee/apigee-drupal/wwwroot/sites
no servidor baseado em RPM. - Desagrupar o diretório de sites, mas não substituir 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 alterado o caminho para a raiz da Web
do portal baseado em tar pelo caminho padrão de /var/www/html: execute
drush status
e observe o caminhofiles
e o caminhoprivate files
:cd /var/www/html
drush status
Se os arquivos/arquivos privados não estiverem no diretório
sites
, copie-os para servidor baseado em RPM, como 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 padrão do banco de dados 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 definidas conforme a definição do banco de dados personalizado no portal baseado em tar, eprefix
está vazio. - No portal baseado em RPM, a versão desse portal contém menos
módulos Drupal que a versão baseada em tar. Depois de migrar para o portal baseado em RPM, você
deve verificar a existência de módulos ausentes e instalá-los 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 Relatórios > "Relatórios de status" no menu Drupal e verifique 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 pertencem ao usuário da Apigee:
chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
Para saber mais sobre as permissões de arquivos, 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 nome de domínio do servidor no portal do Google Cloud.
- Siga as instruções na tela.
- Atualize as entradas de DNS para apontar para seu novo portal baseado em RPM.
A versão baseada em RPM do portal usa a porta 8079 por padrão, enquanto a usa a porta 80. Use o número de porta correto na entrada DNS. Consulte Definir a porta HTTP usada pelo portal para informações sobre usando uma porta diferente.
A conversão foi concluída.