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は非常に便利なため、利用しない手はない。
コメント