redmine 0.8.4が調子悪いのでバージョンアップを試みようとテストしています。
ubuntu 11.10に環境では、redmineパッケージが複数のインスタンスをホスティングできるようになっていました。(前回はなかったような…)
セットアップも格段に簡単になっているような気がします。
インストール
必要なパッケージは、多分これだけ
$ sudo apt-get install mysql-server mysql-client $ sudo apt-get install redmine-mysql $ sudo apt-get install redmine
設定は、mysqlを選択して接続情報を入力するくらいです。
/usr/share/doc/redmine/README.Debian.gzの「QUICK LAUNCH USING WEBRICK」に従ってパーミッションの設定をするととりあえず動きます。
localhost以外からアクセスする場合には、-bオプションでIPアドレスを指定するとhttp://IP:3000/でアクセスすることができます。
$ cd /usr/share/redmine/ $ mkdir tmp $ chown www-data:www-data tmp $ mkdir log $ touch log/production.log $ sudo -u www-data X_DEBIAN_SITEID="default" ruby script/server -b 10.10.1.10 webrick -e production NOTE: SourceIndex.new(hash) is deprecated; From /usr/share/redmine/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100:in `new'. => Booting WEBrick => Rails 2.3.14 application starting on http://10.10.1.10:3000 config.load_paths is deprecated and removed in Rails 3, please use autoload_paths instead config.load_paths= is deprecated and removed in Rails 3, please use autoload_paths= instead
Apacheへの組み込み
必要なパッケージは以下です。
$ sudo apt-get install apache2 $ sudo apt-get install libapache2-mod-passenger
DNSサーバにredmine.localというのを登録すると仮想ホストにできます。
/usr/share/doc/redmine/examples/apache2-passenger-host.conf に設定のひな形があるので次のように修正するとApache経由でアクセスできます。
$ diff -u /usr/share/doc/redmine/examples/apache2-passenger-host.conf /etc/apache2/conf.d/apache2-passenger-host.conf --- /usr/share/doc/redmine/examples/apache2-passenger-host.conf 2011-08-25 21:36:30.000000000 +0900 +++ /etc/apache2/conf.d/apache2-passenger-host.conf 2012-02-08 22:17:40.739561002 +0900 @@ -1,9 +1,6 @@ # These modules must be enabled : passenger -# Configuration for multiple vhosts http://localhost:3000/ and http://localhost:3030/ -# listen the port... -Listen 3000 -<VirtualHost localhost:3000> - # ServerName my.domain.name +<VirtualHost redmine.local:80> + ServerName redmine.local # this is the passenger config RailsEnv production # create a link in /var/lib/redmine/default/passenger to /usr/share/redmine @@ -17,18 +14,18 @@ </Directory> </VirtualHost> -Listen 3030 -<VirtualHost localhost:3030> - # ServerName my.domain.name - # this is the passenger config - RailsEnv production - # create a link in /var/lib/redmine/instance2/passenger to /usr/share/redmine - PassengerAppRoot /var/lib/redmine/instance2/passenger - SetEnv X_DEBIAN_SITEID "instance2" - Alias "/plugin_assets/" /var/cache/redmine/instance2/plugin_assets/ - DocumentRoot /usr/share/redmine/public - <Directory "/usr/share/redmine/public"> - Order allow,deny - Allow from all - </Directory> -</VirtualHost> +#Listen 3030 +#<VirtualHost localhost:3030> +# # ServerName my.domain.name +# # this is the passenger config +# RailsEnv production +# # create a link in /var/lib/redmine/instance2/passenger to /usr/share/redmine +# PassengerAppRoot /var/lib/redmine/instance2/passenger +# SetEnv X_DEBIAN_SITEID "instance2" +# Alias "/plugin_assets/" /var/cache/redmine/instance2/plugin_assets/ +# DocumentRoot /usr/share/redmine/public +# <Directory "/usr/share/redmine/public"> +# Order allow,deny +# Allow from all +# </Directory> +#</VirtualHost> $
Debian固有?
X_DEBIAN_SITEIDという環境変数を使って複数のredmineインスタンスをホスティングできるようです。
/etc/redmine/$X_DEBIAN_SITEIDに接続情報が記録され、/var/lib/redmine/$X_DEBIAN_SITEIDに添付ファイルが記録されるらしいです。
ログファイルのディレクトリも必要な気がしますが…
そのうち試してみよう。
余談:gemとapt
Rubyのパッケージは、gemでインストールしますが、Debian/Ubuntuの場合、aptでインストールするという選択肢があります。
rubygames、rake、rdoc、passenger何れも、どちらの方法でもインストールできるようで正直混乱します。
aptでインストールするとruby以外の設定(mysqlやPATH)も面倒見てもらえますしredmineのアップグレードもデータベースのマイグレーションは全く意識せずバージョンアップされていました。(メンテナに感謝!!)
混乱するのは、aptでインストールしたrubyパッケージ(rubygems含む)とgemであとからインストールしたパッケージの関係がよくわかりません。
今回も、redmine 0.8.4からのアップグレードを試したいとするとrails 2.1.2が必要となります。
aptでrubygames1.8を入れて、rails 2.1.2を入れた場合、aptで入れたrailsとの関係は…
修行が足りないなぁ