GIT – Redmine is a free and open source, web-based project management and bug-tracking tool. It includes a calendar and Gantt charts to aid visual representation of projects and their deadlines. It handles multiple projects. Redmine provides integrated project management features, issue tracking, and support for various version control systems.

Có thể dùng phần mềm nguồn mở Redmine để quản lý công việc.

Redmine có các chức năng:

  • Lập kế hoạch (schedule, estimated effort, assign)
  • Nhập actual effort, tiến độ công việc
  • Tùy biến một số các report để quản lý và theo dõi tiến độ công việc, tạo các reminder để nhắc nhở mình.

Bạn có thể tải mã nguồn của Redmine về từ địa chỉ của Ruby:

http://rubyforge.org/

Cài Redmine trên hệ điều hành Centos

  • Cài Ruby on Rails

yum ruby ruby-devel ruby-libs ruby-irb ruby-rdoc ruby-mysql

  • Tiếp theo là và cài ruby gems

wget http://rubyforge.org/frs/download.php/57643/rubygems-1.3.4.tgz

tar xvf rubygems-1.3.4.tgz

cd rubygems-1.3.4

ruby setup.rb

  • Cài rails

gem install rails -include-dependencies

  • Cài đặt Phusion Passenger

gem install passenger

  • Cần cài thêm một số công cụ cho Apache

yum -y install -devel apr-devel

  • Tiếp theo từ dòng lệnh chạy

passenger-install-apache2-module

  • Sau khi module cài đặt Apache2 thành công, chúng ta mở file cấu hình Apache và thêm 1 đoạn giống như dưới đây vào cuối file đó

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.2/ext/apache2/mod_passenger.so

PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.2

PassengerRuby /usr/local/bin/ruby

  • Khởi động lại Apache bằng lệnh

service httpd restart

  • Sau khi Apache khởi động xong thì để triển khai các ứng dụng Ruby on Rails trên Web thì chúng ta trỏ DocumentRoot vào thư mục public của các RoR project.

Cài Redmine lên subdomain http://a.xyz.com 

  • Đầu tiên tạo một thư mục projects trên server rồi download phiên bản mới nhất của Redmine về và giải nén vào thư mục projects đó.
  • Sau đó tạo một subdomain http://a.xyz.com  có DocumentRoot trở vào thư mục public trong projects. Như vậy khi chúng ta vào trang http://a.xyz.com  thì module Passenger sẽ được kích hoạt để chạy ứng dụng RoR.

Các bước cấu hình Redmine thì làm giống như trên trang hướng dẫn cài đặt.

Sử dụng gmail smtp để gửi mail trong Redmine

Trong quá trình sử dụng Redmine, bạn sẽ có lúc gặp trường hợp muốn gửi mail thông báo cho người dùng khi thông tin và tiến trình dự án được thay đổi. Trước hết cần download file smtp_tls.rb có đính kèm phía dưới, rồi cho vào thư mục lib. Tiếp theo là cấu hình ActionMailer trong file config/email.yml với các thông số phù hợp với SMTP của tài khoản Gmail gần giống dưới đây.

production:

  • delivery_method: :smtp
  • smtp_settings:
  • address: smtp.gmail.com
  • port: 587
  • domain: gmail.com
  • authentication: :login
  • user_name: info@expandrive.com
  • password: password

Tiếp theo thêm dòng khai báo sử dụng thư viện smtp vào file production.rb

require ’smtp_tls’

Bây giờ chúng ta có thể gửi mail bằng tài khoản Gmail qua Redmine.

Các lỗi thường gặp khi cài Redmine

/usr/local/apache/include/apr_file_info.h:200: error: ’apr_ino_t’ does not name a type …”

Lỗi này xuất hiện là do cài 2 thư viện apr trên server. Một cái cài mặc định và một cái cài Cpanel. Để khắc phục ta tạo một symbolic link như hướng dẫn dưới đây.

#ln -s /usr/local/apache/include/ /usr/include/apr-1

Vấn đề lỗi Internal error 500 khi xem Issue

Mới update Redmine của mình lên version 1.0, làm theo các bước upgrade thấy chạy rất mượt, nhưng hôm nay mới phát hiện ra một bug. Khi mở một issue có update thì luôn bị Internal error 500. Mình mở file log production.log trong thư mục log thì thấy ghi lỗi từ file _history.rhtml vì không xác định được biến issue. Ruby on Rails học chưa xong nên đành google thì mường tượng được nguyên nhân của lỗi này, có thể do mình cài Advance Roadmap nên plugin này tác động vào sự hiện thị của issue. Thấy mọi người chia sẻ sửa lỗi này bằng cách chỉnh sửa lại file _history.rhtml như sau

-    <%= render_notes(issue, journal, :reply_links => reply_links) unless journal.notes.blank? %>
+    <%= render_notes(@issue, journal, :reply_links => reply_links) unless journal.notes.blank? %>

Sau khi patch xong thấy Redmine lại chạy mượt

Print Friendly

Comments

comments

Bài viết liên quan