레일스
델리마운트 위키
목차 |
레일스 개발 환경
윈도우 XP를 기준으로 합니다.
루비 설치
Ruby Version Manager
나중에 제대로 정리해야 함
- Installing RVM System Wide
- Installing Rails 3 on Ubuntu 10.04 Lucid Lynx
- Install Ruby 1.9.2 and Rails 3 on Ubuntu 10.04 for Ruby on Rails Workshop
위의 페이스북 문서(세번째 링크)를 토대로 진행하되, 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
레일스 서비스 환경
- 설치 환경은 우분투 8.04 입니다.
루비 설치
- 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 드라이버 설치
- $ sudo apt-get install ruby1.8-dev
- $ sudo apt-get install libpq-dev
- $ sudo apt-get install build-essential
- $ sudo gem install pg
루비 1.9 & Postgresql 8.4 (Windows 7)
- gem installl pg
레일스 디플로이
- 해당 저장소에서 svn:export 실행
- 서버에 export된 파일 업로드
- sudo apachectl stop
- sudo rake db:migrate RAILS_ENV=production
- rake db:fixtures:load RAILS_ENV=production (옵션 생략)
- 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 연동
- Sending email with Ruby on Rails 2.3.2 and gmail
- action_mailer_tls
- SMTP error while using Gmail in Rails
프로그램밍
멀티 체크박스를 레일스에서 다루는 방법
- 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 설치는 아래 과정으로 진행합니다.
- 홈페이지에서 rmagick-win32 아래 최신 파일 다운로드
- 압축 해제 후 해당 폴더 밑에 ImageMigick 설치 파일 실행 및 README.html 확인
- cmd 실행 후 압축 푼 폴더로 이동
- gem install rmagick --local 실행
- 설치가 성공하면 시스템 재부팅할 것!
OS X
- 아래의 설치방법은 Macport를 이용하여 RMagick를 설치합니다.(Macport가 설치되어있어야 함)
$sudo port install tiff -macosx imagemagick +q8 +gs +wmf $sudo gem install rmagick
- [3] 관련링크
