社内プロジェクトの開発プロセスは今までもRedmine+Backlogsを使っていました。しかし、2点ほど問題があります。

  • Redmineのバージョンが古い
    もともとUbuntu12.04にRedmine1.3系を入れましたがもう古いのでUbuntu14.04に合わせバージョンアップしたい
  • 運用が間違って仕様書等をIssueに添付してしまった
    仕様書をIssueに添付してしまったため後になって仕様書はどこですだっけってこととなり、仕様書が散乱してしまうことに〜
    まぁ、RedmineにもFileというモジュールがあるが、あまりにもシンプルで使い物にならない

上記を踏まえて今回Ubuntu14.04に下記をやりたいと思います。

  • Redmineをパッケージからインストールする。メインテナンスしやすいため
  • Backlogs+DMSF(ファイル管理プラグイン)をインストールする
    仕様書等はあるルールにしたがって全部このDMSFプラグインに一元管理する
Redmineのインストール

 

メインテナンス重視のため、Ubuntu14.04のRedmineをインストールしたいと思います。インストールは割りと簡単です。

apt-get install apache2 libapache2-mod-passenger
apt-get install mysql-server mysql-client
apt-get install redmine redmine-mysql
apt-get install bundler

その感じで行けちゃいます。

その後多少の設定を行ってOKですね。

vi /etc/apache2/sites-available/default-ssl.conf ←SSLで運用することですので〜

DocumentRoot /usr/share/redmine/public
<Directory />
    Options FollowSymLinks
    RailsBaseURI /
    PassengerResolveSymlinksInDocumentRoot on
    AllowOverride None
</Directory>

vi /etc/apache2/mods-available/passenger.conf 

<IfModule mod_passenger.c>
  PassengerDefaultUser www-data
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/ruby
#  RailsBaseURI / 
</IfModule>

Port80にアクセスしてきたら、SSL443ポートにリダイレクトするようにする

<VirtualHost *:80>
        ServerName xxx.co-mit.com
        ServerAdmin info@co-mit.com
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

その後

chown -R www-data:www-data /usr/share/redmine
service apache2 restart

Redmineサイトにアクセスできて、admin/adminでログインできれば終わりです。

 

Redmine Backlogsをインストールします

 

つぎにRedmine Backlogsをインストールします。

cd /usr/share/redmine/
mkdir plugins
cd plugins/
git clone git://github.com/backlogs/redmine_backlogs.git
git checkout v1.0.6
RAILS_ENV=production
export RAILS_ENV

ドキュメントによるといきなりbundle installをインストールしたいところだが、そんなに簡単にはいけません。ここで依存関係を一つ一つ潰していかいないといけません。

いろいろやった結果、こんな感じ

apt-get install libxml2-dev
apt-get install libxslt-dev
gem install cucumber -nori -nordoc
bundle install --without development test

これでやっとbundle installができるようになりました。

いよいよRedmine Backlogsのインストールだ!!!

bundle exec rake db:migrate
bundle exec rake tmp:cache:clear
bundle exec rake tmp:sessions:clear
bundle exec rake redmine:backlogs:install
service apache2 restart

ここで完了のはずですが、Backlogsプラグインがレイアウトを崩れているし、Redmine自体のログイン・ログアウトもできなくなった。

やはり、gemファイルの辺かな。いろいろ探ってみました結果、解決しました。理由は2点ほど

1つはRedmineはrack1.4.5を利用しているが先のbunlde installでrack1.6.0も入ってしまったためだめでした。

gem list|grep rack
rack (1.6.0, 1.4.5)

回避方法としてGemfileをいじります。Rackと同じくactivesupportも個別バージョンを指定する必要があります。

gem "rack",  "1.4.5"
gem "activesupport", "3.2.16"

2つ目はRedmine自体のレイアウト崩れです。調べるとなんとRedmineのassetsは何もコピーされないのでCSS、JSがなきゃレイアウト崩れは当然だよな。いい加減にして〜〜〜

手動でassetsをコピーすることにします。

cd public/
mkdir -p plugin_assets/redmine_backlogs/
cp -r * ../plugins/redmine_backlogs/assets/* plugin_assets/redmine_backlogs/

これでRedmine+Backlogsがうまく動作できました。

 

DMSFをインストールします

 

最後にDMSFをインストールします。このはなかなかいいファイル管理モジュールです。フォルダ構成、バージョン管理、ロック機能等は揃っているので助かります。

cd plugins/
git clone https://github.com/danmunn/redmine_dmsf.git
gem install dav4rack
apt-get install zlibc
apt-get install zlib1g-dev
gem install simple_enum -v '1.6.9'
gem install zip-zip
bundle install --without development test
rake redmine:plugins:migrate RAILS_ENV="production"

ここでもまたGemfileの調整しないといけません。DMSFのGemfileはこんな感じとなります。

source 'https://rubygems.org'

gem 'rubyzip', '>= 1.0.0'
gem 'zip-zip' # Just to avoid 'cannot load such file -- zip/zip' error
gem 'simple_enum', '~> 1.6.9'
gem 'uuidtools', '~> 2.1.1'
gem 'dav4rack',  '~> 0.3.0'

group :production do
#  gem 'nokogiri', '>= 1.5.10'
gem 'nokogiri', '< 1.6.0'
end

#Allows --without=xapian
#group :xapian do
#  gem 'xapian-full-alaveteli', :require => false
#end

Backlogsと同じくassetsもコピーしないとだめです。またファイル保存フォルダも手動で作成することになります。

cd public/
cd plugin_assets/
mkdir redmine_dmsf
cd redmine_dmsf/
cp -r /usr/share/redmine/plugins/redmine_dmsf/assets/* .
cd ../../../
mkdir -p files/dmsf
chown -R www-data:www-data /usr/share/redmine

以上、簡単なインストール手順のメモを書きましたが、Ruby関連のファイルのパージョン等があるためインストールしにくいと思います。ご参考できればと幸いです。

 


One comment

#4987
MillenHah
2019-03-22 09:54
It's really a cool and helpful piece of information. I am satisfied that you just shared this helpful info with us. Please stay us up to date like this. Thanks for sharing.

Leave a Comment

Fields with * are required.