{"id":322,"date":"2015-09-12T02:43:19","date_gmt":"2015-09-12T02:43:19","guid":{"rendered":"http:\/\/onlinelab.info\/?p=322"},"modified":"2015-09-12T02:43:19","modified_gmt":"2015-09-12T02:43:19","slug":"huong-dan-cai-redmine","status":"publish","type":"post","link":"https:\/\/www.asianux.org.vn\/index.php\/2015\/09\/12\/huong-dan-cai-redmine\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn c\u00e0i Redmine"},"content":{"rendered":"<div id=\"hometext\">Redmine l\u00e0 ph\u1ea7n m\u1ec1m ngu\u1ed3n m\u1edf h\u1eefu \u00edch cho vi\u1ec7c qu\u1ea3n tr\u1ecb d\u1ef1 \u00e1n. Redmine c\u00f3 c\u00e1c ch\u1ee9c n\u0103ng: L\u1eadp k\u1ebf ho\u1ea1ch (schedule, estimated effort, assign) Nh\u1eadp actual effort, ti\u1ebfn \u0111\u1ed9 c\u00f4ng vi\u1ec7c T\u00f9y bi\u1ebfn m\u1ed9t s\u1ed1 c\u00e1c report \u0111\u1ec3 qu\u1ea3n l\u00fd v\u00e0 theo d\u00f5i ti\u1ebfn \u0111\u1ed9 c\u00f4ng vi\u1ec7c, t\u1ea1o c\u00e1c reminder \u0111\u1ec3 nh\u1eafc nh\u1edf m\u00ecnh. Trong b\u00e0i vi\u1ebft n\u00e0y t\u00f4i s\u1ebd h\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t Redmine tr\u00ean m\u00f4i tr\u01b0\u1eddng m\u00e1y ch\u1ee7 Ubuntu Server.<\/div>\n<p>&nbsp;<\/p>\n<div class=\"bodytext\">B\u01b0\u1edbc 1: C\u00e0i \u0111\u1eb7t c\u00e1c g\u00f3i ph\u1ea7n m\u1ec1m li\u00ean quan<br \/>\n&#8211; C\u00e0i \u0111\u1eb7t MySQL:<\/p>\n<div>\n<pre>apt-get install mysql-server<\/pre>\n<\/div>\n<p>&#8211; C\u00e0i \u0111\u1eb7t Redmine<\/p>\n<div>apt-get install redmine<\/div>\n<p>&#8211; C\u00e0i \u0111\u1eb7t g\u00f3i h\u1ed7 tr\u1ee3:<\/p>\n<div>\n<pre>apt-get install libapache2-mod-passenger<\/pre>\n<\/div>\n<p>B\u01b0\u1edbc 2: C\u1ea5u h\u00ecnh webserver<\/p>\n<div>\n<pre>ln -s \/usr\/share\/redmine\/public \/var\/www\/redmine<\/pre>\n<pre><\/pre>\n<pre>chown -R www-data:www-data \/var\/www\/redmine<\/pre>\n<pre>echo \"RailsBaseURI \/redmine\" &gt; \/etc\/apache2\/sites-available\/redmine<\/pre>\n<pre>a2ensite redmine<\/pre>\n<pre>\/etc\/init.d\/apache2 reload<\/pre>\n<pre>\/etc\/init.d\/apache2 restart<\/pre>\n<\/div>\n<p>B\u01b0\u1edbc 4: C\u1ea5u h\u00ecnh th\u00eam module cho Apache<\/p>\n<div>\n<pre>vim \/etc\/apache2\/mods-available\/passenger.conf<\/pre>\n<\/div>\n<p>Thay \u0111\u1ed5i n\u1ed9i dung nh\u01b0 sau:<\/p>\n<div>\n<pre>&lt;IfModule mod_passenger.c&gt;<\/pre>\n<pre>\u00a0 PassengerRoot \/usr<\/pre>\n<pre>\u00a0 PassengerRuby \/usr\/bin\/ruby<\/pre>\n<pre>\u00a0 PassengerDefaultUser www-data<\/pre>\n<pre>&lt;\/IfModule&gt;<\/pre>\n<\/div>\n<p>T\u1ea1o link<\/p>\n<div>\n<pre>ln -s \/var\/cache\/redmine\/default\/plugin_assets \/usr\/share\/redmine\/public\/<\/pre>\n<\/div>\n<p>T\u1ea1o file c\u1ea5u h\u00ecnh c\u01a1 s\u1edf d\u1eef li\u1ec7u:<\/p>\n<blockquote><p>production:<br \/>\nadapter: mysql<br \/>\ndatabase: redmine<br \/>\nhost: localhost<br \/>\nusername: root<br \/>\npassword: admin123<br \/>\nencoding: utf8<\/p><\/blockquote>\n<p>B\u01b0\u1edbc 5: Th\u1ef1c hi\u1ec7n c\u00e1c l\u1ec7nh sau:<\/p>\n<blockquote><p>$ rake generate_session_store<br \/>\n$ RAILS_ENV=production rake db:migrate<br \/>\n$ RAILS_ENV=production rake redmine:load_default_data<\/p><\/blockquote>\n<p>B\u01b0\u1edbc 6: Ch\u1ea1y l\u1ec7nh sau:<\/p>\n<blockquote><p>$ ruby script\/server webrick -e production<\/p><\/blockquote>\n<p>Ch\u00fac m\u1eebng b\u1ea1n \u0111\u00e3 c\u00e0i \u0111\u1eb7t th\u00e0nh c\u00f4ng!<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Redmine l\u00e0 ph\u1ea7n m\u1ec1m ngu\u1ed3n m\u1edf h\u1eefu \u00edch cho vi\u1ec7c qu\u1ea3n tr\u1ecb d\u1ef1 \u00e1n. Redmine c\u00f3 c\u00e1c ch\u1ee9c n\u0103ng: L\u1eadp k\u1ebf ho\u1ea1ch (schedule, estimated effort, assign) Nh\u1eadp actual effort, ti\u1ebfn \u0111\u1ed9 c\u00f4ng vi\u1ec7c T\u00f9y bi\u1ebfn&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-322","post","type-post","status-publish","format-standard","hentry","category-solution"],"_links":{"self":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/posts\/322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/comments?post=322"}],"version-history":[{"count":0,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/posts\/322\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/media?parent=322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/categories?post=322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/tags?post=322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}