2008年3月22日土曜日

RubyOnRailsのインストールとredmineのインストール(タイトルにひねりなしww)



ここ数ヶ月で同様のインストールを何度か経験したため、覚え書きとして残しておく。


(現在のCentOSのパッケージとgemでインストールされるモノに不整合が生じてきたため若干書き直した。)


前提:


CentOS5.0(yum updateにて5.1相当にUP済) 最小構成インストールとする。おそらくインストール後の容量は7~800MB程度。


Railsに関しては、今現在発売されている書籍やネット上の文献量等から、バージョンを1.2.xとする。


ゴール:


apache + mod_proxy_balancer + mongrel_cluster である程度のトラフィックを捌ける環境を作成する。


まず、何はともあれ開発ツール一式を入れる(ちょっと手抜きww)。



yum -y groupinstall 'Development Tools' 'Development Libraries'

次にMySQLを入れる。



yum install mysql
yum install mysql-server

rubyについてはyumを使わず1.8.6以降をソースコードからコンパイルしないと、あとで入れるmongrelが動作しない。



wget http://rubyforge.org/frs/download.php/33460/ruby-1.8.6-p114.tar.gz
tar zxvf ruby-1.8.6-p114.tar.gz
cd ruby-1.8.6-p114
./configure
make all
make install
ln -s /usr/local/bin/ruby /usr/bin/ruby # シンボリックリンクを張る

http://rubyforge.org/から最新のRubyGemをダウンロードし、インストールする。


以下はあくまで例である、実際は最新バージョンに合わせてダウンロード場所は変えること



wget http://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz
tar zxvf rubygems-1.0.1.tgz
cd rubygems-1.0.1
ruby setup.rb

Railsのインストール(今回はバージョンを指定する)



gem install rails -y -v 1.2.6 --include-dependencies

SQLite3とMySQLのアダプタをインストールする



gem install sqlite3-ruby
gem install mysql

mongrel(Rails用のHTTPサーバ)のインストール



gem install mongrel_cluster

MySQLの設定 (/home/mysqldb にデータベースを置く場合)



mkdir /home/mysqldb
chown mysql /home/mysqldb
chgrp mysql /home/mysqldb
rm /var/lib/mysql
ln -s /home/mysqldb mysql /var/lib
/etc/init.d/mysqld start
chkconfig mysqld on

redmine用DBの作成(今回はセキュリティ無視(^_^;)



mysql -u root -p
password:****
create database redmine;

redmine をダウンロード・解凍(/home/redmine に展開するとする)



cd /home
wget http://rubyforge.org/frs/download.php/33789/redmine-0.6.4.tar.gz
tar zxvf redmine-0.6.4.tar.gz
mv ./redmine-0.6.4 ./redmine
cd redmine

config/database.ymlファイルを開き、productionの部分のデータベース名(redmine)、ユーザー(root)、パスワード(redmineに対するパスワード)を設定。



production:


adapter: mysql


database: redmine


host: localhost


username: root


password:******



データベースの構築と初期データのインポート



rake db:migrate RAILS_ENV="production"
rake load_default_data RAILS_ENV="production"

mongrel_rails start -d -port 3000 -e production

これで一応動くはず(http://xxx.xxx.xxx:3000)。



mongrel_rails stop

で止まる。


Mongrel_clusterの自動起動ファイルを/etc/init.dにコピー



cp /usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/ ->
         resources/mongrel_cluster /etc/init.d/redmine
chmod 755 /etc/init.d/redmine

Mongrel_clusterで起動する際のコンフィグファイルを生成する。なおアプリケーションのconfigディレクトリに生成されるので外に出しておく



cd /home/redmine/
mongrel_rails cluster::configure -e production -p 3000 -a 0.0.0.0 -l
/var/log/redmine.log -P /var/run/redmine.pid -c /home/redmine
-r /home/redmine/public -N 5 --user root
mkdir /home/redmine-cluster
mv /home/redmine/config/mongrel_cluster.yml /home/redmine-cluster/

自動起動ファイルの変更



vi /etc/init.d/redmine


CONF_DIR=/home/rails/redmine-cluster


PID_DIR=/var/run


# USER=rails # ユーザはコンフィグファイルで指定する


RETVAL=0


# pathを切っておく


export RUBYLIB=/usr/local/lib/ruby/1.8/


export GEM_HOME=/usr/local/lib/ruby/gems/1.8/


(以下略



起動を確認し、自動起動をONにする。



/etc/init.d/redmine start
chkconfig dermine on

以下はapacheの設定。この設定詳細についてはここを参照のこと。


httpd.confに以下の記述を追加(redmine.hogehoge.com でRedmineを使用する)



ProxyRequests Off


<proxy *>


Order deny,allow


Allow from all


</proxy>


NameVirtualHost 12.34.56.78


<VirtualHost 12.34.56.78>


ServerName www.hogehoge.com


DocumentRoot /var/www/html


ServerAdmin root@hogehoge.com


ErrorLog /var/log/httpd/error_log


TransferLog /var/log/httpd/access_log


</VirtualHost>


<VirtualHost 12.34.56.78>


ServerName redmine.hogehoge.com


ProxyPass / balancer://scheduler/ lbmethod=byrequests


ProxyPassReverse / balancer://scheduler/


<proxy balancer://scheduler/>


BalancerMember http://127.0.0.1:3000 loadfactor=10


BalancerMember http://127.0.0.1:3001 loadfactor=10


BalancerMember http://127.0.0.1:3002 loadfactor=10


BalancerMember http://127.0.0.1:3003 loadfactor=10


BalancerMember http://127.0.0.1:3004 loadfactor=10


</proxy>


</VirtualHost>



apacheを再起動して動作を確認する。





2008年3月20日木曜日

SafariGestures--Safari用のマウスジェスチャープラグイン--


ついに念願(僕的にww)のSafari用マウスジェスチャプラグインが登場した!!!その名もSafariGestures、ID:griffin-stewieさんが作成されたもので日記ページからダウンロードできる。

早速入れてみたが、やっぱりマウスジェスチャがあるといい!便利の一言。まだバージョン0.1だけど特に問題なく動作してる。griffin-stewieさんありがとうございます、これでSafariをメインブラウザに出来ます!!

2008年3月18日火曜日

NetBeans6.1ベータの日本語ZIPが公開された



Railsの開発をしている人には是非使ってみて欲しい、NetBeans6.1ベータの日本語ZIPが公開された。


英語版のままでも使えることは使えるがそこは日本人、若干不完全な部分があるとはいえ大半の部分がこれで日本語化されるので大変使いやすくなる。早速使わせていただきます。m(_ _)m


しかし、ホントに使いやすいよNetBeans!





2008年3月11日火曜日

NetBeans6.1ベータがイケてる件



2週間ほど前に「RailsをDevelopmentモード以外で起動できない」「アプリケーション定義のRakeタスクが呼び出せない」などの理由でNetBeansからAptanaStudioに環境を移した。


しばらくはRadRailsで黙々と書いていたんだけど、rhtmlファイルではRubyコード補完が全く働かないなどちょっと不便だった。


そうこうしてるうちに先日、NetBeansサイトで6.1ベータがダウンロード可能となっていたので改めてインストールしてみた。


よし!サーバの動作モードはプロジェクトのプロパティから変更出来るようになってる。Merucurial対応も完璧!(日本語のメッセージは通らないけど) まだ日本語版ではないがこうなると元々エディタの出来はNetBeansの方が上なので、戻らない理由が無くなった。


なお、Rakeタスク云々はNetBeansのバージョンの問題ではなくRAKEファイルの書き方の問題だった。



namespace :hoge do
task :test1 do
puts "あいうえお"
end

task :test2 do
puts "かきくけお"
end
end

これでもコマンドベースでは実行可能だけど、NaetBeans上で右クリックして出てくるRakeタスクの一覧には反映されない。


下記のように、desc 'xxxxx'の行が必要。



namespace :hoge do
desc 'test1'
task :test1 do
puts "あいうえお"
end

desc 'test2'
task :test2 do
puts "かきくけお"
end
end

これで、右クリック -> Run Rake Task -> Refresh List でタスクが反映され、以降呼び出せる様になる。


今日からまたNetBeansに戻す(^^)/





Template Design: © 2007 Envy Inc.