以下、クリーンな状態の 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環境が整います。