Cài đặt Redmine sử dụng web server Nginx trên Centos 7
Bài đăng này đã không được cập nhật trong 3 năm
Giới thiệu:
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
Cài đặt:
Đầ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 ...
All rights reserved