見出し画像

【Mac】 Redmine をインストールする方法

Redmine をインストールする手順をまとめる。インストール環境は以下の通り。

OS: macOS Big Sur Ver.11.2.2
Redmine: Redmine Ver.4.1.1
Ruby: Ver.2.6.6 
MySQL
: Ver.8.0.23
Apache: Ver.2.4.46

Redmine は Ruby で作られたプロジェクトである。そのため使用する Ruby や Gem のバージョン依存が大きく、Mac 全体の Ruby や Gem をアップデートすることにより動かなくなる場合がある。これを回避するため、rbenv, bundler を利用するなど、プロジェクト単位で設定を行う。


前準備

Redmine 環境を構築するために、Ruby バージョン管理の rbenv をインストール。これでプロジェクトごとに Ruby バージョン指定する。

brew install rbenv

まずはインストール可能なバージョンをリストアップ。

rbenv install --list

リストの中にあるバージョンからRedmineが対応しているバージョンの中で最新のものを選択する。今回は 2.6.6。(Redmineプロジェクト直下のGemfileを確認すれば対応バージョンがわかるよ)

Ruby をインストールする。

rbenv install 2.6.6

このままだと ruby を実行した際、/usr/local/bin のものが使用されるため、rbenv の Ruby へのパスを通す。

vim ~/.bash_profile
export PATH="~/.rbenv/shims:$PATH"
eval "$(rbenv init -)"

.bash_profile の設定を反映する。

source ~/.bash_profile

ruby の場所が正しく反映されていればOK。

which ruby
/Users/username/.rbenv/shims/ruby


データベース構築

Redmine 用のデータベースをMySQLで構築する。まずは root で実行。

mysql -u root

mysql> で以下を実行。データベース redmine を作成し、ユーザを作成する。(username と my_password は各自設定)

CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'username'@'localhost';

データベースが作成できたか確認する。

show databases;

以下のように redmine が作成できていたらOK。

+--------------------+
| Database           |
+--------------------+
| information_schema |
| redmine            |
+--------------------+
2 rows in set (0.05 sec)


Redmine のダウンロード

Redmine のダウンロードサイトからプロジェクトを落としてインストールしたい場所(今回はホームディレクトリ)に解凍。もしくは以下のコマンドで svn からチェックアウト。

svn co https://svn.redmine.org/redmine/branches/4.1-stable redmine-4.1

Redmine プロジェクトに移動。ここからの作業は redmine-4.1以下で行う。

cd redmine-4.1


データベースに接続するための設定

config/database.example.yml をコピーして config/database.yml を作成する。そして config/database.yml を編集し、"production" 環境用のデータベースを設定する。

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


Ruby のバージョンの指定

プロジェクトで使用するRubyバージョンを指定する

rbenv local 2.6.6

rbenv local 2.6.6 によりredmine-4.1 直下に .ruby_version が作成される。これを参照して使用するバージョンが選択される。


Redmine の依存ライブラリをインストール

プロジェクトごとに使用するGemを管理するため bundler を使用する。

rbenv exec gem install bundler

Redmine の開発でも行わない限り development や test は不要なので除外する。また、インストール先のパスを vendor/bundle に指定する。この設定により、プロジェクト直下に .bundle/config が作成される。

bundle config without 'development test' --local
bundle config set path 'vendor/bundle' --local

--local をつけない場合、~/.bundle/config に設定が追加されてしまう。この場合、上記の設定がRedmineプロジェクトだけでなく他のプロジェクトにも反映されるので注意する。

設定ができたらRedmineに必要なGemをインストールする。redmine-4.1直下の Gemfile の設定に従いインストールされる。

bundle install


セッションストア秘密鍵の生成

bundle exec rake generate_secret_token


データベースのテーブルの作成

RAILS_ENV=production bundle exec rake db:migrate

これによりマイグレーションが一つずつ実行されてテーブルが作成され、さらに権限のデータ一式と管理者アカウント(admin)が作成される。


デフォルトデータの登録

実行後、使用言語を聞いてくるので、選択する。

RAILS_ENV=production bundle exec rake redmine:load_default_data


動作確認

Redmine 環境を構築できたか確認する。以下のコマンドを実行後、http://localhost:3000 にアクセスし、Redmine のログイン画面が表示されたらOK。実際の運用は Apache を使用する。

bundle exec rails server webrick -e production


Apache で立ち上げる

passenger をインストールする。

rbenv exec gem install passenger

Apache 用の passenger モジュールをインストールする。

rbenv exec passenger-install-apache2-module

コマンド実行後、LoadModule ... を Apache 用の設定ファイル .conf に記述しろと出るのでコピペする。

sudo vim /etc/apache2/other/passenger.conf

/etc/apache2/httpd.conf に直接書いても問題ないが、目的・プロジェクトごとに管理したいので、今回は passenger.conf を作成している。

同様に、Redmine 用の VirtualHost 設定を行う。今回はローカルで使うため、ホスト名は redmine.local とした。

sudo vim /etc/apache2/other/redmine.conf
<VirtualHost *:80>
   ServerName redmine.local
   DocumentRoot /Users/username/redmine/public/

   ErrorLog "/Users/username/redmine/log/error_log"
   CustomLog "/Users/username/redmine/log/access_log" common

   <Directory /Users/username/redmine/public/>
       Require all granted
       Options -MultiViews
       AllowOverride all
   </Directory>
</VirtualHost>

大元の httpd.conf 側で Directory が Require all denied にされているため、Require all granted でアクセスを許可している。この記述をしないと Forbidden と表示されてアクセスできないため。

redmine.local を hosts にローカルアドレスに関連づける。

sudo vim /etc/hosts
127.0.0.1--localhost redmine.local

Apache を起動する。

sudo apachectl start

redmine.local にアクセスし redmine のログイン画面が表示されたら成功。(初回アクセスは User: admin, Password: admin)


再度アクセスする時

Redmine にアクセスするときは MySQL と Apache の起動が必要

sudo mysql.server start
sudo apachectl start

この記事が気に入ったらサポートをしてみませんか?