نسخه 4.18.05 درگاه Apigee Developer Services (یا بهطور خلاصه، درگاه) به شما اجازه نمیدهد نسخه قبلی درگاه مبتنی بر tar را بهروز کنید. فقط میتوانید نسخه مبتنی بر RPM درگاه را مستقیماً به 4.18.05 بهروز کنید.
بااینحال، میتوانید نسخه مبتنی بر tar پورتال را به نمونه مبتنی بر RPM نسخه ۴.۱۸.۰۵ پورتال تبدیل کنید. بهعنوان بخشی از این فرایند، MySQL/MariaDB پورتال موجود را به پایگاه داده Postgres منتقل میکنید. پساز تبدیل، درگاه شما بهعنوان درگاه مبتنی بر «درآمد بهازای هر هزار بازدید» باقی میماند.
میتوانید بسیاری از نسخههای قبلی درگاه مبتنی بر tar را به درگاه مبتنی بر RPM منتقل کنید، ازجمله نسخههای ۴.۱۶.۰۹ و ۴.۱۷.۰۱، نه فقط نسخه ۴.۱۷.۰۵. تنها شرط این است که پرتال Drupal 7 یا بالاتر را اجرا کند. برای بررسی نسخه Drupal، در منو Drupal، گزارشها > گزارشهای وضعیت را انتخاب کنید. نسخه Drupal در ردیف اول خروجی نشان داده میشود.
مراحل سطح بالایی که برای انتقال از درگاه مبتنی بر tar به درگاه مبتنی بر RPM استفاده میکنید عبارتند از:
- نسخه RPM-based 4.18.05 درگاه را در گره جدیدی نصب کنید.
- پایگاه داده Postgres جدیدی در درگاه مبتنی بر RPM ایجاد کنید.
- پایگاه داده درگاه را از درگاه مبتنی بر tar انتقال دهید.
- همه فایلهای جانبی را از درگاه مبتنی بر tar به درگاه مبتنی بر RPM کپی کنید.
- ورودیهای ساناد را بهروز کنید تا به درگاه جدید مبتنی بر RPM اشاره کنند.
توجه داشته باشید که نسخه مبتنی بر RPM پورتال بهطور پیشفرض از درگاه ۸۰۷۹ استفاده میکند، درحالیکه نسخه مبتنی بر tar از درگاه ۸۰ استفاده میکند. مطمئن شوید از شماره درگاه صحیح در ورودی ساناد استفاده میکنید. برای کسب اطلاعات درباره استفاده از درگاه متفاوت، تنظیم درگاه HTTP مورداستفاده پورتال را ببینید.
دایرکتوری نصب پیشفرض جدید پساز تبدیل
پساز بهروزرسانی نصبی که اکنون از NGINX/Postgres استفاده میکند، دایرکتوری ریشه از:
/opt/apigee/apigee-drupal
به:
/opt/apigee/apigee-drupal/wwwroot
رویه تبدیل درگاه
برای تبدیل درگاه به نصب مبتنی بر RPM:
- نسخه 4.18.05 مبتنی بر RPM پورتال را در گرهای متفاوت از پورتال مبتنی بر tar خود نصب کنید.
- در درگاه مبتنی بر RPM، پایگاه داده Postgres جدیدی ایجاد کنید. بعداً، پایگاه داده را از درگاه مبتنی بر tar به این پایگاه داده جدید منتقل میکنید:
- به سیستم psql وارد شوید:
psql -h localhost -p 5432 -U apigee
گذرواژه Postgres خود را همانطور که با ویژگی PG_PWD در فایل پیکربندی پورتال تعریف شده است وارد کنید.
- ایجاد پایگاه داده 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
- بهعنوان سرپرست به سیستم درگاه وارد شوید.
- Modules (واحدها) را در منو Drupal انتخاب کنید.
- واحد DBTNG Migrator را فعال کنید.
- پیکربندی را ذخیره کنید.
-
- در درگاه مبتنی بر tar،
/var/www/html/sites/default/settings.phpرا ویرایش کنید تا پیکربندی پایگاه داده دومی را اضافه کنید که به پایگاه داده تازه ایجادشده در درگاه مبتنی بر RPM اشاره میکند. پیکربندی پایگاه داده فعلی «پیشفرض» نام دارد. نام پیکربندی جدیدتان را «custom» بگذارید، همانطور که در مثال زیر نشان داده شده است:$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 از درگاه ۵۴۳۲ برای اتصالات استفاده میکند. -
در درگاه مبتنی بر tar، درایور Postgres را نصب کنید:
- از Yum برای نصب درایور استفاده کنید:
yum install php-pdo_pgsql
/etc/php.iniرا ویرایش کنید تا خط زیر را در هرجایی از فایل اضافه کنید:extension=pgsql.so
- بازراهاندازی Apache:
service httpd restart
- از Yum برای نصب درایور استفاده کنید:
- در درگاه مبتنی بر tar، پایگاه داده درگاه را به درگاه مبتنی بر RPM منتقل کنید:
- بهعنوان سرپرست به سیستم درگاه وارد شوید.
- Structure->Migrator را در منو Drupal انتخاب کنید.
- پایگاه داده مبدأ خود را در درگاه مبتنی بر 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در سرور مبتنی بر RPM کپی کنید.- دایرکتوری سایتها را از حالت بستهای خارج کنید، اما فایلهای مهم را رونویسی نکنید.
- از فایل
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
- دایرکتوری
sitesرا از سرور مبتنی بر tar از حالت فشرده و tar خارج کنید: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/privatechown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
- از فایل
- در درگاه مبتنی بر tar، دایرکتوری
- در درگاه مبتنی بر tar، فقط اگر مسیر دایرکتوری ریشه وب را در درگاه مبتنی بر tar از مسیر پیشفرض /var/www/html تغییر دادهاید:
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همانطور که برای پایگاه داده سفارشی در درگاه مبتنی بر tar تعریف شدهاند، وprefixخالی است. - در درگاه مبتنی بر RPM، نسخه مبتنی بر RPM درگاه حاوی ماژولهای Drupal کمتری نسبت به نسخه مبتنی بر tar است. پساز انتقال به درگاه مبتنی بر RPM، باید وجود هرگونه ماژول مفقود را بررسی کنید و درصورت لزوم آنها را نصب کنید.
- Drupal
missing_moduleرا که برای شناسایی واحدهای مفقود استفاده میشود نصب کنید:cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_moduledrush 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 نشانی IP یا نام دامنه درگاه مبتنی بر RPM است.
- پیاموارههای روی صفحه را دنبال کنید.
- ورودیهای ساناد را بهروز کنید تا به درگاه جدید مبتنی بر RPM شما اشاره کنند.
توجه داشته باشید که نسخه مبتنی بر RPM پورتال بهطور پیشفرض از درگاه ۸۰۷۹ استفاده میکند، درحالیکه نسخه مبتنی بر tar از درگاه ۸۰ استفاده میکند. مطمئن شوید از شماره درگاه صحیح در ورودی ساناد استفاده میکنید. برای اطلاعات بیشتر درباره استفاده از درگاه متفاوت، تنظیم درگاه HTTP مورداستفاده پورتال را ببینید.
تبدیل کامل شد.