نسخه 4.18.05 پورتال خدمات توسعه دهنده Apigee (یا به سادگی، پورتال ) به شما اجازه نمی دهد نسخه قبلی پورتال مبتنی بر tar را به روز کنید. شما فقط می توانید مستقیماً نسخه مبتنی بر RPM پورتال را به 4.18.05 به روز کنید.
با این حال، میتوانید یک نسخه مبتنی بر tar از پورتال را به یک نمونه مبتنی بر RPM 4.18.05 از پورتال تبدیل کنید. به عنوان بخشی از این فرآیند، MySQL/MariaDB پورتال موجود را به پایگاه داده Postgres منتقل میکنید. پس از تبدیل، پورتال شما به عنوان یک پورتال مبتنی بر RPM باقی می ماند.
شما می توانید بسیاری از نسخه های قبلی پورتال مبتنی بر tar را به یک پورتال مبتنی بر RPM منتقل کنید، از جمله نسخه های 4.16.09 و 4.17.01، نه فقط نسخه 4.17.05. تنها الزامات این است که پورتال دروپال 7 یا بالاتر را اجرا کند. برای بررسی نسخه دروپال خود، گزارش ها > گزارش های وضعیت را در منوی دروپال انتخاب کنید. نسخه دروپال در ردیف اول خروجی ظاهر می شود.
مراحل سطح بالایی که برای انتقال از یک پورتال مبتنی بر tar به یک پورتال مبتنی بر RPM استفاده می کنید عبارتند از:
- نسخه 4.18.05 پورتال مبتنی بر RPM را روی یک گره جدید نصب کنید.
- یک پایگاه داده Postgres جدید در پورتال مبتنی بر RPM ایجاد کنید.
- پایگاه داده پورتال را از پورتال مبتنی بر tar منتقل کنید.
- تمام فایل های جانبی را از پورتال مبتنی بر tar به پورتال مبتنی بر RPM کپی کنید.
- ورودی های DNS را برای اشاره به پورتال جدید مبتنی بر RPM به روز کنید.
توجه داشته باشید که نسخه مبتنی بر RPM پورتال به طور پیش فرض از پورت 8079 استفاده می کند، در حالی که نسخه مبتنی بر tar از پورت 80 استفاده می کند. مطمئن شوید که از شماره پورت صحیح در ورودی DNS خود استفاده می کنید. برای اطلاعات در مورد استفاده از یک پورت دیگر ، به تنظیم پورت HTTP استفاده شده توسط پورتال مراجعه کنید.
دایرکتوری نصب پیش فرض جدید پس از تبدیل
پس از به روز رسانی نصبی که اکنون از Nginx/Postgres استفاده می کند، دایرکتوری ریشه از:
/opt/apigee/apigee-drupal
به:
/opt/apigee/apigee-drupal/wwwroot
روش تبدیل پورتال
برای تبدیل پورتال به نصب مبتنی بر RPM:
- نسخه 4.18.05 مبتنی بر RPM پورتال را در گره ای متفاوت از پورتال مبتنی بر تار خود نصب کنید.
- در پورتال مبتنی بر 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 اشاره دارد، اضافه کنید. پیکربندی فعلی پایگاه داده «پیشفرض» نام دارد. همانطور که در مثال زیر نشان داده شده است، پیکربندی جدید خود را "سفارشی" نامگذاری کنید:$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
- راه اندازی مجدد آپاچی:
service httpd restart
- از Yum برای نصب درایور استفاده کنید:
- در پورتال مبتنی بر tar ، پایگاه داده پورتال را به پورتال مبتنی بر RPM منتقل کنید:
- به عنوان ادمین وارد پورتال شوید.
- 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
روی سرور مبتنی بر 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
از سرور مبتنی بر تار از حالت فشرده خارج کرده و از حالت تار خارج کنید: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 ، فقط اگر مسیر را به دایرکتوری ریشه وب در پورتال مبتنی بر 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 پورتال دارای ماژول های دروپال کمتری نسبت به نسخه مبتنی بر tar است. پس از مهاجرت به پورتال مبتنی بر RPM، باید ماژول های گم شده را بررسی کنید و در صورت لزوم آنها را نصب کنید.
- Drupal
missing_module
مورد استفاده برای شناسایی ماژول های از دست رفته را نصب کنید:cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_module
drush en missing_module
- به عنوان ادمین وارد پورتال مبتنی بر RPM شوید.
- گزارش ها > گزارش های وضعیت را در منوی دروپال انتخاب کنید و ماژول های گم شده را بررسی کنید.
- از آن گزارش برای نصب ماژول های گم شده استفاده کنید یا از دستورات زیر استفاده کنید:
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 است.
- دستورات صفحه را دنبال کنید.
- ورودی های DNS را به روز کنید تا به پورتال جدید مبتنی بر RPM خود اشاره کنید.
توجه داشته باشید که نسخه مبتنی بر RPM پورتال به طور پیش فرض از پورت 8079 استفاده می کند، در حالی که نسخه مبتنی بر tar از پورت 80 استفاده می کند. مطمئن شوید که از شماره پورت صحیح در ورودی DNS خود استفاده می کنید. برای اطلاعات در مورد استفاده از یک پورت دیگر ، به تنظیم پورت HTTP استفاده شده توسط پورتال مراجعه کنید.
تبدیل کامل شده است.