í dụ dưới đây dùng:
- Ubuntu 24.04
- MySQL 8
- Ruby 3.2
- Nginx
- Passenger
- Redmine 6
Tài liệu chính thức: Redmine Installation Guide
1. Cập nhật hệ thống
sudo apt update && sudo apt upgrade -y
2. Cài package cần thiết
sudo apt install -y \
build-essential \
zlib1g-dev \
libssl-dev \
libreadline-dev \
libyaml-dev \
libcurl4-openssl-dev \
libffi-dev \
libgdbm-dev \
libncurses5-dev \
libmariadb-dev \
imagemagick \
apache2-utils \
git \
curl \
gnupg2
3. Cài Ruby + Bundler
Ubuntu 24 đã có Ruby 3.2:
sudo apt install -y ruby-full
Kiểm tra:
ruby -v
Cài bundler:
sudo gem install bundler
Kiểm tra:
bundle -v
4. Cài MySQL
Cài:
sudo apt install -y mysql-server
Secure:
sudo mysql_secure_installation
5. Tạo database cho Redmine
Đăng nhập MySQL:
sudo mysql
Tạo DB:
CREATE DATABASE redmine CHARACTER SET utf8mb4;
Tạo user:
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'StrongPassword123!';
Cấp quyền:
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
EXIT;
6. Download Redmine
Trang chính thức:
Redmine Downloads
Ví dụ:
cd /var/www
sudo wget https://www.redmine.org/releases/redmine-6.0.3.tar.gz
sudo tar -xzf redmine-6.0.3.tar.gz
sudo mv redmine-6.0.3 redmine
7. Tạo user chạy Redmine
sudo adduser --system --group --home /var/www/redmine redmine
Set quyền:
sudo chown -R redmine:redmine /var/www/redmine
8. Cấu hình database.yml
Copy file mẫu:
cd /var/www/redmine/config
sudo cp database.yml.example database.yml
Edit:
sudo nano database.yml
Sửa phần production:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "StrongPassword123!"
encoding: utf8mb4
9. Install gem
Đăng nhập user redmine:
sudo su - redmine
Vào thư mục:
cd /var/www/redmine
Config bundle local:
bundle config set --local path 'vendor/bundle'
bundle config set --local without 'development test'
Install:
bundle install
10. Generate secret + migrate DB
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
Load default data:
RAILS_ENV=production bundle exec rake redmine:load_default_data
Chọn language:
en
11. Cài Nginx + Passenger
Cài:
sudo apt install -y nginx libnginx-mod-http-passenger
Neu loi cai theo cach nay
1. Xoá config Passenger cũ
sudo rm -f /etc/apt/sources.list.d/passenger.list
sudo rm -f /usr/share/keyrings/passenger.gpg
2. Cài package cần thiết
sudo apt update
sudo apt install -y \
curl \
gnupg2 \
ca-certificates \
apt-transport-https
3. Add GPG key mới
curl -fsSL https://oss-binaries.phusionpassenger.com/auto-software-signing-gpg-key-2025.txt \
| sudo gpg --dearmor -o /usr/share/keyrings/passenger.gpg
4. Add repo Ubuntu 24 (noble)
echo "deb [signed-by=/usr/share/keyrings/passenger.gpg] https://oss-binaries.phusionpassenger.com/apt/passenger noble main" \
| sudo tee /etc/apt/sources.list.d/passenger.list
5. Update package list
sudo apt update
6. Kiểm tra package Passenger
apt search passenger
Bạn phải thấy:
libnginx-mod-http-passenger
7. Cài Passenger
sudo apt install -y libnginx-mod-http-passenger
8. Restart nginx
sudo systemctl restart nginx
Kiểm tra passenger:
sudo nginx -V 2>&1 | grep passenger
12. Cấu hình Nginx
Tạo config:
sudo nano /etc/nginx/sites-available/redmine
Nội dung:
server {
listen 80;
server_name YOUR_DOMAIN_OR_IP;
root /var/www/redmine/public;
passenger_enabled on;
passenger_ruby /usr/bin/ruby;
client_max_body_size 20m;
location / {
try_files $uri/index.html $uri @app;
}
location @app {
passenger_enabled on;
}
}
Enable site:
sudo ln -s /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/
Disable default:
sudo rm /etc/nginx/sites-enabled/default
Test:
sudo nginx -t
Restart:
sudo systemctl restart nginx
13. Mở firewall
sudo ufw allow 80/tcp
Nếu HTTPS:
sudo ufw allow 443/tcp
14. Truy cập
Mở:
http://YOUR_SERVER_IP
Login mặc định:
admin
admin
15. Cài HTTPS bằng Let’s Encrypt
Cài certbot:
sudo apt install -y certbot python3-certbot-nginx
Chạy:
sudo certbot --nginx
16. Service cần kiểm tra
systemctl status nginx
systemctl status mysql
17. Log khi lỗi
Redmine:
tail -f /var/www/redmine/log/production.log
Nginx:
sudo tail -f /var/log/nginx/error.log
18. Backup MySQL
mysqldump -u redmine -p redmine > redmine.sql