[Redmine: note] Redmine導入備忘録 #redmine #linux
Redmine は Ruby on Rails 製の OSS なバグトラッキング & プロジェクトのチケット管理システム。
$ cd redmine/tmp/
$ touch restart.txt
$ less ./redmine/log/production.log
$ bundle exec rake tmp:cache:clear
$ bundle exec rake tmp:sessions:clear
Redmine API - www.redmine.org
REST API - redmine.jp
curl + 4 通りの方法で Redmine の API 認証を通してみる
curl
などで GET /issues/[id].[format]
とかリクエスト
key
パラメータまたは X-Redmine-API-Key
ヘッダとして付与# key パラメータで送る例
$ curl https://$HOST/issues/12345.json?key=$KEY
# ヘッダで送る例
$ curl -H "X-Redmine-API-Key: $KEY" https://$HOST/issues/12345.json
redmine-slack プラグインもあるが、カスタマイズ性を考えると RSS を利用するのもよさそう。
テーマは redmine/public/themes
にぶち込んで管理画面より変更。
CSSの編集はテーマ側でやっちゃうのが無難か...
$ vim public/themes/themename/stylesheets/application.css
$ git commit -m "->DONE #999 @0.0h"
# 連携キーワード チケット番号 時間の順番
# gitbucket 側の webhook テスト失敗してても動きました
$ mkdir /var/www/.ssh
$ chown -R apache:apache /var/www/.ssh
$ sudo -u apache ssh-keygen -t rsa
$ cat /var/www/.ssh/id_rsa.pub
$ sudo -u apache touch /var/www/.ssh/config
$ sudo -u apache vi /var/www/.ssh/config
$ mkdir /var/www/html/redmine/git
$ chown -R apache:apache
$ cd redmine/git
$ sudo -u apache git clone --mirror ~.git
http://~/github_hook?project_id=p1
application/json
(3.)のAPIキー
pushのみ
/var/www/html/redmine/git/~.git
コマンドラインで bundle exec rake redmine:send_reminders
を実行することにより、各々のユーザーに対して期日間近および期日超過のチケットの一覧が送られます。
rake
コマンドパス通ってなくてはまったオプション | 説明 |
---|---|
days | 期限何日前から通知するか (デフォルト: 7) |
tracker | 通知対象トラッカーのid (デフォルト: すべてのトラッカー) |
project | 通知対象プロジェクトのidまたは識別子 (デフォルト: すべてのプロジェクト) |
users | 通知対象のユーザーまたはグループのid (デフォルト: すべてのユーザー)※コンマで区切って複数のidを指定できます |
version | 通知対象の対象バージョン (デフォルト: 指定なし) |
$ vim /etc/crontab
> 30 8 * * * root cd /path/to/redmine && /usr/local/bin/bundle exec /usr/local/bin/rake redmine:send_reminders RAILS_ENV=production
plugins/redmine_knowledgebase/app/views/articles/show.html.erb:17
にて削除リンクの confirm
を改修する必要がある各プラグインの GitHub いって README.md 見れば大体わかる。以下手順でインストール後にメニュー「管理」からプラグインが登録されていることを確認&設定ぽちぽち ... 。
$ cd /path/to/redmine
$ cd plugins
$ git clone https://github.com/hoge/redmine-fuga-plugin.git
$ cd ..
$ bundle install
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production
$ touch tmp/restart.txt
$ cd /path/to/redmine
$ bundle exec rake redmine:plugins:migrate NAME=redmine_plugin VERSION=0 RAILS_ENV=production
$ rm -rf plugins/redmine_plugin
$ touch tmp/restart.txt
redmine/plugins
に プラグインディレクトリを作って中に init.rb
とか置いておくと読み込まれてくれる。他のプラグイン参考に組み立てていけば OK 。$ bundle exec rake generate_secret_token
$ bundle exec rake db:migrate RAILS_ENV=production
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production
$ RAILS_ENV=production bundle exec rake db:migrate
$ RAILS_ENV=development bundle exec rake db:migrate
$ bundle exec rake tmp:cache:clear tmp:sessions:clear
$ chown -R apache:apache /var/www/html/redmine
$ chown -R apache:apache /usr/local/app/redmine-***
$ touch レッドマインDIR/tmp/restart.txt
$ service httpd restart
# Redhat / CentOS
$ yum install ipa-pgothic-fonts
$ yum install ipa-pmincho-fonts
$ cd /usr/share/fonts/ipa-pgothic # 存在確認
$ cd /path/to/redmine
$ vim config/configuration.yml
> # 日本語に対応したフォントのパスを指定。値は環境によって異なる。
> rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
# Amazon Linux
$ yum install ipa-gothic-fonts
$ yum install ipa-mincho-fonts
$ cd /usr/share/fonts/ipa-gothic # 存在確認
$ cd /path/to/redmine
$ vim config/configuration.yml
> # 日本語に対応したフォントのパスを指定。値は環境によって異なる。
> rmagick_font_path: /usr/share/fonts/ipa-gothic/ipag.ttf
画像のサムネイル表示に使うアプリケーション。
# 以下コマンドで導入後サーバ再起動
$ yum install ImageMagick
$ cd ~
$ yum install rpm-build wget ttmkfdir
$ rpm -ivh http://www.cabextract.org.uk/cabextract-1.4-1.i386.rpm
$ wget http://corefonts.sourceforge.net/msttcorefonts-2.5-1.spec
$ rpmbuild -bb msttcorefonts-2.5-1.spec
> ...
> Checking for unpackaged file(s): /usr/lib/rpm/check-files /usr/src/rpm/BUILDROOT/msttcorefonts-2.5-1.x86_64
> Wrote: /usr/src/rpm/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm
> ...
$ rpm -ivh /usr/src/rpm/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm
$ mkdir -p /usr/share/fonts/default/TrueType
$ cd /usr/share/fonts/default/TrueType
$ find /usr/share/fonts/msttcorefonts -exec ln -s {} \;
# 未検証
$ wget http://www.cabextract.org.uk/cabextract-1.4-1.src.rpm
$ rpmbuild --rebuild cabextract-1.4-1.src.rpm
$ rpm -ivh /usr/src/rpm/RPMS/x86_64/cabextract-1.4-1.x86_64.rpm
$ cd /path/to/redmine
$ vim Gemfile
> # rmagick をインストールするように変更
$ bundle install
$ sudo su
# 新規サーバにruby2.3.xやら何やら導入
$ yum remove ruby20
$ yum install ruby23
$ yum groupinstall "Development Tools"
$ yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel
$ yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts
# rails, bundler, passenger を gem で導入
$ gem install rails
$ gem install yard
$ gem install bundler --no-rdoc --no-ri
$ gem install passenger --no-rdoc --no-ri
$ /usr/local/bin/passenger-install-apache2-module --auto --languages ruby
# 旧サーバの mysql ダンプ ( DB 情報は config/database.yml 参照 )
$ mysqldump -u MySQLユーザー名 -pMySQLパスワード Redmineデータベース名 > データ出力先ファイル名
# redmine/files をバックアップ ( 添付ファイル )
# redmineディレクトリをまるまる移動
# sql ダンプから mysql を復元 ( 同じ空の DB / ユーザ / 権限 を用意してから )
$ mysql -u ユーザー名 -pパスワード DB名 < ダンプデータファイル名
# インストール
$ bundle install # パス通ってなかったら → /usr/local/bin/bundle install
$ bundle exec rake generate_secret_token
$ bundle exec rake tmp:cache:clear tmp:sessions:clear
# httpd 設定
$ vim /etc/httpd/conf.d/redmine.conf
> <Directory> 内にアクセス許可設定
> CentOS7.x系は Require all granted
> CentOS6.x系は AllowOverride all & Order allow,deny & Allow from all
$ chkconfig httpd on
$ chown -R apache:apache /var/www/html/redmine
$ /usr/local/bin/passenger-install-apache2-module --snippet # 表示された内容を httpd.conf へ
# サブディレクトリ運用の場合はAlias,Locationの設定を記述
# DB マイグレート
$ bundle exec rake db:migrate RAILS_ENV=production
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production
$ RAILS_ENV=production bundle exec rake db:migrate
$ RAILS_ENV=development bundle exec rake db:migrate
# コンフィグテスト & 再起動
$ touch ./tmp/restart.txt
$ service httpd configtest
$ service httpd restart
# database ~~ adapter ~~ なんちゃら的なエラーは database.yml に development モード加えたら通った
production:
adapter: mysql2
database: db_redmine
host: localhost
username: user_redmine
password: password
encoding: utf8
development:
adapter: mysql2
database: db_redmine
host: localhost
username: user_redmine
password: password
encoding: utf8
# bundler を使ったビルドは以下で突破
$ bundle install --without development test rmagick --path vendor/bundle
$ bundle exec rake generate_secret_token
$ RAILS_ENV=production bundle exec rake db:migrate
# バージョン要件OKなはずなのに passenger のインストール時に ruby-version2.2.2 以上にしてね!って怒られたのは以下で解決
$ gem install rack