タスク管理用にRedmineをWindows(WSL2)に導入

ソフトウェア

Windows 11を使ってオープンソースのタスク管理ツールであるRedmineを導入したいと考えた。しかし、RedmineをWindowsに直接インストールするのは手間がかかるため、Linuxにインストールする方が簡単であることが分かった。幸いなことに、WSL2でUbuntuを利用できる環境が整っていたため、そちらにインストールすることにした。

インストール方法を調べるのは面倒だったので、ChatGPTにインストール方法を教えてもらい、エラーが出るたびに解決方法を聞いて進めた。その結果、無事にインストールが完了した。ここでは、そのときの手順をまとめた。

Windows 11のWSL2上でUbuntuを使ってRedmineをインストールする方法を、成功した手順に基づいて整理した。以下の手順に従うとインストールできるはずである。シェルスクリプトはbashを使用しているため、その他の場合は適宜読み替えてほしい。

はじめに

今回の開発環境情報は以下の通りである。依存関係を考慮してなるべく最新のバージョンを使用するようにした方がよい。この後、具体的なインストール手順を詳細に説明する。

  • OS
    • Windows 11
    • Windows Subsystem for Linux (WSL2)
      • Ubuntu 20.04 LTS
  • Ruby
    • Ruby 2.7.6
  • Bundler
    • Bundler 2.4.22
  • データベース
    • MySQL 5.7
  • Redmine
    • Redmine 4.2.10

ステップ 1: 必要なパッケージのインストール

  • WSL2 Ubuntuを開く
  • システムパッケージのアップデート
sudo apt update
sudo apt upgrade -y

apt update: アップデート可能なパッケージのリストを更新する
apt upgrade: 現在のパッケージを利用してシステムをアップグレードする

  • 必要なパッケージをインストール
sudo apt install -y git curl gnupg2 build-essential \
libssl-dev libreadline-dev zlib1g-dev libmysqlclient-dev

上のコードは本来は一行だが、長いため「¥」または「\」の記号で改行している

ステップ 2: RbenvとRubyのインストール

  • rbenvとruby-buildをインストール
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc

Git経由でrbenvをダウンロードし、パスを通す

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc 
source ~/.bashrc

ruby-buildについても同様

  • Rubyのインストール
rbenv install 2.7.6
rbenv global 2.7.6

ステップ 3: BundlerとMySQLのセットアップ

  • Bundlerのインストール
gem install bundler -v 2.4.22
  • MySQLのインストールとパスワード設定
sudo apt install -y mysql-server
sudo systemctl status mysql
sudo systemctl start mysql
sudo systemctl enable mysql
sudo mysql_secure_installation
  • MySQLにrootユーザーでログイン(先ほど設定したパスワードでログイン)
sudo mysql -u root -p 
  • MySQLにRedmine用データベースとユーザーを作成
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
EXIT;

ユーザー名:redmine
パスワード:password
は自由に決めてよい

ステップ 4: Redmineのダウンロードと設定

  • Redmineのダウンロード
cd ~
git clone https://github.com/redmine/redmine.git
cd redmine
  • 必要なGemのインストール (今回はblankslate)
    redmine/ディレクトリ内のGemfileを編集して、以下の1行を追加して保存する。
gem 'blankslate'

Redmineの一部の機能でblankslateが必要で、これがないとエラーが出たため追加した

  • BundlerでGemをインストール
bundle install
  • Redmineの設定ファイルをexampleからコピーして作成
cp config/database.yml.example config/database.yml
  • Redmineの設定ファイルを編集
    config/database.ymlを開き、以下のコードを追加して保存する。
production: 
adapter: mysql2 
database: redmine 
host: localhost 
username: redmine 
password: "password" 
encoding: utf8mb4

ステップ3の最後に設定したユーザー名をusernameに、パスワードをpasswordに設定する

筆者はRubyに触ったことがないが。。
Gemとは、Rubyのライブラリであり、
GemfileはGemが記述されているファイル。(今回はここにblankslateを追加した)
また、BundlerはGemの依存関係やバージョン管理を行うためのもの。

ステップ 5: データベースのセットアップ

Redmineとを本番環境で稼働させるために、Rails (Ruby on Rails)のセットアップを行う。具体的には、データベースのマイグレーションによりデータベースを準備し、Redmineを日本語で利用可能にするための初期データのロードを行う。これにより、Redmineを適切に設定し、日本語環境で利用できるようにする。

  • シークレットトークンの生成
bundle exec rake generate_secret_token
  • データベースのマイグレーション
RAILS_ENV=production bundle exec rake db:migrate
  • 初期データのロード
RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data

ステップ 6: ThinサーバーでRedmineを起動

  • Thinサーバーを使用するためGemfileに追加
    適当なエディタで~/redmine/Gemfileを開いて、次の1行を追加する。
gem 'thin'
  • ThinサーバーでRedmineを起動
bundle exec rails server -u thin -e production
  • ブラウザでRedmineにアクセス
    適当なブラウザを開いて、http://localhost:3000にアクセスし、Redmineの初期設定を開始する。

さいごに

以上の手順に従えば、WSL2上のUbuntuでRedmineを正常にインストールし、起動できるはずである。もしもトラブルが発生した場合は、エラーメッセージをChatGPTなどの生成AIに送信すれば、修正方法を教えてくれるだろう。特に、依存関係によってRubyなどのバージョンを合わせる必要があるため、適切なバージョンを選んでインストールすることが重要である。この種の問題においても生成AIは非常に便利なため、利用しない手はない。

コメント

タイトルとURLをコピーしました