以下、クリーンな状態の Ubuntu 環境での Redmine+ MySQL+ nginx をまとめて最短で構築する手順をまとめました。


■構築環境: Ubuntu 24.04 LTS Redmine 5.1.1 Ruby 3.1.4 MySQL 8.0


Ubuntu初期設定(root or sudo可能ユーザーで実行)

sudo apt update
sudo apt upgrade -y
sudo apt install -y git build-essential libssl-dev libreadline-dev zlib1g-dev libmysqlclient-dev curl wget gnupg lsb-release ca-certificates apt-transport-https software-properties-common

nginx インストール

sudo apt install -y nginx
sudo systemctl enable --now nginx

MySQL 8.0 インストール(公式リポジトリ版)

sudo apt install -y mysql-server mysql-client
sudo systemctl enable --now mysql
sudo mysql_secure_installation

Ruby 3.1.4 (rbenv) インストール

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init - bash)"' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install 3.1.4
rbenv global 3.1.4
gem install bundler -v 2.3.26
rbenv rehash

Redmine ユーザー&本体インストール

sudo useradd -m redmine
sudo -u redmine -i
curl -O https://www.redmine.org/releases/redmine-5.1.1.tar.gz
tar xf redmine-5.1.1.tar.gz
mv redmine-5.1.1 redmine
cd ~/redmine
bundle config set --local path vendor/bundle
bundle install

MySQL DB設定(Redmine用)

sudo mysql -u root -p
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'examplepass';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Redmine DB設定ファイル作成

cd ~/redmine
cp config/database.yml.example config/database.yml

config/database.yml の編集 (productionのみ)

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: examplepass
  encoding: utf8mb4

Redmine DB初期化・マイグレーション

RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data

起動確認(Redmineサーバ)

RAILS_ENV=production bundle exec rails server -b 0.0.0.0 -p 3000
  • ブラウザで http://サーバのIP:3000 にアクセスして確認

nginxでRedmineへのリバースプロキシ設定(推奨)

sudo vi /etc/nginx/sites-available/redmine

server {
    listen 80;
    server_name redmine.example.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

シンボリックリンク作成&再起動:

sudo ln -s /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/redmine
sudo nginx -t
sudo systemctl reload nginx

最終確認

ブラウザで http://redmine.example.com(ドメインをDNS設定)またはIPでアクセス
Redmineが表示されればOK。


ここまでで、Redmine + nginx + MySQL環境が整います。