Cách cài đặt và cấu hình Redmine trên CentOS

theanh

Administrator
Nhân viên
Redmine là một hệ thống quản lý dự án và theo dõi vấn đề miễn phí, mã nguồn mở, phổ biến. Nó hỗ trợ cơ sở dữ liệu PostgreSQL và MariaDB và được xây dựng trên nền tảng Ruby on Rails. Nó có hỗ trợ plugin của bên thứ ba tích hợp, cho phép bạn thiết lập nhiều dự án, wiki và diễn đàn. Nó cung cấp nhiều tính năng, bao gồm thông báo Email và Nguồn cấp dữ liệu, Hỗ trợ nhiều ngôn ngữ, Kiểm soát truy cập dựa trên vai trò, Quản lý tệp, v.v.

Hướng dẫn này sẽ giải thích cách cài đặt hệ thống quản lý dự án Redmine trên CentOS.

Điều kiện tiên quyết​

  • Máy chủ chạy CentOS 8.
  • Mật khẩu gốc được cấu hình trên máy chủ.

Cài đặt các phụ thuộc bắt buộc​

Trước khi bắt đầu, bạn sẽ cần cài đặt một số phụ thuộc trên máy chủ của mình. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
dnf group install "Development Tools"
dnf install zlib-devel curl-devel openssl-devel -y
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt và cấu hình cơ sở dữ liệu MariaDB​

Redmine sử dụng MariaDB làm cơ sở dữ liệu backend vì vậy bạn sẽ cần cài đặt máy chủ cơ sở dữ liệu MariaDB trong máy chủ của mình. Bạn có thể cài đặt nó bằng lệnh sau:
Mã:
dnf install mariadb-server mariadb-devel -y
Sau khi máy chủ MariaDB được cài đặt, hãy khởi động dịch vụ MariaDB và cho phép nó khởi động khi khởi động lại hệ thống:
Mã:
systemctl start mariadb
systemctl enable mariadb
Tiếp theo, hãy đăng nhập vào shell MariaDB bằng lệnh sau lệnh:
Mã:
mysql
Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng cho Redmine bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE DATABASE redmine CHARACTER SET utf8mb4;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'password';
Tiếp theo, xóa các đặc quyền và thoát khỏi MariaDB bằng lệnh sau lệnh:
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt Ruby và Passenger​

Tiếp theo, bạn sẽ cần cài đặt Ruby và Passenger vào hệ thống của mình.

Đầu tiên, hãy cài đặt và kích hoạt kho EPEL bằng lệnh sau lệnh:
Mã:
dnf install epel-release -y
dnf config-manager --enable epel -y
Tiếp theo, cài đặt Ruby và Passenger bằng lệnh sau:
Mã:
dnf install mod_passenger passenger passenger-devel ruby ruby-devel -y
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt Redmine​

Đầu tiên, bạn sẽ cần tạo một người dùng riêng cho Redmine. Bạn có thể tạo nó bằng lệnh sau:
Mã:
useradd -m -U -r -d /opt/redmine redmine
Tiếp theo, đăng nhập vào người dùng Redmine và tải xuống phiên bản Redmine mới nhất bằng lệnh sau:
Mã:
su - redmine
wget --no-check-certificate https://www.redmine.org/releases/redmine-4.2.1.zip
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau lệnh:
Mã:
unzip redmine-4.2.1.zip
Tiếp theo, đổi tên thư mục đã giải nén bằng lệnh sau:
Mã:
mv redmine-4.2.1 redmine
Tiếp theo, thay đổi thư mục thành redmine và sao chép cấu hình cơ sở dữ liệu mẫu tệp:
Mã:
cd redmine
cp config/database.yml.example config/database.yml
Tiếp theo, chỉnh sửa tệp cấu hình cơ sở dữ liệu và xác định cài đặt cơ sở dữ liệu của bạn:
Mã:
nano config/database.yml
Thay đổi các dòng sau cho phù hợp với cơ sở dữ liệu:
Mã:
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "password" encoding: utf8mb4
Lưu và đóng tệp sau đó cài đặt Bundler bằng lệnh sau:
Mã:
gem install bundler --no-rdoc --no-ri
Tiếp theo, cài đặt các phụ thuộc khác bằng lệnh sau lệnh:
Mã:
bundle install --without development test postgresql sqlite --path vendor/bundle
Tiếp theo, tạo một mã thông báo bí mật bằng lệnh sau:
Mã:
bundle exec rake generate_secret_token
Tiếp theo, tạo các đối tượng cơ sở dữ liệu cần thiết cho ứng dụng bằng cách sử dụng lệnh sau lệnh:
Mã:
RAILS_ENV=production bundle exec rake db:migrate
Cuối cùng, khởi động ứng dụng bằng lệnh sau:
Mã:
bundle exec rails server webrick -e production
Bạn sẽ thấy kết quả sau:
Mã:
/usr/bin/ruby: warning: shebang line ending with \r may cause problems
=> Booting WEBrick
=> Rails 5.2.5 application starting in production on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
[2021-06-24 00:40:15] INFO WEBrick 1.4.2
[2021-06-24 00:40:15] INFO ruby 2.5.5 (2019-03-15) [x86_64-linux]
[2021-06-24 00:40:15] INFO WEBrick::HTTPServer#start: pid=43076 port=3000
Nhấn CTRL + C để dừng ứng dụng.

Tiếp theo, thoát khỏi người dùng Redmine bằng lệnh sau:
Mã:
exit

Tạo tệp dịch vụ Systemd cho Redmine​

Tiếp theo, bạn sẽ cần tạo một tệp dịch vụ systemd để quản lý ứng dụng Redmine. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /usr/lib/systemd/system/redmine.service
Thêm các dòng sau:
Mã:
[Unit]
Description=Redmine server
After=syslog.target
After=network.target
[Service]
Type=simple
User=redmine
Group=redmine
ExecStart=/bin/ruby /opt/redmine/redmine/bin/rails server webrick -e production
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
[Install]
WantedBy=multi-user.target
Lưu và đóng tệp, sau đó tải lại daemon systemd bằng lệnh sau lệnh:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động dịch vụ Redmine và cho phép nó khởi động khi khởi động lại hệ thống:
Mã:
systemctl start redmine
systemctl enable redmine
Bây giờ, hãy kiểm tra trạng thái của Redmine bằng lệnh sau lệnh:
Mã:
systemctl status redmine
Bạn sẽ thấy đầu ra sau:
Mã:
? redmine.service - Redmine server Loaded: loaded (/usr/lib/systemd/system/redmine.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2021-06-24 04:26:51 EDT; 1min 37s ago Main PID: 44044 (ruby) Tasks: 3 (limit: 25014) Memory: 121.6M CGroup: /system.slice/redmine.service ??44044 /bin/ruby /opt/redmine/redmine/bin/rails server webrick -e production
Jun 24 04:26:51 centos8 systemd[1]: Started Redmine server.
Jun 24 04:26:52 centos8 ruby[44044]: /bin/ruby: warning: shebang line ending with \r may cause problems
Jun 24 04:26:56 centos8 ruby[44044]: [2021-06-24 04:26:56] INFO WEBrick 1.4.2
Jun 24 04:26:56 centos8 ruby[44044]: [2021-06-24 04:26:56] INFO ruby 2.5.5 (2019-03-15) [x86_64-linux]
Jun 24 04:26:56 centos8 ruby[44044]: [2021-06-24 04:26:56] INFO WEBrick::HTTPServer#start: pid=44044 port=3000
Lúc này, Redmine đã được khởi động và đang lắng nghe trên cổng 3000. Bạn có thể kiểm tra bằng lệnh sau lệnh:
Mã:
ss -antpl | grep 3000
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
LISTEN 0 128 0.0.0.0:3000 0.0.0.0:* users:(("ruby",pid=44044,fd=9))

Cấu hình Nginx làm Proxy ngược cho Redmine​

Tiếp theo, bạn sẽ cần cài đặt và cấu hình Nginx làm proxy ngược cho Redmine. Trước tiên, hãy cài đặt máy chủ Nginx bằng lệnh sau:
Mã:
dnf install nginx -y
Tiếp theo, hãy tạo tệp cấu hình máy chủ ảo Nginx bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/redmine.conf
Thêm nội dung sau dòng:
Mã:
upstream backend { server 127.0.0.1:3000;
}
server { listen 80; server_name redmine.example.com; access_log /var/log/nginx/redmine.example.com-access.log; error_log /var/log/nginx/redmine.example.com-error.log; location / { proxy_pass http://backend/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; }
}
Lưu và đóng tệp sau đó xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ nhận được thông báo sau đầu ra:
Mã:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Tiếp theo, khởi động dịch vụ Nginx và cho phép nó khởi động khi khởi động lại hệ thống:
Mã:
systemctl start nginx
systemctl enable nginx
Bạn cũng có thể kiểm tra trạng thái của Nginx bằng lệnh sau lệnh:
Mã:
systemctl status nginx
Bạn sẽ nhận được kết quả sau:
Mã:
? nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/nginx.service.d ??php-fpm.conf Active: active (running) since Thu 2021-06-24 04:33:48 EDT; 25s ago Process: 45832 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 45830 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 45828 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 45833 (nginx) Tasks: 3 (limit: 25014) Memory: 5.3M CGroup: /system.slice/nginx.service ??45833 nginx: master process /usr/sbin/nginx ??45834 nginx: worker process ??45835 nginx: worker process
Jun 24 04:33:48 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jun 24 04:33:48 centos8 nginx[45830]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jun 24 04:33:48 centos8 nginx[45830]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jun 24 04:33:48 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.

Truy cập Redmine​

Bây giờ, bạn có thể truy cập giao diện web Redmine bằng URL . Bạn sẽ thấy trang sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22258%22%3E%3C/svg%3E


Nhấp vào nút Đăng nhập. Bạn sẽ thấy trang đăng nhập Redmine:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22271%22%3E%3C/svg%3E


Cung cấp tên người dùng và mật khẩu mặc định là admin, sau đó nhấp vào nút Đăng nhập. Bạn sẽ được chuyển hướng đến màn hình thay đổi mật khẩu:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22295%22%3E%3C/svg%3E


Đặt mật khẩu quản trị mới và nhấp vào nút Lưu để lưu các thay đổi.

Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công Redmine trên CentOS 8 với Nginx. Bây giờ bạn có thể sử dụng Redmine trong tổ chức của mình và quản lý dự án từ vị trí trung tâm.
 
Back
Bên trên