Redmine 0.8.5 on Linode(CentOS5.3)

環境構築から導入完了まで一気に.

とりあえず動かすというパラメータなので、パスその他は適宜変更すること.
(redmine.jp でPassenger推奨なのでPassenger導入は実施したが、DBは取り急ぎsqlite3とした.)

開発ツール

# yum groupinstall "Development Tools"
=> 後々必要になりそうなものが多い(svnなど)のでとりあえず入れる. 必要なのだけ入れるのが定石だが.

Ruby

# cd /usr/local/src
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
# tar zxf ruby-1.8.7-p174.tar.gz
# cd ruby-1.8.7-p174
# ./configure --prefix=/usr/local
# make && make install

# which ruby
/usr/local/bin/ruby
# ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]

RubyGems

# wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
# tar zxf rubygems-1.3.5.tgz
# cd rubygems-1.3.5
# ruby setup.rb

# which gem
/usr/local/bin/gem
# gem -v
1.3.5

Ruby on Rails

# cd /usr/local/src/
# wget http://www.zlib.net/zlib-1.2.3.tar.bz2
=>zlib がないとinstall rails でエラーになる.

$ scp ./zlib-1.2.3.tar.bz2 username@74.xxx.xxx.xxx:
=> ホスト名解決できないとか言われた場合は、ローカルで落としてscpでもすると良い.

# tar xvf zlib-1.2.3.tar.bz2
# cd zlib-1.2.3
# ./configure --prefix=/usr/local/ -s
# make && make install

# cd /usr/local/src/ruby-1.8.7-p174/ext/zlib/
# ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
# make && make install

# cd
# gem install rails -v=2.2.2
=> 3分くらい?

# rails -v
Rails 2.2.2

# mkdir -p rails
=> rails用のディレクトリを作成しておく. (いつでも変更可)

sqlite3

# yum -y install sqlite sqlite-devel
=> いれないと、さくらの時と同じエラーになる.

# gem install sqlite3-ruby

Redmine

# rpm -qa |grep openssl
openssl-0.9.8e-7.el5
# yum -y install openssl-devel-0.9.8e-7.el5
....
Complete!
=> zlib同様、opensslが無いと後でエラーになる.

# cd /usr/local/src/ruby-1.8.7-p174/ext/openssl/
# ruby extconf.rb
# make && make install

# cd $HOME/rails
=> /path/to/rails/
# mkdir redmine
# cd redmine

via : http://rubyforge.org/scm/?group_id=1850
# svn checkout svn://rubyforge.org/var/svn/redmine/branches/0.8-stable .
# cd tmp
# wget http://rubyforge.org/frs/download.php/63583/redmine-0.8.5.tar.gz
# tar zxf redmine-0.8.5.tar.gz
# mv redmine-0.8.5/vendor/rails ../vendor/
=> tar.gz の vendor/rails を, svn から checkout したプロジェクトに配置する.
=> 今回は同一バージョンのため、tar.gz 版を使っても良さそう.

# rm -rf redmine-0.8.5*
# cd $HOME/rails/redmine/
=> /path/to/rails/redmine/

# chmod -R o+w tmp log
=> Apache実行ユーザから書き込むため.

# cd config
# cp database.yml.example database.yml
# vi database.yml
=> DB設定をsqlite3に変更する.

....
+# production:
+#   adapter: mysql
+#   database: redmine
+#   host: localhost
+#   username: root
+#   password:
+#   encoding: utf8

+production:
+  adapter: sqlite3
+  dbfile: db/redmine.db
+  timeout: 5000

これ以降もコメントしておく.(MySQLのセットアップをしていないと, デフォルト値ではエラー.)
....

# rake db:migrate RAILS_ENV="production"
# rake redmine:load_default_data RAILS_ENV="production"
# Select language: bg, ca, ...
> ja

Passenger

via : Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用
http://redmine.jp/tech_note/apache-passenger/

yum から入れても動くと思うし、pathが不満(/etc/httpd)なら指定すれば良いのだが、
Apache はソースから入れたい.

# cd /usr/local/src
# wget http://ftp.riken.jp/net/apache/httpd/httpd-2.2.13.tar.gz
# tar xvf httpd-2.2.13.tar.gz
# cd httpd-2.2.13
# ./configure
# make && make install
# /usr/local/apache2/bin/apachectl start
# /usr/local/apache2/bin/apachectl stop

# gem install passenger

# env APXS2=/usr/local/apache2/bin/apxs PATH=/usr/local/apache2/bin:$PATH passenger-install-apache2-module
=> 1行じゃないとコケた.

# passenger-install-apache2-module
....
--------------------------------------------
The Apache 2 module was successfully installed.

=> この後設定例が出る.
Enter

# vim /usr/local/apache2/conf/httpd.conf
LoadModule の項付近に下記を追加.

   LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so
   PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.5
   PassengerRuby /usr/local/bin/ruby

末尾に下記を追加. "allow from ..." を忘れないこと. ここは設定例と異なる.
/path/to/rails/.. は環境に合わせる.

<VirtualHost *:80>
    ServerName www.yourhost.com
    DocumentRoot /path/to/rails/redmine/public
    <Directory />
        allow from all
    </Directory>
</VirtualHost>

その他

横着したので、"(13)Permission denied" と error_log に出る事象に悩まされた.
上のディレクトリのパーミッションが、その他ユーザに+xされてないとNG.

# えぇ、とりあえず動かそうと思って/root/rails/redmine とかでやってました..

/home/username/rails/redmine/.. などであれば、下記対応で動作する.

# chmod o+x /home/username

以降はブラウザ操作となる.

via : Redmine 0.8.5 on さくらサーバ構築まとめ
http://d.hatena.ne.jp/stacking/20090915/1253039401
via : linodeubuntu 9.04 64ビット)に redmine を設置する
http://d.hatena.ne.jp/sevenpg/20090920/1253454278