Hatena::ブログ(Diary)

いとうまさしのカチャカチャTODAY

2009-09-17

RedHat EL4にRedmineをインストール

| 10:00

RedHat EL4にRedmineインストールする、というお仕事をしたので、作業ログを公開。

各種ライブラリrpmで入れて、rubyやらgemやらはソースからビルドした。

(1)Railsの実行で必要になるライブラリを入れる

su
wget ftp://mirror.switch.ch/pool/3/mirror/centos/4.8/os/i386/CentOS/RPMS/libtermcap-devel-2.0.8-39.i386.rpm
rpm -ivh libtermcap-devel-2.0.8-39.i386.rpm
wget ftp://ftp.pbone.net/mirror/atrpms.net/el4-i386/atrpms/testing/readline-devel-4.3-11.99_2.0.1.el4.i386.rpm
rpm -ivh readline-devel-4.3-11.99_2.0.1.el4.i386.rpm 

(2)rubyを入れる

cd /usr/local/src/
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
gtar -zxvf ruby-1.8.7-p174.tar.gz 
cd ruby-1.8.7-p174
./configure --with-install-readline
make
make install

(3)rubygemsを入れる

cd /usr/local/src
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
gtar -zxvf rubygems-1.3.5.tgz
cd rubygems-1.3.5
ruby setup.rb

(4)railsを入れる

gem install rails -v=2.1.2

(5)redmineダウンロード&初期設定

cd /usr/local/src
wget http://rubyforge.org/frs/download.php/63583/redmine-0.8.5.tar.gz
cd /var/www
gtar -zxvf /usr/local/src/redmine-0.8.5.tar.gz
cd /var/www/redmine-0.8.5
cp config/database.yml.sample config/database.yml
rake db:create RAILS_ENV=production
rake db:migrate RAILS_ENV=production

(6)apache連携モジュール mod_rails(passenger) を入れる

gem install passenger
passenger-install-apache2-module

(7)apacheのDigest認証の準備

cd /var/www/redmine-0.8.5/conf
htdigest -c digest RELM_NAME USER_NAME
※ パスワードを登録

(8)apacheの設定ファイルに以下を記述

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

RailsAllowModRewrite on
RailsMaxPoolSize 4
RailsPoolIdleTime 30
PassengerEnabled off

<VirtualHost *:80>
  ServerName ドメイン名
  DocumentRoot /var/www/redmine-0.8.5/public
  AddDefaultCharset UTF-8
  RailsEnv production
  RailsBaseURI /
  RailsAllowModRewrite off
  PassengerEnabled on
  <Directory "/var/www/redmine-0.8.5/public/">
   Options FollowSymLinks
   AllowOverride All
   Order allow,deny
   Allow from all
  </Directory>
  <Location />
   AuthType Digest
   AuthName RELM_NAME
   AuthDigestProvider file
   AuthUserFile	/var/www/redmine-0.8.5/config/digest
   Require valid-user
  </Location>
</VirtualHost>

(9)apache再起動

/etc/rc.d/init.d/httpd restart

(10)動作確認

ドメイン名」にブラウザでアクセスする。

redmineの初期アカウントはid, passwordどちらも「admin」

2009-09-15

2009-06-22

emacs-railsを入れてみた。

| 17:46

emacsを使い始めましたんで、rails開発に便利だと言うemacs-railsを入れました。

参考にした記事は

rails.el まとめ : ひげぽん OSとか作っちゃうかMona-

です。

下記のコマンドでemacs-railsインストールします。

wget http://rubyforge.org/frs/download.php/20976/emacs-rails-0.5.99.5.tar.gz ~/Download/
cd ~/.emacs.d/
tar zxvf ~/Download/emacs-rails-0.5.99.5.tar.gz 
mv emacs-rails/ rails

その後、~/.emacs.elに下記の1行を追加します。

(require 'rails)

以下のelも必要だと書いてあったけど、僕の環境ではemacs-railsだけで動きました。

find-recursive.el
snippet.el

ちなみに「僕の環境」は以下です。

OS : Mac OS X
emacs : Carbon Emacs
バージョン : GNU Emacs 22.3.1(i386-apple-darwin9.6.0, Carbon Version 1.6.0)

では使い方について。

まず今日のところはファイルの移動を覚えてみました。

これだけでも結構便利です。


メニューを出して開く

「Ctrl-C Ctrl-C g 何か1文字」でモデルやコントローラーの一覧が表示されます。

例えば「Ctrl-C Ctrl-C g m」で「モデルの一覧」が表示され、編集したモデルを選ぶことができます。

「Ctrl-C Ctrl-C g c」でコントローラー一覧、「Ctrl-C Ctrl-C g h」でヘルパーの一覧、といった具合です。


コントローラーとビューを行ったり来たり

あとは「今、編集中のファイルから関連ファイルへ移動」という感じの操作も便利です。

「Ctrl-C ↑」を押すことで「コントーラー」と「ビュー」を行ったり来たりできます。

「hoge_controller.rb」の「new」メソッドを編集中に「Ctrl-C ↑」を押すと

「app/views/hoge/new.html.erb」に移動できます。

で、もう一度「Ctrl-C ↑」を押せば「hoge_controller.rb」に戻ってきます。


関連するファイルの一覧から開く

「Ctrl-C ↓」は関連するファイルの一覧を出してくれるので、

「モデルからコントローラーへ」とか「コントローラーからテストへ」などのファイル移動ができます。

例えばコントローラーを編集中に「Ctrl-C ↓」すると、こんなメニューが開く。

f:id:itmsc:20090622180031p:image


とりあえずはこんな感じ。

またいろいろ覚えたら書きます。

2009-06-21

SSH接続でドメインごとにアカウント情報を切り替える

| 12:25

人に歴史あり、といいますけど、

歴史があると、いろいろなプロジェクトやコミュニティに関わって

いろいろな呼び名で呼ばれるようになるものです。

いとうくん、いとうさん、まさしくん、まさし、など

コミュニティや立場によって、僕の呼び名も変わります。

って当たり前のことですね。

開発のときに使うアカウント情報も

itmscだったり、masashiだったり、m.itohだったり、mscだったり、

いろいろなユーザ名を使い分けているわけです。

SSH接続で利用するアカウント情報はチェックアウトのときに

svn checkout svn+ssh://username@hostname/repogitory_path/trunk

とか

svn checkout --username username svn+ssh://hostname/repogitory_path/trunk

と指定するわけですが、ローカルマシンのログインユーザ名と違う

usernameを使うときに何かと不都合がおきたりします。

(externalsで指定した外部参照ソースがうまく取って来れなかったり。)

そんなときにはssh_configを利用するといいみたい。

~/.ssh/configファイルに例えば下記のように書くと

Host host1
     HostName host1.jp
     User itmsc
     IdentityFile ~/.ssh/itmsc.host1.jp.id_rsa

Host host2
     HostName host2.com
     User masashi
     IdentityFile ~/.ssh/masashi.host2.com.id_dsa

ホストごとにユーザ名や鍵ファイルを別々にできます。