「maimuzoが個人的にオススメするプラグイン」の編集履歴(バックアップ)一覧はこちら

maimuzoが個人的にオススメするプラグイン - (2008/02/02 (土) 22:45:47) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

今のところのベストプラクティス **前提 -定型手順はこの流れで細かいところを調整ぐらいで使えるように -開発マシンと本番マシンは別の想定。 -開発マシンではdevelopment環境、本番マシンではproduction環境を使用。 -開発マシンから本番マシンへのデプロイはcapistranoを使う。 -ソースコード管理はsubversionを使う。リポジトリはsubversionサーバ用のマシンに置く想定。 -開発マシンではscript/serverで動かす。本番マシンではフロントをApache+mod_ploxy_balancerで、バックをmongrel_cluster構成とする。 **リポジトリを用意する subversionのサーバにログインして >$ svnadmin create --fs-type fsfs /svn/hogeproject んで、/svn/hogeproject/confの中のsvnserve.confとかpasswdあたりをいじっておく。 **railsアプリを作ってsubversionに入れておく まずはsubversion用のディレクトリにアプリを生成し、コミットする。 >$ mkdir hogeproject >$ cd hogeproject >$ mkdir trunk tags branches >$ cd trunk >$ rails hogeapp >$ cd .. >$ svn import . svn://domain/svn/hogeproject/ -m "initial" --username user 登録できたら、元ディレクトリをどけて(バックアップとして)、チェックアウトする。 >$ mv mv hogeproject hogeproject_backup >$ svn checkout svn://domain/svn/hogeproject/trunk/ . logとtmpのいらないファイルを無視する >$ cd hogeapp >$ svn remove ./log/* >$ svn commit -m "remove log file" >$ svn propset svn:ignore "*.log" log/ >$ svn update log/ >$ svn commit -m "add ignore log/*" >$ svn remove tmp/* >$ svn propset svn:ignore "*" tmp/sessions tmp/cache tmp/sockets >$ svn update tmp/ >$ svn commit -m "add ignore tmp/" **先に入れておくべきgem >$ gem install mysql gettext refe mongrel mongrel_cluster capistrano -y **なにはなくとも ./config/environment.rbに >$KCODE = 'u' >require 'jcode' >require 'gettext/rails' を追加 ./config/database.ymlのdeveropmentとtestとproductionに >encoding: UTF8 と各種設定情報を追加 >$ capify して./config/deploy.rbを埋めておく。 [[Capistrano]]参照。 >$ mongrel_rails cluster::configure して./config/mongrel_cluster.rbに本番環境用の設定を埋めておく。 ちなみにフロントエンドのapache 2.2系でmod_ploxy_balancerを使った構成は >NameVirtualHost 192.168.1.3:80 > ><VirtualHost 192.168.1.3:80> >DocumentRoot "/sites/yourdomain.com/current/public" >ServerName yourdomain.com >CustomLog /var/log/apache2/yourdomain.com.proxy_access.log combined >ErrorLog /var/log/apache2/yourdomain.com.error.log ><Directory "/sites/yourdomain.com/current/public"> >allow from all >Options +Indexes FollowSymLinks >AllowOverride all >Allow from all >Order allow,deny ></Directory> >DirectoryIndex index.html > ># forward proxy off >ProxyRequests Off > ># don't use reverse-proxy for /engine_files /images /javascripts /stylesheets >ProxyPass /engine_files ! >ProxyPass /images ! >ProxyPass /javascripts ! >ProxyPass /stylesheets ! > ># other access are proxying mongrel server >ProxyPass / balancer://yourcluster/ timeout=2 nofailover=On >ProxyPassReverse / http://localhost:4000/ >ProxyPassReverse / http://localhost:4001/ ></VirtualHost> > >#reverse proxy cluster member ><Proxy balancer://yourcluster> >BalancerMember http://localhost:4000 loadfactor=10 >BalancerMember http://localhost:4001 loadfactor=10 ></Proxy> > ><Location /balancer-manager> >SetHandler balancer-manager >Order Deny,Allow >Deny from all >Allow from 192.168.1.2 ></Location> > ><Location /server-status> >SetHandler server-status >Order Deny,Allow >Deny from all >Allow from 192.168.1.2 ></Location> > >ExtendedStatus On こんな感じ。 192.168.1.3が本番マシンのIPで、 192.168.1.2は本番マシンをリモートメンテするためのマシンのIPを想定。 詳しくはapacheのマニュアル読むべし。 **使い分け ログイン処理 [[Acts as Authenticatedプラグイン]]が標準か? でも、いたずら防止目的としてOpenIDを採用するメリットはあって、現実的にはYahooのOpenIDを使う事になるんだろうけど、その場合はOpenID 2.0に対応しなきゃならなくて、OpenIDの本家推奨は[[JanRain Ruby>>http://openidenabled.com/ruby-openid/]]なんだけど、これが便利なんだか便利じゃないんだかさっぱりわからないので、もうちょっと様子見かな。 あと、REST対応版とか? ファイルアップロード処理 [[Attachment_fu]]プラグインが使えるなら使った方が楽かもね。
今のところのベストプラクティス **前提 -定型手順はこの流れで細かいところを調整ぐらいで使えるように -開発マシンと本番マシンは別の想定。 -開発マシンではdevelopment環境、本番マシンではproduction環境を使用。 -開発マシンから本番マシンへのデプロイはcapistranoを使う。 -ソースコード管理はsubversionを使う。リポジトリはsubversionサーバ用のマシンに置く想定。 -開発マシンではscript/serverで動かす。本番マシンではフロントをApache+mod_ploxy_balancerで、バックをmongrel_cluster構成とする。 **リポジトリを用意する subversionのサーバにログインして >$ svnadmin create --fs-type fsfs /svn/hogeproject んで、/svn/hogeproject/confの中のsvnserve.confとかpasswdあたりをいじっておく。 **railsアプリを作ってsubversionに入れておく まずはsubversion用のディレクトリにアプリを生成し、コミットする。 >$ mkdir hogeproject >$ cd hogeproject >$ mkdir trunk tags branches >$ cd trunk >$ rails hogeapp >$ cd .. >$ svn import . svn://domain/svn/hogeproject/ -m "initial" --username user 登録できたら、元ディレクトリをどけて(バックアップとして)、チェックアウトする。 >$ mv mv hogeproject hogeproject_backup >$ svn checkout svn://domain/svn/hogeproject/trunk/ . logとtmpのいらないファイルを無視する >$ cd hogeapp >$ svn remove ./log/* >$ svn commit -m "remove log file" >$ svn propset svn:ignore "*.log" log/ >$ svn update log/ >$ svn commit -m "add ignore log/*" >$ svn remove tmp/* >$ svn propset svn:ignore "*" tmp/sessions tmp/cache tmp/sockets >$ svn update tmp/ >$ svn commit -m "add ignore tmp/" **先に入れておくべきgem >$ gem install mysql gettext refe mongrel mongrel_cluster capistrano -y **なにはなくとも ./config/environment.rbに >$KCODE = 'u' >require 'jcode' >require 'gettext/rails' を追加 ./config/database.ymlのdeveropmentとtestとproductionに >encoding: UTF8 と各種設定情報を追加 >$ capify して./config/deploy.rbを埋めておく。 [[Capistrano]]参照。 >$ mongrel_rails cluster::configure して./config/mongrel_cluster.rbに本番環境用の設定を埋めておく。 ちなみにフロントエンドのapache 2.2系でmod_ploxy_balancerを使った構成は >NameVirtualHost 192.168.1.3:80 > ><VirtualHost 192.168.1.3:80> >DocumentRoot "/sites/yourdomain.com/current/public" >ServerName yourdomain.com >CustomLog /var/log/apache2/yourdomain.com.proxy_access.log combined >ErrorLog /var/log/apache2/yourdomain.com.error.log ><Directory "/sites/yourdomain.com/current/public"> >allow from all >Options +Indexes FollowSymLinks >AllowOverride all >Allow from all >Order allow,deny ></Directory> >DirectoryIndex index.html > ># forward proxy off >ProxyRequests Off > ># don't use reverse-proxy for /engine_files /images /javascripts /stylesheets >ProxyPass /engine_files ! >ProxyPass /images ! >ProxyPass /javascripts ! >ProxyPass /stylesheets ! > ># other access are proxying mongrel server >ProxyPass / balancer://yourcluster/ timeout=2 nofailover=On >ProxyPassReverse / http://localhost:4000/ >ProxyPassReverse / http://localhost:4001/ ></VirtualHost> > >#reverse proxy cluster member ><Proxy balancer://yourcluster> >BalancerMember http://localhost:4000 loadfactor=10 >BalancerMember http://localhost:4001 loadfactor=10 ></Proxy> > ><Location /balancer-manager> >SetHandler balancer-manager >Order Deny,Allow >Deny from all >Allow from 192.168.1.2 ></Location> > ><Location /server-status> >SetHandler server-status >Order Deny,Allow >Deny from all >Allow from 192.168.1.2 ></Location> > >ExtendedStatus On こんな感じ。 192.168.1.3が本番マシンのIPで、 192.168.1.2は本番マシンをリモートメンテするためのマシンのIPを想定。 詳しくはapacheのマニュアル読むべし。 **使い分け ログイン処理 [[Acts as Authenticatedプラグイン]]が標準か? でも、いたずら防止目的としてOpenIDを採用するメリットはあって、現実的にはYahooのOpenIDを使う事になるんだろうけど、その場合はOpenID 2.0に対応しなきゃならなくて、OpenIDの本家推奨は[[JanRain Ruby>>http://openidenabled.com/ruby-openid/]]なんだけど、これが便利なんだか便利じゃないんだかさっぱりわからないので、もうちょっと様子見かな。 あと、REST対応版とか? ファイルアップロード処理 [[Attachment_fu]]プラグインが使えるなら使った方が楽かもね。 レーティング系 acts_as_ratableプラグインが良さそう タギング系 acts_as_taggable_on_steroidsが良さそう ちょっと便利だから入れと系 annotate_modelsプラグイン Exception Notifierプラグイン

表示オプション

横に並べて表示:
変化行の前後のみ表示: