Migrate JIRA Standalone to work with MySQL on Linux

هذه التدوينة هي لأجل كتابة الخطوات المطلوبة لجعل نظام Ticketing المسمى Jira بالعمل مع قاعدة البيانات MySQL بدلا من العمل على HSQL … وهي تدوينة من بين عدة كتابات قمت بكتابتها باللغة الأنجليزية وحان وقت ترجمتها لمن قد يستفيد منها بدلاً من تركها هكذا في جهازي … طبعا في هذه التدوينة لن أتكلم عن طريقة التنصيب وإنما فقط عملية التحويل أو تركيب نظام MySQL على النظام … ولكن فقط خطوات التحويل … وأرجوا ان تقوم بعمل نسخ إحتياطي لقاعدة الموقع الحالية (XML Export) وذلك لأننا سنحتاجها في نهاية العمل …

الآن قم بعمل قاعدة بيانات لـ Jira وكذلك مستخدم للقاعدة … سوف أسمي القاعدة jiradb والمستخدم jirauser … قم بتغيير التسميات الى ما تشاء إن رغبت في ذلك … لعمل ذلك:

$ mysql --user=root -p

بعد ذلك لنعمل القاعدة:

mysql> create database jiradb character set utf8;
Query OK, 1 row affected (0.02 sec)

الآن لنعمل المستخدم ونعطيه الصلاحيات المطلوبة للعمل مع القاعدة:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on jiradb.* TO 'jirauser'@'localhost' IDENTIFIED BY 'mypassword';
Query OK, 0 rows affected (0.00 sec)

بغد ذلك أعمل التالي وأخرج من MySQL:

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit

Continue reading

HOWTO Configure JIRA Ticketing System to work behind a proxy and use SSL

السلام عليكم ورحمة الله وبركاته

قبل فترة في العمل أحتجت الى نقل الـ svn للشركة ونقل الكثير من الخدمات الأخرى الى خادم آخر جديد في مكان جديد … من بين تلك الخدمات التي أحتجت الى نقلها كان نظام الـ JIRA Ticketing System … المشكلة التي حصلت هي بإنه JIRA يستعمل Tomcat والخدمات الأخرى تم إعداداها على العمل مع Apache2 … هذه نقطة … والنقطة الأخرى والتي كانت أكبر مشكلة هي إنه مديري يريد خدمة إستضافة الموقع مع خدمة JIRA على نفس الـ IP وذلك لكي يستخدم SSL Certificate واحدة لهم … لانه الرخصة أشتريناها على IP واحد ولهذا وضعها على IP آخر لن يتعرف عليها المتصفحات وستعطي خلل … مشكلة أخرى تذكرتها وهي إن الخادم هذا يعمل خلف NAT من الخارج … وهذه بحد ذاتها مشكلة بالنسبة لخادم Tomcat الذي حين ستطلب رابطه من الخارج لن يعرف كيف يعمل الـ resolve بشكل صحيح مع الخدمة الداخلية …

على كل حال أحتجت الى عمل إعداد صحيح للمواقع وذلك بإستعمال Virtual Hosting … وبعد ذلك أستعملت mod_proxy ليكون الأباتشي هو البروكسي للـ JIRA … يعني يكون البوابة Apache2 ويكون النظام في الخلف هو JIRA فعلياً … وقمت بعمل إعداد للبروكسي لكي يستطيع التعامل مع الـ SSL وذلك لكي أستعمل الرخصة التي أشتريناها … على كل حال أترككم مع طريقة الإعداد والذي عملتها في ملف ممكن تحميله من هنا (أضغط) …

إن شاء الله تكون طريقة الإعداد محل فائدة لأحدكم …

حل مشكلة Missing Dependency التي تظهر مع rebuild-security-providers

السلام عليكم ورحمة الله وبركاته

بسبب كوني أستعمل Tomcat فإنني أحتاج الى الجافا والبلاوي الزرقة التي تأتي من الجافا هذي :)

قبل كم يوم كنت أقوم بتحديث الخادم وإذا بالرسالة الفضيعة تظهر لي:

Missing Dependency: /usr/bin/rebuild-security-providers is needed by package java-1.4

طبعاً السبب كله أكتشفت بإنه من الحزمة jpackage-utils … حيث ان الحزمة المتوفرة تتعارض مع الحزمة jpackage-utils الموجودة في المستودعات الرئيسية سواءاً كان الخادم Redhat أو CentOS لانها ظهرت عندي على كلاهما … والحل على أحد الخوادم كان عمل التالي:
Continue reading

Disabling SSLv2 & Weak CipherSuites Support in Apache Tomcat

السلام عليكم ورحمة الله وبركاته

نفس الخلل الذي ظهر عندي في خادم Apache من أجل فحص الحصول على PCI Compliance ظهر في خادم Tomcat وهو وجود Weak supported SSL ciphers suites … وبصراحة أنا ما لي خبرة في Tomcat ولهذا كان لازم أبدأ بالقراءة عنه وعن طريقة عمله وإعداداته … والحمد لله بعد القراءة عرفت أين ملفات الإعداد وكيف أقوم بحل المشكلة … الآن كل الذي عليك فعله هو التالي:

أذهب الى المجلد الخاص بملفات Tomcat (سيختلف من توزيعة لأخرى ومن تنصيب لآخر) ومن ثم قم بتحرير ملف الإعدادات الخاص بالخادم:
vim server.xml

وأبحث عن الـ SSL port connector أي الحقول الخاصة بموصل الـ SSL … مثال:
< Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="SSLv3" ciphers="EDH-RSA-DES-CBC3-SHA,DES-CBC3-SHA,DHE-RSA-AES128-SHA,AES128-SHA" keystorePass="KeyStorePassOfYours" keystoreFile="/path2ssl_keystore/ssl/example.com.pem.keystore"/>

قم بتغييرهم ليصبحوا هكذا:
Continue reading

Solution: CrossDomain.xml File Has Allow-all Policy

السلام عليكم ورحمة الله وبركاته

هذه مشكلة أخرى ظهرت لي أثناء الفحص للحصول على PCI Compliance وهي موجودة في خادم Tomcat … طبعاً هي ممكن تكون خلل في حالات وفي حالات أخرى لا … إن كانت تعرض بيانات للعامة أو غير موجودة خلف جدار ناري الشركة وغيرها … في هذه الحالات ممكن يكون Allow all غير ذلك لا … في حالتي الأمر لا يجب ان لا يتم ربطها إلا مع بيانات تأتي من دومين أو IP معيين … ولهذا الحل كان هكذا:

أفتح الملف:
vim crossdomain.xml

وبدل من كون الملف إعداداته هكذا (أنظر الصورة):

Continue reading