Apigee Developer Services 4.18.05 版本 (或簡稱為入口網站) 無法讓您更新先前的版本 入口網站的 tar 版本。只能直接更新入口網站的 RPM 版本 至 4.18.05
但您可以將入口網站的 tar 版本轉換成 4.18.05 RPM 的例項。 入口網站。在這個過程中,您會將現有入口網站的 MySQL/MariaDB 遷移至 Postgres 資料庫。轉換完成後,您的入口網站仍會以 RPM 為基礎的入口網站。
您可以將許多舊版 tar 入口網站遷移至 RPM 入口網站。 包括 4.16.09 和 4.17.01 版,而不只是 4.17.05 版。唯一的必要條件是 入口網站正在執行 Drupal 7 以上版本如要查看你的 Drupal 版本,請選取「報表」 >Drupal 選單中的狀態報告。第一列會顯示 Drupal 的版本 輸出內容
以下概略步驟說明如何從 tar 入口網站遷移至 RPM 入口網站 是:
- 在 新節點
- 在 RPM 入口網站上建立新的 Postgres 資料庫。
- 從 tar 入口網站遷移入口網站資料庫。
- 將 tar 入口網站中的所有配件檔案複製到 RPM 型 入口網站。
- 更新 DNS 項目,使其指向新的 RPM 入口網站。
請注意,以 RPM 為基礎的入口網站預設會使用通訊埠 8079,而 tar 型則是 版本則使用通訊埠 80。請確認你在 DNS 項目中使用正確的通訊埠號碼。詳情請見 設定入口網站使用的 HTTP 通訊埠以瞭解詳細資訊 使用不同的通訊埠
新的預設安裝目錄位於 換算
更新現在使用 Nginx/Postgres 的安裝後,根目錄發生了變化 從:
/opt/apigee/apigee-drupal
收件者:
/opt/apigee/apigee-drupal/wwwroot
入口網站轉換程序
如何將入口網站轉換為採用 RPM 為基礎的安裝:
- 將 RPM 相容 4.18.05 版本的入口網站,安裝在與 tar 為基礎的其他節點上 入口網站。
- 在 RPM 入口網站中建立新的 Postgres 資料庫。稍後您將進行遷移
資料庫從 tar 為基礎的入口網站到這個新資料庫:
- 登入 psql:
psql -h localhost -p 5432 -U apigee
輸入入口網站設定中 PG_PWD 屬性所定義的 Postgres 密碼 檔案。
- 建立新的 Postgred 資料庫:
CREATE DATABASE newportaldb;
- 退出 psql:
\q
- 登入 psql:
-
在 tar 入口網站中,移除不再使用的舊模組:
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';"
- 在 tar 入口網站中,安裝並設定 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
- 以管理員身分登入入口網站。
- 在 Drupal 選單中選取「Modules」。
- 啟用「DBTNG Migrator」模組。
- 儲存設定。
-
- 在 tar 入口網站上編輯
/var/www/html/sites/default/settings.php
新增第二個資料庫設定,指向以 RPM 為基礎的新建資料庫 入口網站。目前的資料庫設定名稱為「default」,為新設定命名 「自訂」如以下範例所示:$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' => '', ) ) );
其中
host
和port
指定通訊埠的 IP 位址和通訊埠 Postgres 伺服器。Postgres 會使用通訊埠 5432 進行連線。 -
在 tar 入口網站中安裝 Postgres 驅動程式:
- 使用 Yum 安裝驅動程式:
yum install php-pdo_pgsql
- 編輯
/etc/php.ini
,在檔案中的任何位置新增下列程式碼:extension=pgsql.so
- 重新啟動 Apache:
service httpd restart
- 使用 Yum 安裝驅動程式:
- 在 tar 式入口網站上,將入口網站資料庫遷移至 RPM 套件
入口網站:
- 以管理員身分登入入口網站。
- 在 Drupal 選單中依序選取「Structure」->「Migrator」。
- 在 tar 入口網站 (
default
) 中選擇來源資料庫,並 目的地資料庫custom
,根據settings.php
顯示的檔案 。 - 按一下「遷移」。tar 資料庫會遷移至 RPM 型 資料庫
- 將
sites
目錄從 tar 型伺服器複製到 RPM 伺服器。 下列步驟所示的路徑是以預設路徑為基礎。視需要修改 安裝內容- 在 tar 入口網站上,封裝
/var/www/html/sites
目錄:cd /var/www/html/sites
tar -cvzf /tmp/sites.tar.gz .
- 將「
/tmp/sites.tar.gz
」複製到/opt/apigee/apigee-drupal/wwwroot/sites
上執行。 - 取消組合網站目錄,但不要覆寫重要檔案。
- 備份
settings.php
檔案:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
- 備份現有的
files
目錄:sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
- 備份現有的
sites
目錄:tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
- 從 tar 伺服器解壓縮並解壓縮
sites
目錄:gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
- 請確認複製的檔案具備適當擁有權:
chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
- 還原
settings.php
檔案:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
- 將私人檔案移至新位置:
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
- 備份
- 在 tar 入口網站上,封裝
- 在 tar 式入口網站 (只有在您變更了網站根目錄的路徑時)
位於 /var/www/html 預設路徑的 tar 入口網站目錄: run
drush status
以及查看files
路徑和private files
路徑:cd /var/www/html
drush status
如果檔案/私人檔案不在
sites
目錄中,請將檔案複製到 採 RPM 式伺服器 (如上所示)。 - 在 RPM 入口網站上:
/opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
用來設定屬性 的預設資料庫類型:vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
在 settings.php 中設定預設資料庫說明:
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => 'localhost', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
其中
database
指定您建立的新資料庫。 定義自訂資料庫的username
和password
T 型入口網站上,而prefix
是空的。 - 在 RPM 入口網站中,這個入口網站採用的 RPM 版本減少了
與 tar 版本相比的 Drupal 模組。遷移至 RPM 入口網站後,
必須檢查是否有任何缺少的模組,並視需要安裝。
- 安裝用來偵測缺少模組的 Drupal
missing_module
:cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_module
drush en missing_module
- 以管理員身分登入 RPM 入口網站。
- 選取「報表」>Drupal 選單中的狀態報告,並尋找 缺少任何模組。
- 請使用這份報表安裝任何缺少的模組,或使用下列指令:
cd /opt/apigee/apigee-drupal/wwwroot
drush dl <moduleA> <moduleB> ...
drush en <moduleA> <moduleB> ...
- 啟用所有模組後,請確認檔案的擁有者是 Apigee 使用者:
chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
如要進一步瞭解檔案權限,請參閱 https://www.drupal.org/node/244924.
- 安裝用來偵測缺少模組的 Drupal
- 在 RPM 入口網站中,在瀏覽器中執行 update.php 以移除所有錯誤
缺少的模組:
- 以管理員身分登入 RPM 入口網站。
- 透過瀏覽器前往以下網址:
http://portal_IP_or_DNS:8079/update.php
其中 portal_IP_or_DNS 是採用 RPM 的 IP 位址或網域名稱 入口網站。
- 按照畫面上的提示操作。
- 更新 DNS 項目,指向新的 RPM 入口網站。
請注意,以 RPM 為基礎的入口網站預設會使用通訊埠 8079,而 tar 型則是 版本則使用通訊埠 80。請確認你在 DNS 項目中使用正確的通訊埠號碼。詳情請見 設定入口網站使用的 HTTP 通訊埠以瞭解 使用不同的通訊埠
轉換已完成。