Redmine là một công cụ quản lý vấn đề (issue) dựa trên nền tảng web, có thể áp dụng thực hiện các chức năng quản lý các loại vấn đề: nhiệm vụ, lỗi, yêu cầu hỗ trợ, … của dự án một cách cơ bản. Redmine có ưu thế trong quản lý dự án là đáp ứng sẵn sàng những nội dung được quan tâm cho các vai trò từ quản lý dự án tới các thành viên trong dự án và các cá nhân/nhóm/bộ phận liên quan khác.
DirectAdmin là một công cụ quản trị hosting, trực quan, dễ sử dụng,
Redmine là một công cụ để quản lý dự án, được viết bằng ngôn ngữ Ruby on Rails. Redmine là một ứng dụng open source nên nó miễn phí và được cung cấp bởi GNU General Public License v2 (GPL). Một số tính năng của redmine:
- Hỗ trợ nhiều project
- Quản lý kết nối
- Hệ thống theo dõi tiến độ công việc
- Quản lý tin tức, tài liệu
- Hệ thống cảnh báo qua email
- Hỗ trợ xác thực bằng Ldap
- Hỗ trợ đa ngôn ngữ
- Hỗ trợ nhiều database
Thực Hiện
Bước 1: Cài đặt các gói cần thiết
- yum install gcc-c++ patch readline readline-devel zlib zlib-devel ImageMagick ImageMagick-devel
- yum install libyaml-devel libffi-devel openssl-devel make
- yum install bzip2 autoconf automake libtool bison iconv-devel
Bước 2: Cài đặt Ruby on Rails
- Cài đặt gnupg keyserver
- gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
Trong trường hợp lệnh trên không thực hiện được, có thể thay thế bằng lệnh sau:
- command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -"
Tiến hành cài đặt rvm hay còn gọi là Ruby version manager, với phần mềm này, ta có thể dễ dàng cài đặt và thay đổi các version của ruby được cài trên hệ thống, mà không cần thao tác phức tạp.
Thực hiện câu lệnh sau để cài đặt
- curl -L https://get.rvm.io | bash -s stable --ruby
Mặc định hệ thống sẽ cài đặt phiên bản Ruby mới nhất.
Sau khi cài đặt xong, ta sẽ cần thiết lập môi trường cho Ruby, bằng cách sử dụng lệnh sau:
- source /etc/profile.d/rvm.sh
Redmine phiên bản mới nhất (3.3) được hỗ trợ tốt nhất bởi Ruby 2.3 vì vậy, ta sẽ tiến hành chuyển phiên bản Ruby được cài đặt trên hệ thống sang phiên bản cần thiết.
Cài đặt Ruby 2.3.1
- rvm install 2.3.1
Chuyển phiên bản mặc định của hệ thống sang Ruby 2.3.1
- rvm use 2.3.1 --default
Kiểm tra lại thông tin
- ruby --version
Bạn sẽ thấy thông tin như sau
- [root@cloud9591 ~]# ruby --version
- ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
Tiến hành cài đặt Rails 4.2.3 bằng lệnh sau :
- gem install rails -v 4.2.3
Trong trường hợp quá trình cài đặt thành công, hệ thống sẽ trả lại thông số trên màn hình tương tự như sau ( có thể sai khác số gems được cài đặt)
- Done installing documentation for thread_safe, tzinfo, concurrent-ruby, i18n, activesupport, rails-deprecated_sanitizer, mini_portile2, nokogiri, rails-dom-testing, crass, loofah, rails-html-sanitizer, erubis, builder, actionview, rack, rack-test, actionpack, sprockets, sprockets-rails, bundler, thor, railties, globalid, activejob, mini_mime, mail, actionmailer, arel, activemodel, activerecord, rails after 413 seconds
- 32 gems installed
Kiểm tra lại thông tin
- [root@cloud9591 ~]# rails --version
- Rails 4.2.3
Cài đặt bundler bằng lệnh sau :
- gem install bundler
Cài đặt passengerpassenger bằng lệnh sau :
- gem install passenger
Cài đặt Apache passenger modude
- passenger-install-apache2-module
Có thể sử dụng các thiết đặt mặc định của module (Enter 2 lần khi được hỏi thông số cài đặt)
Khi module được cài đặt xong, hệ thống sẽ tự động tạo ra đường dẫn tới thư viện của Passenger, bạn cần lưu các thông tin này để thêm vào file cấu hình httpd.conf sau này. Tại đây thông số được tạo ra là:
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.3.1/gems/passenger-5.1.2/buildout/apache2/mod_passenger.sobr IfModule mod_passenger.cbr PassengerRoot /usr/local/rvm/gems/ruby-2.3.1/gems/passenger-5.1.2br PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.3.1/wrappers/rubybr /IfModule
Bước 3: Cài đặt Redmine
Tạo database cho redmine:
- mysql -u root -p
- mysql CREATE DATABASE redmine;
- mysql GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'redmine';
- mysql FLUSH PRIVILEGES;
- mysql EXIT;
Cấu hình virtual host cho nginx:
Thêm dòng sau vào mục http của file /opt/nginx/conf/nginx.conf
- include vhost/*.conf;
Tạo thư mục vhost để cấu hình virtual host.
- mkdir -p /opt/nginx/conf/vhost
Trong thư mục vhost tạo file redmine.conf
- server { listen 80; server_name www.redmine-test.com;
- root /var/www/redmine/public; passenger_enabled on; client_max_body_size 50m; # Max attachemnt size
- # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
Tạo file script để bật tắt service nginx
- vim /lib/systemd/system/nginx.service
Thêm vào file đoạn code sau:
- [Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network.target remote-fs.target nss-lookup.target
- [Service] Type=forking PIDFile=/opt/nginx/logs/nginx.pid ExecStartPre=/opt/nginx/sbin/nginx -t ExecStart=/opt/nginx/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true
- [Install] WantedBy=multi-user.target
Khởi động nginx:
- systemctl daemon-reload
- systemctl start nginx
Cài đặt Redmine:
- cd /var/www/
- svn co https://svn.redmine.org/redmine/branches/3.4-stable redmine
- cp config/configuration.yml.example config/configuration.yml
- cp config/database.yml.example config/database.yml
Chỉnh sửa file database.yml
- vim /opt/nginx/config/database.yml
Chỉnh sửa lại file đoạn config sau:
- production:
- adapter: mysql2
- database: redmine
- host: localhost
- username: redmine
- password: "redmine"
- encoding: utf8
Tạo thư mục để cài đặt các plugin
- mkdir -p tmp tmp/pdf public/plugin_assets
- chown -R nobody:nobody files log tmp public/plugin_assets
- chmod -R 775 files log tmp public/plugin_assets
Cài đặt Bundle để quản lý gems:
- gem install bundler
- bundle install --without development test
- bundle exec rake generate_secret_token
Tạo cấu trúc databse cho redmine
- RAILS_ENV=production bundle exec rake db:migrate
- RAILS_ENV=production bundle exec rake redmine:load_default_data
Restart lại nginx
- systemctl restart nginx
Kết nối vào redmine qua trình duyệt web