레일스

델리마운트 위키

목차

레일스 개발 환경

윈도우 XP를 기준으로 합니다.

루비 설치

Ruby Version Manager

나중에 제대로 정리해야 함

위의 페이스북 문서(세번째 링크)를 토대로 진행하되, RVM을 System-Wide 로 설치함 (기본은 사용자별 설치이나, 이는 개발환경을 고려한 것으로 배포 환경에서는 System 설치로 진행되어야 한다고 판단됨)

sudo apt-get install curl
sudo apt-get install git-core
sudo bash < <(curl -B http://rvm.beginrescueend.com/install/rvm)

설치 완료 후, rvm을 사용할 사용자들은 자신의 홈 디렉터리 밑에 있는 .bashrc 파일의 맨 마지막 줄에 다음과 같은 라인을 추가해줍니다.

[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm" # This loads RVM into a shell session.

이제 bash를 재실행(혹은 ssh 재접속) 해줍니다.

rvm을 사용하기에 앞서서, 빌드에 필요한 것들을 설치해줍니다.

sudo aptitude install curl bison build-essential zlib1g zlib1g-dev libssl-dev libreadline5-dev libreadline6-dev libxml2-dev git-core subversion autoconf

rvm을 사용할 사용자들은 rvm 그룹에 추가해줍니다.

현재(2011/3/30) RVM 설치가 변경되면서, 내용을 업데이트 했으나, 아래 진행중 권한 문제가 생깁니다. 확인 후 업데이트가 필요합니다.

rvm 그룹에 추가된 사용자는 루비를 원하는 버전으로 설치하고 선택할 수 있습니다.

rvm install 1.9.2
rvm --default use 1.9.2

gcc와 make의 실행 권한 확인할 것 (rvm install 사용시 권한이 없다고 sudo 명령을 사용하게 되면 root 사용자 계정을 위한 설치가 이루어지게 되는 것)

레일스 3.x 설치

rvm use 1.9.2
gem install rails


레일스 2.x

  • gem으로 레일스 설치가 안되는 경우 gem을 최신 버전으로 업데이트합니다 : > gem update --system
  • 레일스 설치 : > gem install rails --version 2.3.x

Postgresql 드라이버 설치

  • gem install pg

레일스 서비스 환경

루비 설치

  • apt-get 으로 쉽게 설치하실 수 있습니다. 현재 1.9.0 버전까지 나왔지만, 여기서는 현재 안정적인 버전인 1.8.6을 설치하겠습니다.
  • sudo apt-get install ruby1.8 ruby1.8-dev rdoc1.8 ri1.8 libopenssl-ruby1.8 으로 설치하실 수 있습니다.

루비젬 설치

  • 여기 에서 압축파일을 내려 받습니다.
  • tar -xzf rubygems-1.1.1.tgz 으로 압축을 풀어 줍니다.
  • cd rubygems-1.1.1
  • sudo ruby1.8 setup.rb 을 해줍니다.

[옵션] 설치가 끝난 뒤에 아래 3개의 명령어를 입력하시면, 젬과 루비젬을 이전과 같이 쓰실 수 있습니다.

 sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
 sudo ln -s /usr/bin/ruby1.8 /usr/bin/ruby
 sudo ln -s /usr/bin/irb1.8 /usr/bin/irb

레일스 설치

  • 여기서는 현재 저희가 진행 중인 프로젝트에 맞추어서 1.2.4 버전으로 설명하겠습니다.
  • sudo gem install rails -v 1.2.4 로 설치하실 수 있습니다. 만약 최신 버전으로 설치하고 싶으시면 sudo gem install rails으로 설치하시면 됩니다.
  • Rails를 설치하게 되면, rake도 동시 설치
  • $PATH 확인하고 설치할것

PostgreSQL 드라이버 설치

  1. $ sudo apt-get install ruby1.8-dev
  2. $ sudo apt-get install libpq-dev
  3. $ sudo apt-get install build-essential
  4. $ sudo gem install pg

루비 1.9 & Postgresql 8.4 (Windows 7)

  • gem installl pg

레일스 디플로이

  1. 해당 저장소에서 svn:export 실행
  2. 서버에 export된 파일 업로드
  3. sudo apachectl stop
  4. sudo rake db:migrate RAILS_ENV=production
  5. rake db:fixtures:load RAILS_ENV=production (옵션 생략)
  6. sudo apache2ctl start

처음인 경우 sudo rake db:create RAILS_ENV=production

Passenger 설치 및 적용

여기서는 Passenger를 이용한 디플로이 방법을 설명하겠습니다. Passenger는 gem 을 이용한 형식과, 소스코드를 받아서 빌드할 수도 있습니다. 여기서는 조금 더 쉬운 gem을 이용한 방식으로 설치해 보겠습니다.

설치 환경

  • Ubuntu 10.04
  • Apache 2.2.14

설치

우선 Passenger gem을 설치합니다.

sudo gem install passenger

Apache 모듈을 생성합니다.

 passenger-install-apache2-module

passenger-install-apache2-module 명령어를 실행하는 도중, 필요한 gem 이나 모듈이 있으면 스마트하게 어떻게 설치하는지 설명해줍니다. 그냥 쭉 따라가면 자동으로 설치를 합니다. 이때 passenger-install-apache2-module 을 설치 출력되는 메시지를 잘 살펴봅니다.

Apache의 module 활성화를 합니다.

$ vi /etc/apache2/mods-available/passenger.load
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.14/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.14
PassengerRuby /usr/bin/ruby1.8

그리고 아래 명령를 실행합니다.

$ cd /etc/apache2/mods-enabled/
$ ln -s ../mods-available/rails.load passenger.load

아파치 설정

  • delimount라는 프로젝트가 /home/delimount에 위치해 있고, delimount.com라는 도메인이 있다는 가정하고 버추얼 호스트를

만듭니다. /etc/apache2/sites-available/delimount 에 설정 파일을 저장합니다.

<VirtualHost *:80>
    DocumentRoot /home/delimount/public
    ServerName www.delimount.com
</VirtualHost>

그리고 /etc/apache2/sites-enabled/delimount 에 심볼릭 링크를 만듭니다.

ln -s /etc/apache2/sites-available/delimount /etc/apache2/sites-enabled/delimount
  • 마지막으로 Apache2를 재 시작하시면 됩니다. 이상이 Passenger를 이용한 레일스 어플리케이션의 배포방법 입니다.

기존에 Capistrano나 다른 방법으로 배포하는 것 보다 몇배는 더 쉽고, 간편해 졌습니다.

개발

레일스 2.3.x에서 Gmail 연동

프로그램밍

멀티 체크박스를 레일스에서 다루는 방법

  • HTML:
<input type="checkbox" name="tag_ids[]" value="1" />
<input type="checkbox" name="tag_ids[]" value="2" />
<input type="checkbox" name="tag_ids[]" value="3" />
  • Controller:
tag_ids = params[:tag_ids]
  • [1] 관련 링크

플러그인

RMagick

설치

우분투
$ sudo apt-get install librmagick-ruby

만약 sudo gem install rmagick 이미 실행했다면

$ sudo gem uninstall rmagick

우분트 11.04에서는 위의 방법으로는 설치가 안됨

$sudo apt-get install libdjvulibre-dev libjpeg-dev libtiff-dev libwmf-dev libmagickcore-dev libmagickwand-dev libmagick++-dev
$rvmsudo gem install rmagick

  • [2] 관련링크
윈도우즈 7

RMagick 설치는 아래 과정으로 진행합니다.

  1. 홈페이지에서 rmagick-win32 아래 최신 파일 다운로드
  2. 압축 해제 후 해당 폴더 밑에 ImageMigick 설치 파일 실행 및 README.html 확인
  3. cmd 실행 후 압축 푼 폴더로 이동
  4. gem install rmagick --local 실행
  5. 설치가 성공하면 시스템 재부팅할 것!
OS X
  • 아래의 설치방법은 Macport를 이용하여 RMagick를 설치합니다.(Macport가 설치되어있어야 함)
$sudo port install tiff -macosx imagemagick +q8 +gs +wmf
$sudo gem install rmagick
  • [3] 관련링크

관련 링크

개인 도구