【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
この記事が気に入ったらサポートをしてみませんか?