新しく Rails アプリケーションを作るときの手順
レポジトリとプロジェクト名を変数に設定する
ディレクトリのレイアウトを作成し import する
mkdir tmp
cd tmp
mkdir branches tags trunk
svn import . ${SVN_REPOS}/${PROJECT_NAME}/ -m "Initial import"
cd ..
rm -rf tmp
最初の段階で import しておいた空のディレクトリから、trunk を Rails アプリケーションのトップディレクトリで checkout します
rails ${PROJECT_NAME}
cd ${PROJECT_NAME}
svn checkout ${SVN_REPOS}/${PROJECT_NAME}/trunk .
まずはすべてを add しておき、それから不要なものを取り除いていくように
svn add --force .
databse.yml などの設定ファイルや log/ 以下なんかは Subversion 管理下に置かないように
svn revert log/*
svn propset svn:ignore "`echo -en "*.log\n*.pid\n*.txt"`" log
svn propset svn:ignore "*" log tmp/*
svn propset svn:ignore "`echo -en "app\napidoc\nappdoc"`" doc
svn propset svn:ignore "`echo -en "schema.rb\ndevelopment_structure.sql"`" db
svn revert config/database.yml
mv config/database.yml config/database.yml.example
svn propset svn:ignore "database.yml" config
cp config/database.yml.example config/database.yml
svn add config/database.yml.example
最後に、svn:executable も設定しておく
そして、commit
RMagickモジュールのインストール
pngライブラリ のインストール
$ apt-get install libpng-dev
jpegライブラリ のインストール
$ apt-get intall libjpeg-dev
フォントのインストール
$ apt-get install libfreetype6-dev
ImageMagick のインストール
$ cd /usr/local/src/
$ wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
$ tar xzvf ImageMagick06.3.0-1.tar.gz
$ cd ImageMagick-6.3.0
$ ./configure --with-jpeg=yes --with-png=yes --enable-shared=yes --enable-st=no --enable-lzw=yes
$ make -j2
$ make install
RMagick のインストール
$ gem install rmagick
apache2 リバースプロキシの設定例
./configure --enable-shared --enable-rewrite --enable-proxy --enable-so
make
make install
http-proxy.conf
# proxy settings
ProxyRequests Off
ProxyTimeout 30
ProxyPreserveHost Off
Order deny,allow
Allow from allProxyPass /images/ !
ProxyPass /stylesheets/ !
ProxyPass /javascripts/ !
BalancerMember http://localhost:8001 loadfactor=10 timeout=100
BalancerMember http://localhost:8002 loadfactor=10 timeout=100
BalancerMember http://localhost:9001 loadfactor=10 timeout=100
BalancerMember http://localhost:9002 loadfactor=10 timeout=100
httpd-vhosts.conf
# Use name-based virtual hosting.
NameVirtualHost *:80
SetEnvIf Request_URI \.(gif|jpg|png|js|css|ida|exe|ico|swf|JPG|GIF|PNG)$ no_log
SetEnvIf User-Agent "internal dummy connection" no_log
DocumentRoot "RAILS_ROOT/public"
ServerAdmin hoge@hoge.jp
ServerName hoge.jp
ErrorLog "|/usr/local/apache2/bin/rotatelogs RAILS_ROOT/log/error/hoge-error%Y%m%d.log 86400 540"
CustomLog "|/usr/local/apache2/bin/rotatelogs RAILS_ROOT/log/access/hoge-access%Y%m%d.log 86400 540" "combined" env=!no_logProxyPass / balancer://hoge.jp/
ProxyPassReverse / balancer://hoge.jp/
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
DocumentRoot "RAILS_ROOT/public"
ServerAdmin foo@foo.jp
ServerName foo.jp
ErrorLog "|/usr/local/apache2/bin/rotatelogs RAILS_ROOT/log/error/foo-error%Y%m%d.log 86400 540"
CustomLog "|/usr/local/apache2/bin/rotatelogs RAILS_ROOT/log/access/foo-access%Y%m%d.log 86400 540" "combined" env=!no_logProxyPass / balancer://foo.jp/
ProxyPassReverse / balancer://foo.jp/
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
/usr/local/apache2/bin/apachectl start
mysql バックアップ
# mkdir /var/backup
# mkdir /var/backup/mysql
# touch /var/backup/mysql/bak.sql
# touch /var/backup/mysql/mysql_backup.sh
・mysql_backup.sh
bak=`date +%y%m%d`
cp /var/backup/mysql/bak.sql /var/backup/mysql/$bak.sql
mysqldump --user=admin \
--password=****** \
--default-character-set=utf8 \
--socket=/var/lib/mysql/mysql.sock \
--all-databases > /var/backup/mysql/$bak.sql
bak2=`date --date "14 days ago" +%y%m%d`
rm -f /var/backup/mysql/$bak2.sql
リストア
$ mysql --user=admin --password=****** \
--socket=/var/lib/mysql/mysql.sock \
--default-character-set=utf8 < /var/backup/mysql/071001.sql
Ruby onRails セッションをDBで管理
rake db:sessons:create
rake db:migrate
config/environment.rb
config.action_controller.session_store = :active_record_store
定期的にセッションを消す為のrakeタスクをつくる
require 'tempfile'
namespace :my_task do
task :app_environment => :environment do
require "#{RAILS_ROOT}/app/controllers/application.rb"
end
##########################################
# my tasks
##########################################
desc "delete old sessions"
task :delete_old_sessions => :app_environment do
ActiveRecord::Base.connection.execute "DELETE FROM sessions WHERE updated_at < now() - interval 1 day"
endend
cronにこのレイクタスクを追加して終わり
railsを Apache2.2+mongrel で動かすメモ
1.mongrel導入
http://d.hatena.ne.jp/drawnboy/20060613/1150170093
apt-get install mongrel
gem install mongrel_cluster
2.リバースプロキシ設定
http://mongrel.rubyforge.org/docs/apache.html
3.SSL含めた構成
http://www.asahi-net.or.jp/~aa4t-nngk/apache3.html
mongrel_rails cluster::configure -e production -p 8001 -N 3
mongrel_rails start
以上
はてなダイアリーへようこそ!
このページはあなた専用の日記(ブログ)です。*1
さっそく「日記を書く」をクリックして最初の記事を書いてみましょう。
はてなダイアリーの一番簡単な使い方を知りたい方は、以下の動画をご覧ください。
(再生ボタンをクリックすると、はてなダイアリーの使い方を音声と動画で見ることができます。)
はてなダイアリーのヘルプでは、このような動画を交えた使い方の説明や、文字の色の付け方、本やDVDを紹介する「はてな記法」の使い方を解説しています。
より詳しいはてなダイアリーの使い方を知りたい方は、以下のヘルプをご覧ください。
それでは、日々の出来事やテレビ番組の感想、普段考えていることなど、あなたならではの日記を書いて楽しんでください!
*1:この文章はサンプルです。実際に自分の記事を書くときには削除しても大丈夫です。