هذه التدوينة هي لأجل كتابة الخطوات المطلوبة لجعل نظام 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
ملاحظة:
أرجوا ان لا تنسى أن تقوم بتغيير كلمة السر dbuserpassword الى شيء آخر.
الآن لنتأكد من عمل المستخدم على القاعدة:
$ mysql -u jirauser -p --database=jiradb
وبعدها:
mysql> show databases;
+------------------+-----------+
| user | host |
+------------------+-----------+
| jirauser | localhost |
+------------------+-----------+
1 rows in set (0.00 sec)
ممتاز، كل شيء تمام ويعمل بشكل صحيح … الآن لنقوم بتحميل المشغل MySQL JDBC من خلال الرابط التالي: أضغط هنا
بعد ذلك لنقوم بفك ملف الأرشيف ومن ثم نسخه الى المجلد المطلوب:
$ cp mysql-connector-java-5.1.10-bin.jar /PATH/2/JIRA/HOME/DIR/common/lib/
الآن نحتاج الى أن نخبر الخادم والذي هو Tomcat هنا لكي يعمل مع MySQL … نقوم بتحرير ملف conf/server.xml ونعمل التالي:
$ vim conf/server.xml
أسسفل هذه السطور:
Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false">
Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"
ستجد هذه السطور:
username="sa"
password=""
driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:${catalina.home}/database/jiradb"
minEvictableIdleTimeMillis="4000"
timeBetweenEvictionRunsMillis="5000"
أستبدلهم بهذه:
username="jirauser"
password="dbuserpassword"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/jiradb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"
maxActive="20"
validationQuery="select 1" />
والآن قم بتحرير الملف atlassian-jira/WEB-INF/classes/entityengine.xml وقم بعمل التالي:
$ vim atlassian-jira/WEB-INF/classes/entityengine.xml
أستبدل السطرين هذي:
datasource name="defaultDS" field-type-name="hsql"
schema-name="PUBLIC"
بهذا السطر فقط:
datasource name="defaultDS" field-type-name="mysql"
وكذلك تأكد من وجود هذه:
helper-class="org.ofbiz.core.entity.GenericHelperDAO"
check-on-start="true"
use-foreign-keys="false"
الآن لنقوم بتشغيل JIRA:
$ ./bin/startup.sh
وأذهب الى رابط الموقع الذي يعمل عليه JIRA وستجدها تسألك عن إدخال معلوماتك وكأنك تقوم بتنصيب JIRA أول مرة … قم بإختيار إستعمال XML قديم وهو الذي يحتوي على قاعدة بيانات موقعك القديم وما فيه من بطاقات وقم بعمل تحويل وأنتظر الى حين ينتهي التحويل … هذه أهم نقطة وكذلك لكي تكمل عملك بدون أن تقوم بإستعمال قاعدة جديدة ولا تحتوي على كل البطاقات التي تم فتحها والمشاريع التي تعملون عليها …