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à Nhân Hòa 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 :
- Chuẩn bị môi trường cài đặt
- Update hệ thống vào cài đặt các gói cần thiết
- Cấu hình gửi mail sử dụng postfix
- Cài đặt Apache
- Cài đặt MySQL
- Cài đặt Ruby
- Download và cấu hình Redmine
- Cấu hình Apache với Redmine
- Cấu hình firewall
- Đă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 root@10.10.10.193
Đặ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" inbox@mail.cloud365.vn
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: cloud365@gmail.com
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à Cloud365 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.
Leave a Reply