تثبيت واعداد برمجيات السجل، التحديث والترقية

From CoCCA Registry Services (NZ) Limited

Revision as of 21:05, 17 August 2016 by Cocca (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

كيفية أعداد وتثبيت برمجيات الكوكا


 كما ذكرنا سابقا تتميز برمجيات الكوكا بسهولة التثبيت والاعداد وسهولة الاستخدام وتوفير جميع المتطلبات الوظيفية لادارة السجل للنطاق العلوي للدول، 
 وبعدد قليل من الخطوات ستكون البرمجيات مثبته لديك وماعليك فعله فقط هو تحميل ملف اعداد البرمجيات وتنفيذه كما في الخطوات التالية، حيث تحتوي 
 حزمة التثبيت على كامل الحزم البرمجية التي تتطلبها برمجيات الكوكا وبالتالي لايوجد حاجه للوصول للانترنت.

خطوات تحميل وتثبيت برمجيات السجل:


    #cd /tmp
    #wget https://wiki.cocca.org.nz/mediawiki/images/d/d6/Cocca-8-linux-x64-installer.run
    #chmod +x CoCCA-8-linux-x64-installer.run
    #./CoCCA-8-linux-x64-installer.run

عند البدء بتنفيذ حزمة التثبيت ستقوم حزمة التثبيت باعداد البرمجيات كمايلي :


[Select a folder ] : /opt/cocca-8

   حيث ستقوم هنا باختيار المسار الذي سيتم فيه تثبيت برمجيات الكوكا،بشكل افتراضي سيكون /opt/cocca-8/, وسيحتوي هذا المسار قاعدةمعطيات    
  السجل وملفات التسجيل logfile وملفات التوصيف الخاصة ببرمجيات الكوكا.

[Install SRS as a service? : [Y/n]

   تقوم حزمة التثبيت بالتأكد فيما أن كنت ترغب بإضافه برمجيات الكوكا كخدمه يتم تشغيلها عند اعادة اقلاع نظام التشغيل ويكون اسم رماز 
  التشغيل coccaالذي يتم اضافته على المسار /etc/init.d.

Create your database 'postgres' user password PostgreSQL postgres user password

  حيث يطلب برمجيات التثبيت اختيار كلمة مرور خاصة بقاعدة معطيات السجل، ويقوم برمجيات السجل باعداد ملف التوصيف الخاص بمخدم resin.xml بنفس كلمة 
  مرور قاعدة المعطيات،تكون كلمة المرور مزيج بين احرف وارقام.  

Registry Host Name :[]

   وهو موقع الويب الذي يتم اختياره للوصول برمجيات السجل عبر الويب وفي اغلب الاحيان يكون بالشكل: registry.nic.tld ويقوم برمجيات التثبيت باضافته 
  إلى ملف التوصيف resin.xml ليقوم مخدم الويب باعادة واجهة برمجيات الكوكا في حال طلبه من قبل المستخدمين وفق البروتوكول https. 

IP [127.0.0.1] :
  وهو عنوان الانترنت الذي سيقوم مخدم الويب باستخدامه لاستقبال الاستقبال طلبات https ويكون هو نفس عنوان الانترنت الذي يتم حل الاسم registry.nic.tld 
  إليه ويتم اعداده بملف التوصيف resin.xml الخاص بمخدم الويب بشكل آلي من قبل برمجيات التثبيت.

CoCCA files directory: [/opt/cocca-8/production]

   وهو المسار الذي سيتم فيه حف ملفات تطبيق الويب WAR والتي يتم تحديثها من قبل الكوكا بشكل متتالي، وبشكل افتراصي يكون  
  المسار opt/cocca-8/production/.

:[]Username
  حيث يطلب منك اختيار اسم المستخدم الذي سيعتبر مدير النظام، وأيضا كلمه المرور الخاصة للدخول إلى النظام من خلال واجهة الويب بعد التثبيت.

 بعد الانتهاء من عملية التثبيت يمكنك الوصول والبدء بشكل مباشر باعداد برمجيات الكوكا من خلال استخدام متصفح الانترنت للوصول للعنوان 
 https://registry.nic.TLD ويجب أن تكون 
 متأكد من فتح المنفذ 443 على جدار الحماية في نظام التشغيل وجدار الحماية لمركز المعطيات.

ملفات الاعداد والتوصيف الاساسية لبرمجيات الكوكا


- قاعدة معطيات السجل وتسخدم قاعدة مع معطيات Postgresql :
  ستكون ملفات الاعداد الاساسية لقاعدة المعطيات Postgresql كما يلي:
   /opt/CoCCA-8/postgresql/data/postgresql.conf  ملف التوصيف الأساسي الخاص ببرمجيات postgresql
   /opt/CoCCA-8/postgresql/data/pg_hba.conf  ملف التوصيف الخاص بتحديد سماحيات الوصول والاتصال بقاعدة المعطيات.
  /opt/CoCCA-8/postgresql/postgresql.log ملف التسجيل حيث يتم تسجيل الاحداث الخاصه بقاعده المعطيات.

- مخدم تطبيقات الويب resin :
 - /opt/CoCCA-8/resin/conf/resin.xml وهو ملف التوصيف الأساسي الخاص ببرمجيات resin.
 -   /opt/CoCCA-8/log/otestdout.log  ملف التسجيل لتسجيل الأحداث الخاثة ببرمجيات الكوكا.
 -   /opt/CoCCA-8/production/ROOT.war  وهو ملف تطبيقات الويب الخاص بالكوكا ROOT.war .
 - https://registry.nic.TLD/login.jsp رابط الويب الخاص بالوصول لبرمجيات الويب.

- برمجيات Java :

 -  /opt/CoCCA-8/java/  مسار تثبيت برمجيات جافا التي يستخدمها برمجيات السجل الكوكا.

- مجلد مخزن الشهادات والمفاتيح في جافا Keystore Directory

 - /opt/CoCCA-8/keys تحتوي على ملفات مخازن المفاتيح والشهادات الخاصة بلغه جافا، وهي الشهادات التي يتطلبها مخدم الويب للعمل وفق برتوكول https والشهادات 
  التي يتطلبها اتصال بروتوكول EPP باستخدام بروتوكو TLS.

آلية تحديث ملفات تطبيقات الويب الخاصة بالكوكا

يتم تحديث برمجيات الكوكا باستمرار بما يحقق كفاءة وفعالية وأمن وظائف السجل، ولذلك يمكنك متابعه موقعنا لتحصل على أخر تحديث، ولمعرفه النسخه التي يعمل عليها برمجيات السجل الخاصة بك يمكنك من خلال واجهة الويب الخاصة بالكوكا، حيث أن اسفل الصفحه يهظر لك رقم النسخه والتحديث الذي تعمل عليه، وهو له الصيغه التالية : 8.1-YYYY.MM.DD

  File:cocca_footer.jpg

عملية التحديث لنسخه الكوكا سهل جداً ويت بخطوات بسيطه للغاية وتتضمن:


 1- وتعتبر الخطوة الأهم وهي أخذ نسخه إحتياطية من قاعده معطيات السجل من خلال واجهة السجل عبر الويب (يفضل أن يتم السجل في وضع الترقية outage 
  setting ثم أخذ النسخه الاحتياطيه)
 2- تحميل اخر تحديث لملف تطبيقات الويب الخاص بالكوكا من الرابط التالي: 
  CoCCA_SRS_Software_last_Patches_and_CoCCA_installer ويمكنك تحميل الملف في نظام التشغيل linux من خلال wget مثلا لتحميل النسخه 27-8-2015 
   نننفذ الامر التالي في shell :
    wget https://wiki.cocca.org.nz/mediawiki/images/f/f0/Nightly-20150827.war

 3- اعادة تسمية الملف الذي تم تحميله Nightly-20150827.war إلى ROOT.war من خلال الأمر: 
                                                 mv Nightly-20150827.war ROOT.war$     

 4- نقل الملف الجديد ROOT.war إلى المسار /opt/cocca-8/production/ مع حذف الملف القديم:
                                             /mv ROOT.war   opt/cocca-8/production$

 5- اعادة تشغيل مخدم الويب resin لتفعيل التحديث من خلال الأمر:
                          opt/cocca-8/ctlscript.sh restart/

الذهاب إلى موقع الويب الخاص بالسجل والتحقق من أن نسخه برمجيات السجل أصبحت متوافقه مع أخر تحديث.

ترقية برمجيات السجل الكوكا كاملة

يقصد بترقية برمجيات السجل الكوكا هي ترقية كامل مكونات البرمجيات ويتضمن ذلك ترقية برمجيات مخدم الويب resin لأحدث إصدار، وترقية قاعدة معطيات السجل postgresql، وترقيه برمجيات الجافا، فبالإضافه لتحديث ملف تطبيقات الويب الخاص ببرمجيات السجل الكوكا يجب أن نقوم بتحديث مكونات برمجيات السجل للحصول على الأداء والأمن الأفضل للسجل، وتقوم الكوكا دوما بتحديث حزمة تثبيت البرمجيات لتضمين أخر تحديث لهذه البرمجياتز


فحزمة التثبيت الأخيرة تتضن مخدم الويب resin 4.0.42 وحزمة برمجيات جافا JAVA 1.8 وقاعدة معطيات postgresql 9.4.2، وبالتالي يمكننا ترقيه البرمجيات الخاصة بنا بسهولة من خلال حزمة تثبيت الكوكا، ولكن يجب الانتباه إلى ضروةر عمل نسخه احتياطيه من قاعدة معطيات السجل قبل البدء بالترقية والعمل على استعادتها بعد الانتهاء من اعداد النسخه الاحدث من برمجيات الكوكا. مع ملاحه أنه يمكن الترقية لبرمجيات السجل بترقية كل مكون لوحده وبشكل يدوي من خلال تحميل واعداد البرمجيات من الرماز المصدر source code.


ترقية برمجيات السجل من خلال حزمة تثبيت برمجيات الكوكا

كما ذكرنا سابقاً فإن أهم مكون في عملية الترقيه هي قاعده معطيات السجل والتي تحوي معلومات عن النطاقات المسجله ومعلومات الزبان وغيرها من البيانات المهمه، لذلك سيكون المهم هو التركيز على هذا الجزء.


  1 - الخطوة الأول وتتضمن النسخ الاحتياطي لجميع قواعد المعطيات في النسخه الحالية من برمجيات قاعدة المعطيات postgresql.
                                                            cd /opt/cocca-8/postgresql/bin$
     PGPASSWORD='YOUR_POSTGRES_PASSWORD' ./pg_dumpall -U postgres  > /opt/db.registry.psql$

  2 - الخطوة التالية هي ايقاف عمل برمجيات قاعدة المعطيات
                                                                   /etc/init.d/cocca stop/$

  3 - نسخ الملفات الهامه الهامه ببرمجيات قاعدة المعطيات postgresql وبرمجيات السجل بشكل عام من خلال اعادة تسميه المجلد الأساسي
                                   mv /opt/cocca-8 /opt/cocca-8.old ,mv /etc/init.d/cocca$

  4 - تحميل وتشغيل مثبت برمجيات السجل الكوكا:
     wget https://wiki.cocca.org.nz/mediawiki/images/d/d6/Cocca-8-linux-x64-installer.run$
                                                         chmod +x Cocca-x64-installer.run$

  5- إيقاف برمجيات السجل الجديدة للبدء باستعادة قاعدة المعطيات:
                                                                    etc/init.d/cocca stop$

  6- استعادة الملفات الهامه التي تم اعدادها سابقا  pg_hba.conf وpostgresql.conf , resin.xml, Keys.

              mv /opt/cocca-8/postgresql/data/pg_hba.conf /opt/cocca-8/postgresql/data/pg_hba.conf.orgi $
                cp /opt/cocca-8.old/postgresql/data/pg_hba.conf /opt/cocca-8/postgresql/data/pg_hba.conf$
       mv /opt/cocca-8/postgresql/data/postgresql.conf /opt/cocca-8/postgresql/data/postgresql.conf.orgi$
        cp /opt/cocca-8.old/postgresql/data/postgresql.conf /opt/cocca-8/postgresql/data/postgresql.conf$
                             mv /opt/cocca-8/resin/conf/resin.xml /opt/cocca-8/resin/conf/resin.xml.orgi$
                              cp /opt/cocca-8.old/resin/conf/resin.xml /opt/cocca-8/resin/conf/resin.xml$
                                                              mv /opt/cocca-8/keys /opt/cocca-8/keys.old$
                                                               cp -r /opt/cocca-8.old/keys /opt/cocca-8/$
                                                 chown -R postgres:postgres /opt/cocca-8/postgresql/data$

  7- تشغيل برمجيات قاعدة المعطيات المحدثة postgresql:     
                                                           opt/cocca-8/postgresql/scripts/ctl.sh start/$

  8- اخيرا البدء باستعادة قاعدة المعطيات وفق الخطوات التالية

الدخول إلى قاعدة المعطيات باستخدام الأمر:

       opt/cocca-8/postgresql/bin/psql -U postgres/$

بعد الدخول إلى قاعدة المعطيات نقوم بحذف قاعدة المعطيات الجديدة التي قام مثبت برمجيات الكوكا باعدادها موخرا

          DROP database registry

انشاء قاعده معطيات فارغه ليتم استعادة ملف SQL إليها

         CREATE database registry

الخروج من قاعده المعطيات

         q/

من موجه الأوامر البدء باستعادة قاعدة المعطيات :

      opt/cocca-8/postgresql/bin/psql -U postgres  -f  /PATH to/db.registry.psql/

في الخطوة الأخيرة وهي عملية استرداد البيانات سيستغرق ذلك وقتاً وفقا لحجم قاعدة المعطيات ولكفاءة المخدم من ناحيه العتاد. وبعد الانتهاء من عملية استعادة قاعدة المعطيات نقوم باعادة تشغيل برمجيات الكوكا. /etc/init.d/cocca restart


ترقية برمجيات السجل الكوكا من خلال ترقية مكوناتها بشكل منفصل

ستعتمد في هذه الطريقة على ترقية مكونات برمجيات السجل بشكل منفصل، حيث سيتم ترقية مخدم الويب resin ثم برمجيات قاعده المعطيات ومن ثم ترقية جافا JAVA.


ترقية قاعدة المعطيات يدويا


سنقوم كمثال بترقية postgresql من النسخه 9.3.2 إلى النسخه 9.4.2 وفق الخطوات التالية:

  1 - في البداية يجب أن نقوم بعملية النسخ الاحتياطي لقاعدة المعطيات.
                                                        cd /opt/cocca-8/postgresql/bin$
       PGPASSWORD='YOUR_POSTGRES_PASSWORD' ./pg_dumpall -U postgres  >db.registry.psql$

  2 -  ايقاف عمل النسخه  postgresql 9.3 
                                          opt/cocca-8/postgresql/scripts/ctl.sh stop/$

  3 - اعادة تسمية مجلد قاعده المعطيات لتجنب أن يكتب عليه مثبت برمجيات الكوكا.
                                  opt/cocca-8/postgresql /opt/cocca-8/postgresql.old/$

  4 - البدء بخطوات اعداد النسخة الجديدة من قاعده المعطيات postgresql:
       yum install gcc readline-devel zlib-devel$
                                                        mkdir /opt/cocca-8/postgresql$
                                                                     cd /opt/cocca-8 $
             wget http://ftp.postgresql.org/pub/source/v9.4.2/postgresql-9.4.2.tar.gz$
                                                     tar xvfz postgresql-9.4.2.tar.gz$
                                        configure  --prefix=/opt/cocca-8/postgresql/.$
                                                                                 make$
                                                                         make install$

  5 - انشاء قاعده معطيات لبرمجيات postgresql الجديدة
                                                           cd /opt/cocca-8/postgresql$
                                                                           mkdir data$
                                             chown -R postgres:postgres ../postgresql$
                                                                         ls -ld  data$
                                                                        su - postgres$
                  /opt/cocca-8/postgresql/bin/initdb -D /opt/cocca-8/postgresql/data/$

 6 - تشغيل النسخه الجديدة من قاعدة المعطيات Postgresql
                                                                           touch /opt/cocca-8/postgresql/postgresq.log $
      opt/cocca-8/postgresql/bin/pg_ctl -D /opt/cocca-8/postgresql/data/ -l /opt/cocca-8/postgresql/postgresq.log start$

الدخول الى قاعدة المعطيات:

                                                                           opt/cocca-8/postgresql/bin/psql -U postgres/$
                                                                            	

بعد الدخول نقوم بتغير كلمة المرور للمستخدم postgres

                                                                       '<ALTER USER postgres WITH PASSWORD '<newpassword

 7 - نقوم باستعادة ملفات التوصيف الخاثة بقاعدة المعطيات   pg_hba.conf و postgresql.conf    

ملاحه:

 يفضل تغيير القيم الافتراصية للمتحولات التالية shared_buffers, effective_cache_size, checkpoint_segments في ملف postgresql.conf

                                                                                 /opt/cocca-8/postgresql/data/pg_hba.conf/$

نقوم بتغيير الاسطر التالية :


      local   all             all                                     trust
      # IPv4 local connections:
      host    all             all             127.0.0.1/32            trust
      # IPv6 local connections:
      host    all             all             ::1/128                 trust

      It should be :

      local   all             all                                     md5
      # IPv4 local connections:
      host    all             all             127.0.0.1/32            md5
      # IPv6 local connections:
      host    all             all             ::1/128                 md5

 8- اخيرا نقوم باستعادة قاعدة معطيات السجل من خلال الأمر:
       opt/cocca-8/postgresql/bin/psql -U postgres/

بعد الدخول لقاعده المعطيات نقوم بانشاء قاعده المعطيات

       CREATE database registry

للخروج من قاعده المعطيات q\


البدء باستعادة قاعدة المعطيات

        /opt/cocca-8/postgresql/bin/psql -U postgres -f  /opt/db.registry.psql/

تحديث برمجيات الجافا إلى النسخه1.8

1- ايقاف مخدم resin

  opt/cocca-8/ctlscript.sh stop/
   cd /opt/cocca-8
   mv /opt/cocca-8/java /opt/cocca-8/java.old

2- تحميل نسخه جافا 1.8 من موقع أوراكل

   \wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F;
   oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz"
                                           tar xzf jdk-8u45-linux-x64.tar.gz$
                                                          mv jdk1.8.0_45 jav$
       alternatives --install /usr/bin/java java /opt/cocca-8/java/bin/java 2
                                                  alternatives --config java$
          alternatives --install /usr/bin/jar jar /opt/cocca-8/java/bin/jar 2
    alternatives --install /usr/bin/javac javac /opt/cocca-8/java/bin/javac 2
                            alternatives --set jar /opt/cocca-8/java/bin/jar$
                       alternatives --set javac /opt/cocca-8/java/bin/javac $
                                                               java -version$
 export JAVA_opt=/opt/cocca-8/java;export JRE_opt=/opt/cocca-8/java/jre;export PATH=$PATH:/opt/cocca-8/java/bin:/opt/cocca-8/jre/bin$

3- تشغيل مخدم resin

  opt/cocca-8/ctlscript.sh start/$

ملاحة:


في حال ترقيه برمجيات resin يجب الانتباه إلى نسخ JDBC driver إلى المجلد /opt/cocca-8/resin/lib/