12/08/2018, 16:10

Cài đặt Redmine sử dụng web server Nginx trên Centos 7

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 ...

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

Đầu tiên ta cần cài đặt các gói hỗ trợ:

# yum install zlib-devel patch curl-devel ImageMagick-devel openssl-devel httpd-devel libtool apr-devel apr-util-devel bzip2 mysql-devel ftp wget gcc-c++ autoconf readline readline-devel zlib libyaml-devel libffi-devel make automake bison iconv-devel subversion

Cài đặt Ruby từ rvm

# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
# curl -sSL https://get.rvm.io | bash -s stable --ruby
# source /usr/local/rvm/scripts/rvm

Kiểm tra phiên bản ruby

# ruby -v

Cài đặt mysql-server:

# rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
# yum repolist
# yum install mysql-server

Chạy mysql-server:

# systemctl start mysqld

Ở phiên bản mysql 5.7 này mặc định mật khẩu root sẽ được tạo ra và lưu trong file /var/log/mysqld.log. Ta chỉ cần grep file để lấy mật khẩu

# grep 'temporary password' /var/log/mysqld.log

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ài đặt Passenger:

# gem install passenger
# passenger-install-nginx-module

Cứ enter để cài đặt thôi.

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, vậy là ta đã có thể tạo tài khoản, project ...

0