くりーむわーかー

プログラムとか。作ってて ・試しててハマった事など。誰かのお役に立てば幸いかと。 その他、いろいろエトセトラ。。。

redmine

Redmineのmysqlを外部のPCからいじる

Bitnami Redmineのmysqlとゆーか、ただ単にmysqlに外からつなぐ場合。ちょっとやられたので記載。

やる(確認する)設定は以下の3つ。

  1. MySQLのユーザー権限をつける
  2. ポートを確認する
  3. bindを確認する←コレでやられた

MySQLのユーザー権限

select user,host,password from user;

↑でユーザの権限ついてるか確認。BitnamiRedmineの場合はデフォでついてないので、以下。

GRANT ALL PRIVILEGES ON %.% TO username@"%" IDENTIFIED BY 'passpass' WITH GRANT OPTION;

↑はusernameっていうユーザに全DBへのアクセスをどの端末からでもOKにするやつ。もっとちゃんとしたほうがいい。

ポートの確認

デフォで「3306」だと思うけど念のため以下でポートの確認。

SHOW VARIABLES LIKE 'port';

bindの確認

で、今回はコレでやられた。というか勝手にやられてるだけなんですが。。。

「my.ini」に「bind-address=127.0.0.1」が書かれてると、外部からつながらない。

行先頭に「#」入れてコメントアウト。

で、つながるようになりましたとさ。。。

BitnamiRedmineのバージョンアップ

2.6⇒3.3に更新する。ついでにサーバも変えた。

とりあえず、最新のBitnamiRedmineを新しいサーバに入れる。ここから先のコマンド使うものは、「use_redmine.bat」を使ってコンソールを上げる。ここが一番わかりにくい。

必要なプラグインもとりあえずcloneしておく。

そしたら古いRedmineのDBをバックアップして新しい方に復元

バックアップ
mysqldump -u root -p[rootのpass] bitnami_redmine > C:\****

復元
mysqldump -u root -p[rootのpass] bitnami_redmine < C:\****

古い方の「apps\redmine\htdocs\files」を丸ごとコピーして新しい方の同じ場所に移す。

そしたら最初にbundle installをやる

cd apps\redmine\htdocs
bundle install --without xapian

そしたらマイグレーション。

まず本体
bundle exec rake db:migrate RAILS_ENV=production

プラグイン
bundle exec rake redmine:plugins:migrate RAILS_ENV=production

色々クリア
bundle exec rake tmp:cache:clear tmp:sessions:clear

で、多分最初のRedmine本体のマイグレーションでエラーが出ると思う。一部のテーブル追加で、もーあるよっていうエラーが出る。エラーになったファイルの中身をコメントアウトして再実行を繰り返し。

Bitnami Redmineでプラグイン作成

Bitnamiのredmine上でプラグインを作るとき。OSはWindwos。

まず、作業するコンソールは必ず「use_redmine.bat」で起動する。これが一番はまる。

そしたら「apps\redmine\htdocs」に移動。でホントに最初は下をやる。

gem install bundler
bundle install --without postgresql mysql rmagick

SSL接続できーねーみたいなエラーが出た場合は下のコマンドでhttpの接続に変える。そしたらリトライ。

gem source -a http://rubygems.org/

んで、railsでスケルトンを作成。いちを、「apps\redmine\htdocs\plugins」に移動してからやった。

ruby script/rails generate redmine_plugin [プラグイン名]

もしかしたら、script/railsじゃなくて「bin/rails」じゃないとだめかも。

「Access denied for user 'root'@'localhost' (using password: NO)」みたいなエラーが出た場合は DBのrootのパスワードが指定されてないで落ちてる。 なので、「config\database.yml」のdevelopmentあたりにルートのパスワードを入れる。 rootのパスワードはBitnamiRedmineインストールしたときに指定したrootのパスワード。

「ActiveRecord::NoDatabaseError: Unknown database 'redmine_development'」で怒られた場合は 開発用のDBが作られていない。なのでmysqlにログインして「redmine_development」を作ってあげる。

作成出来たら、とりあえずRedmine再起動すると管理のプラグインのページに表示されてるはず。とりあえず、これでスケルトンの作成は終わり。

問合せ