Redmine – Hướng dẫn cài đặt Redmine trên CentOS 7

30/12/2020

Redmine là một ứng dụng nguồn mở sử dụng để quản lý dự án và kiểm soát các vấn đề liên quan.
Redmine gồm rất nhiều các tính năng linh hoạt giúp hỗ trợ người dùng làm việc việc nhóm hiệu quả, quản lý nhiều dự án tốt hơn

Để sở hữu hệ thống Redmine một cách nhanh các bạn có thể tham khảo sử dụng Template Redmine mà Onet cung cấp.

Trong bài viết này mình sẽ hướng dẫn cài đặt Redmine trên CentOS 7 bao gồm các thành phần sau:

  • Ruby 2.4
  • MySQL 5.7
  • Apache
  • Redmine v4.1.0
  • Postfix

Mục lục :

  1. Chuẩn bị môi trường cài đặt
  2. Update hệ thống vào cài đặt các gói cần thiết
  3. Cấu hình gửi mail sử dụng postfix
  4. Cài đặt Apache
  5. Cài đặt MySQL
  6. Cài đặt Ruby
  7. Download và cấu hình Redmine
  8. Cấu hình Apache với Redmine
  9. Cấu hình firewall
  10. Đăng nhập vào Redmine

Chuẩn bị môi trường cài đặt

Redmine không yêu cầu server có cấu hình quá cao. Ở trong môi trường LAB mình chỉ cần server có cấu hình như sau:

  • 1 CPU
  • 1 GB RAM
  • 15 GB Disk
  • OS CentOS 7 (x64)
  • IP Server thực hiện trong bài hướng dẫn: 10.10.10.193

Update hệ thống và cài đặt các gói cần thiết

Truy cập vào server

ssh [email protected]

Đặt hostname

hostnamectl set-hostname redmine exec bash hostname

Update hệ thống và cài đặt các gói cần thiết

yum update -y yum install epel-release -y yum -y install ImageMagick ImageMagick-devel git libxml2-devel libxslt-devel gcc bzip2 openssl-devel zlib-devel gdbm-devel ncurses-devel autoconf automake bison gcc-c++ libffi-devel libtool patch readline-devel sqlite-devel glibc-headers glibc-devel libyaml-devel libicu-devel libidn-devel ftp wget subversion make ipa-pgothic-fonts make

Cấu hình gửi mail sử dụng postfix

Chú ý: Cấu hình gửi mail sử dụng postfix thông thường sẽ không gửi được đến hệ thống email của google. Nếu bạn sử dụng email Google để nhận mail thì không cần thực hiện bước này. Mình sẽ nói rõ hơn phần này ở mục cài đặt Redmine.

Cấu hình gửi mail với postfix

yum -y install postfix cyrus-sasl-plain mailx   alternatives --set mta /usr/sbin/sendmail.postfix   systemctl restart postfix systemctl enable postfix

Sửa các cấu hình sau

vi /etc/postfix/main.cf
#Dòng 75 myhostname = redmine.local #Dòng 83 mydomain = redmine.local #Dòng 99 myorigin = $mydomain #Dòng 116 inet_interfaces = all #Dòng 164 mydestination = $myhostname, localhost, $mydomain #Dòng 264 mynetworks = 127.0.0.0/8, /32 #Dòng 419 home_mailbox = Maildir/
systemctl restart postfix

Kiểm tra lại

 echo "Test content" | mail -s "Test subject" [email protected] 

Cài đặt Apache

sudo yum -y install httpd httpd-devel libcurl-devel systemctl restart httpd systemctl enable httpd

Cài đặt MySQL

wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm sudo yum localinstall mysql57-community-release-el7-9.noarch.rpm sudo yum install mysql-community-server -y   sudo systemctl start mysqld.service 

Lấy password root tạm thời sau khi cài đặt

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

Sinh password mới

openssl rand -hex 16

Đổi mật khẩu tài khoản root mysql với password nhận được từ bước trên

mysql -u root -p mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '9c4b10b124d24379fe64a1bc38f47e8a'; mysql>FLUSH PRIVILEGES; mysql>q

Tạo User và Database cho redmine

mysql -u root -p mysql>CREATE USER 'redmine'@'localhost' identified by 'RedminePassword'; mysql>CREATE DATABASE redmine CHARACTER SET utf8; mysql>GRANT ALL PRIVILEGES ON redmine.* to 'redmine'@'localhost'; mysql>FLUSH PRIVILEGES; mysql>q

Cài đặt ruby

Trong bài viết này mình sẽ sử dụng Ruby 2.4. Ruby là ngôn ngữ lập trình, cũng giống như php hay java.

sudo yum install centos-release-scl -y sudo yum install rh-ruby24 -y scl enable rh-ruby24 bash ruby -v which ruby

Enable ruby mỗi khi login vào hệ thống

cat << EOF >> /etc/profile.d/rh-ruby24.sh #!/bin/bash source /opt/rh/rh-ruby24/enable export X_SCLS="`scl enable rh-ruby24 'echo $X_SCLS'`" EOF

Download và cấu hình Redmine

Download và giải nén Redmine v4.1.0

cd ~ wget http://www.redmine.org/releases/redmine-4.1.0.tar.gz tar -xzvf redmine-4.1.0.tar.gz mv redmine-4.1.0 /var/www/redmine

Cấu hình database cho Redmine

cd /var/www/redmine  cat << EOF >> ./config/database.yml production:   adapter: mysql2   database: redmine   host: localhost   username: redmine   password: RedminePassword   encoding: utf8 EOF

Cấu hình gửi mail cho Redmine

Nếu các bạn cấu hình gửi mail bằng Postfix thì các bạn sử dụng chạy câu lệnh sau:

cd /var/www/redmine  cat << EOF >> ./config/configuration.yml default:   email_delivery:     delivery_method: :smtp     smtp_settings:       address: "localhost"        port: 25       domain: "redmine.local"   rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf EOF

Nếu các bạn cấu hình gửi mail bằng cách sử dụng các tài khoản của hệ thống mail khác. (Trong ví dụ này mình sử dụng email google)

cat << EOF >> ./config/configuration.yml production:   email_delivery:     delivery_method: :smtp     smtp_settings:       address: smtp.gmail.com       port: 587       domain: redmine.local       authentication: :login       user_name: [email protected]       password: mypassword   rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf EOF

Cài đặt các thư viện cần thiết

yum install rh-ruby24-ruby-devel -y yum install mysql-devel -y gem install bundler -v 1.17.1

Khởi tạo cấu hình và đồng bộ database cho redmine

bundle install --without development test postgres sqlite bundle exec rake generate_secret_token bundle exec rake db:migrate RAILS_ENV=production

Cấu hình apache với Redmine

Để redmine có thể deploy lên apache, chúng ta cần sử dụng module passenger

Build module passenger

cd ~ gem install passenger passenger-install-apache2-module

Tại đây chúng ta lựa chọn như sau

  • Chọn 1 : The Apache 2 module will be installed for you
  • Sử dụng phím <space> để lựa chọn Ruby
  • Nhấn <Enter> để tiếp tục cài đặt

Đợi quá trình cài đặt hoàn tất

Nhấn <Enter> 2 lần để kết thúc build module

Khi build xong module passenger sẽ nằm tại đường dẫn /opt/rh/rh-ruby24/root/usr/local/share/gems/gems/passenger-6.0.4/buildout/apache2/mod_passenger.so

Tạo virtual host cho remine

cat << EOF >> /etc/httpd/conf.d/passenger.conf LoadModule passenger_module /opt/rh/rh-ruby24/root/usr/local/share/gems/gems/passenger-6.0.4/buildout/apache2/mod_passenger.so PassengerRoot /opt/rh/rh-ruby24/root/usr/local/share/gems/gems/passenger-6.0.4 PassengerDefaultRuby /opt/rh/rh-ruby24/root/usr/bin/ruby SetEnv LD_LIBRARY_PATH /opt/rh/rh-ruby24/root/usr/lib64 NameVirtualHost *:80 <VirtualHost *:80>     Servername 10.10.10.193     DocumentRoot /var/www/redmine/public </VirtualHost> EOF

Restart lại apache

chown -R apache. /var/www/redmine systemctl restart httpd systemctl enable httpd

Cấu hình firewall

Vì Redmine sử dụng Apache để deploy + với Postfix sử dụng để send mail nên mình sẽ allow port 80, 443, 25

firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --permanent --add-port=25/tcp sudo firewall-cmd --reload

Đăng nhập Redmine

Sử dụng Browser và truy cập vào địa chỉ http://<ip_server>

Username: admin
Password: admin

Ngoài ra để nhanh chóng và thuận tiện, các bạn có thể sử dụng template Redmine mà Onet cung cấp.

bài viết tiếp theo mình sẽ hướng dẫn các bạn sử dụng Redmine để quản lý dự án một cách cơ bản.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Nginx là gì ? Hướng dẫn Cài Đặt Và Cấu hình Nginx Cơ Bản

Nginx là một máy chủ proxy ngược mã nguồn mở (open source reverse proxy server) sử dụng phổ biến với...
24/12/2020

[KVM] Sử dụng virt-manager để quản lý VMs

Ở bài viết này mình sẽ chia sẻ cách sử dụng virt-manager – một công cụ quản trị VM đắc...
30/12/2020

CentOS Delete Users

Linux is, by default, designed in such a manner that it allows more than one user in a single system in a very secure manner....
29/12/2020
Bài Viết

Bài Viết Mới Cập Nhật

SỰ KHÁC BIỆT GIỮA RESIDENTIAL PROXY VÀ PROXY DATACENTER
17/02/2024

Mua Proxy v6 US Private chạy PRE, Face, Insta, Gmail
07/01/2024

Mua shadowsocks và hướng dẫn sữ dụng trên window
05/01/2024

Tại sao Proxy Socks lại được ưa chuộng hơn Proxy HTTP?
04/01/2024

Mua thuê proxy v4 nuôi zalo chất lượng cao, kinh nghiệm tránh quét tài khoản zalo
02/01/2024