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