hogehoge foobar Blog Style Beta

Web,Mac,Linux,JavaScript,Perl,PHP,RegExp,Git,Vim,Redmineなど技術的なことのメモや、ちょっと便利そうなものの紹介をしています。

Ubuntu10.4でRedmine1.0.1(まとめ直し版)

以前にまとめたUbuntu10.4でRedmineを元に記述間違いや新たな問題が発生したので、新しいエントリとして、情報を整理してまとめ直してみました。

以前との違いは

インストールの流れ

RedmineApache上で動作させるまでの流れは以下のような形になります。

  1. MySQLのインストール
  2. Rubyのインストール
  3. Railsのインストール
  4. Apacheのインストール
  5. passengerのインストール
  6. Redmineのインストール

MySQLのインストール

apt-getでmysqlをインストールします。
インストールの途中でmysqlでのrootのパスワードを聞かれるので、任意のパスワードを設定してください。

MySQLのインストールコマンド
$ sudo apt-get install mysql-server
mysqlへの接続確認

mysqlコマンドをユーザー(-u)とパスワードオプション(-p)を付けて実行します。
オプションを付けない場合は接続エラーが出るので、オプションは必ずつけて実行します。

$ sudo mysql -u root -p
Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.1.41-3ubuntu12.1 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 

ユーザー(-u)とパスワードオプション(-p)を付けない場合(接続エラー)

$ sudo mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
MySQLRedmine用のデータベースの作成

mysqlに正常に接続出来たら、Redmine用のデータベース、ユーザーを作成しておきます。
テーブルの作成などはRailsのmigrateで行うので、ここでは行いません。

  • データベースの作成(DB名はredmine)
mysql> create database redmine character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
                                          • +
Database
                                          • +
information_schema
mysql
redmine
                                          • +
3 rows in set (0.00 sec)
  • ユーザーの作成と権限付与
mysql> create user 'redmine'@'localhost' identified by 'your_password';
Query OK, 0 rows affected (0.01 sec)
mysql> 
mysql> grant all privileges on redmine.* to 'redmine'@'localhost';

Rubyのインストール

spt-getでrubyをインストールします。

Ruby本体のインストール
$ sudo apt-get install ruby
$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]
Ruby Developperのインストール(足りないライブラリなどがあるため)
$ sudo apt-get install ruby1.8-dev
libmysql-ruby1.8のでインストール

これがないとRailsでmigrateするときにエラーが発生します。

$ sudo apt-get install libmysql-ruby1.8
libopenssl-rubyをインストール

これもないとRailsでmigrateするときにエラーが発生します

$ sudo apt-get install libopenssl-ruby
Rubygemsのインストール(Railsインストールのため)
$ sudo apt-get install rubygems
$ gem -v
1.3.6

Railsのインストール

先にインストールしたgemでRailsをインストールします。
gemでインストールする場合、状況によってインストール方法を少し変える必要があります。

普通のRailsインストール

普通は以下のコマンドでRailsをインストールできます。

$ sudo gem install rails
Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.8
Successfully installed activerecord-2.3.8
Successfully installed rack-1.1.0
Successfully installed actionpack-2.3.8
Successfully installed actionmailer-2.3.8
Successfully installed activeresource-2.3.8
Successfully installed rails-2.3.8
8 gems installed
プロキシが設定されている場合

会社などでプロキシが設定されている場合、普通にRailsをインストールしようとするとエラーが発生します。

$ sudo gem install rails
ERROR:  http://gems.rubyforge.org/ does not appear to be a repository
ERROR:  could not find gem rails locally or in a repository

この場合、プロキシを設定してインストールする必要があります。
プロキシを設定してのインストールとしては以下の2つが使用出来ます。
ただ私の場合、HTTP_PROXYにセットする方法では上記と同様のエラーが発生してインストール出来ませんでした。

  • HTTP_PROXYにセットしてのインストール
$ HTTP_PROXY=http://your.proxy.hostname:port_no
$ export HTTP_PROXY
$ sudo gem install rails
Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.8
Successfully installed activerecord-2.3.8
Successfully installed rack-1.1.0
Successfully installed actionpack-2.3.8
Successfully installed actionmailer-2.3.8
Successfully installed activeresource-2.3.8
Successfully installed rails-2.3.8
8 gems installed
  • -pオプションでプロキシを設定してインストール
$ sudo gem install rails -p http://your.proxy.hostname:port_no
Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.8
Successfully installed activerecord-2.3.8
Successfully installed rack-1.1.0
Successfully installed actionpack-2.3.8
Successfully installed actionmailer-2.3.8
Successfully installed activeresource-2.3.8
Successfully installed rails-2.3.8
8 gems installed
gemをダウンロードして手動でインストール

通常のインストール、プロキシ設定でのインストール、どちらも正常に実行出来ない場合は、Railsに必要になるgemを個別にダウンロードして、手動でインストールする必要があります。
gemはrubyforgeからダウンロード出来ます。

RubyForge
http://rubyforge.org/

ダウンロードするgem
rakeactivesupport
activerecordrackactionpackactionmaileractiveresourcerails

gemをダウンロードしたら、ダウンロード先のディレクトリに移動して以下のコマンドでgemを手動でインストールします。

$ sudo gem install rake --local
$ sudo gem install activesupport --local
$ sudo gem install activerecord --local
$ sudo gem install rack --local
$ sudo gem install actionpack --local
$ sudo gem install actionmailer --local
$ sudo gem install activeresource --local
$ sudo gem install rails --local
RailsにPATHを通しておく。

正常にRailsのインストールが終わると、以下のディレクトリにRailsがインストールされます。
利便性のためにパスを通しておきます。

パスが通っていないので、.bashrcにパスを設定
PATH="/var/lib/gems/1.8/bin:$PATH"

Apcheのインストール

apt-getでapache2をインストールします。

$ sudo apt-get install apache2
$ sudo apt-get install build-essential
$ sudo apt-get install apache2-prefork-dev

DocumentRootのオーナーがrootだと面倒なので、変更しておきます。

$ chown user:users /var/www
/etc/apache2/httpd.conf
  • httpd.confは空なので実際にはこっちを直す
/etc/apache2/apache2.conf
  • UbuntuApacheのDocumentRootはここに書かれている。
/etc/apache2/sites-available/default
  • DocumentRootを変更
DocumentRoot /var/www/html
  • apache2の起動・停止・再起動
$ sudo /etc/init.d/apache2 start
$ /etc/init.d/apache2 stop
$ sudo /etc/init.d/apache2 restart

ブラウザでhttp://localhost/にアクセスして正常にApacheが起動しているかを確認しておきます。

[passengerのインストール]

Apache上でRubyを動作させるために、passengerをインストールします。
gemでもインストールとなるので、Railsをインストールしたときと同じように状況によってインストール方法を変えます。

普通のpassengerのインストール
$ sudo gem install passenger
プロキシが設定されている場合
$ sudo gem install passenger -p http://your.proxy.hostname:port_no
gemをダウンロードして手動でインストールする場合

passengerのインストールにはfastthreadが必要なのであわせてダウンロードします。
ダウンロードするgem
fastthreadpassenger

  • 手動でインストール
$ sudo gem install fastthread --local
$ sudo gem install passenger --local
passenger-install-apache2-moduleのインストール

gemでのpassengerのインストールが正常に完了したら、続いてpassenger-install-apache2-moduleをインストールします。

  • passenger-install-apache2-moduleのインストール
$ sudo passenger-install-apache2-module

インストールの最後の方で表示される以下ような文をhttpd.confに記述します。

LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.14/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.14
PassengerRuby /usr/bin/ruby1.8

Redmineのインストール

Redmineのダウンロード

RubyForgeからRedmineダウンロードページからredmine-1.0.1.tar.gzをダウンロードします。

Redmineダウンロードページ
http://rubyforge.org/frs/?group_id=1850

次にドキュメントルートにRedmineを配置します。

$ cp -p redmine-1.0.1.tar.gz /var/www/html/
$ cd /var/www/html/
$ tar zxf redmine-1.0.1.tar.gz
$ mv redmine-1.0.1 redmine
database.ymlの設定

redmine/config/database.yml.exampleをコピーして同一ディレクトリにdatabase.ymlを作成して、以下のような記述をします。

  • /var/www/html/redmine/config/database.yml

※「password: ********」mysqlのユーザーに設定したパスワードを記述してください。

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: ********
  encoding: utf8
session_store.rbの実行

/var/www/html/redmine/に移動して、session_store.rbを実行します。

$ rake config/initializers/session_store.rb
redmineのmigrate

session_store.rbが正常終了したら、さっきと同じディレクトリでmigrateを実行します。

$ rake db:migrate RAILS_ENV=production

migrateの時にrackのバージョンの不一致によって、以下のようなエラー発生する場合があります。

$ rake db:migrate RAILS_ENV=production
(in /var/www/html/redmine)
rake aborted!
RubyGem version error: rack(1.1.0 not ~> 1.0.1)
(See full trace by running task with --trace)

この場合、vendor/rails/actionpack/lib/action_controller.rbを以下のように書き換えた上でmigrateを実行します。

vendor/rails/actionpack/lib/action_controller.rb

#gem 'rack', '~> 1.0.1' → コメント化
gem 'rack', '~> 1.1.0'
apacheのDocumentRootを変更

DocumentRootを/var/www/html/redmine/publicに変更します。

  • /etc/apache2/sites-available/default
DocumentRoot /var/www/html/redmine/public

apacheを再起動

$ sudo /etc/init.d/apache2 restart

ブラウザからhttp://localhost/にアクセスしてRedmineのページが表示されればインストールが完了です。

Redmineデフォルトの管理者はadmin/adminでログインできます。

今回参考にしたページ

Redmine.JP - Redmineのインストール
http://redmine.jp/guide/RedmineInstall/

自宅サーバDebian/Ubuntu - MySQL で DB サーバー構築
http://debianj.com/ubuntu/install/mysql.html

MySQLでいこう! ERROR 1045 (28000)
http://mysql.deikou.com/pages/000060.html

[Ruby]Proxy 経由のネット接続環境におけるGems
http://trwtnb.blogspot.com/2009/11/rubyproxygems.html

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

Symfowareについての考察blog - DebianRedmineをインストールする
http://symfoware.blog68.fc2.com/blog-entry-422.html