Ruby on Rails로 회사 홈페이지를 만들어 보기로 했습니다. Ruby는 몇가지 예제만 만들어 보았고 Rails 역시 간단한 샘플만 따라 해 본 정도입니다.

현재 'rails www'로 프로젝트를 만들어 놓고 관망중인 상태입니다. 실질적으로 만들어 볼려고 하니 경험이 없어 막히는 부분도 많고 진도가 잘 나가지 않네요.

주위에 편하게 물어 볼 사람도 없고 혼자서 계속 삽질만 하고 있습니다. 잘 쓰시는 분들로 부터 지도편달도 받고 배워가는 것을 정리도 하고 동기부여도 할겸 공개적으로 삽질과정을 블로그에 올릴려고 합니다.

제가 설치한 환경은 아래와 같습니다.

  • 리눅스(CentOS 5)
  • Apache 2
  • MySQL 5

아래의 관련 사이트들에서 자료와 문서들을 구할 수 있습니다.


필요한 설치 파일들은 루비온레일즈 다운로드 페이지에 소개되고 링크되어 있습니다. 아래의 방법외에 사용하시는 리눅스 배포본예 따라 yum이나 apt-get을 이용하여 간편하게 설치할 수 있습니다.


1. ruby 설치
루비의 다운로드 페이지에서 최신버젼을 다운로드 받습니다. 현재 안정된 최신 버젼은 1.8.7입니다.

1) 설치
> wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p22.tar.bz2
> tar -xvjf ruby-1.8.7-p22.tar.bz2
> cd ruby-1.8.7-p22
> ./configure
> make
> make test
> make install

2) 확인
쉘상에서 irb를 실행하여 확인할 수 있습니다. irb는 대화형 루비쉘입니다.

> irb
irb> puts "hello"
hello
=> nil
irb> quit


2. RubyGems 설치
RubyGems는 루비 패키지 관리툴입니다. RubyGmes로 루비 프로그램이나 라이브러리등을 손쉽게 설치할 수 있습니다.

> wget http://rubyforge.org/frs/download.php/43985/rubygems-1.3.0.tgz
> tar -xvzf rubygems-1.3.0.tgz
> cd rubygems-1.3.0
> ruby setup.rb


3. Rails 설치
Rails는 위에 설치한 RubyGems로 아래와 같이 간편하게 설치할 수 있습니다.

> gem install rails --include-dependencies


4. MySQL/Ruby 설치
루비에서 MySQL을 사용할 수 있도록 사용할 수 있게 해주는 모듈입니다. 루비에서 공식적으로 지원하는 다른 방법이 있는지는 모르겠습니다.

1) 설치
> wget http://tmtm.org/downloads/mysql/ruby/mysql-ruby-2.8.tar.gz
> tar -xvzf mysql-ruby-2.8.tar.gz
> cd mysql-ruby-2.8pre4
> ruby extconf.rb --with-mysql-dir=/usr/local/mysql
> make
> make install

2) 확인
아래와 같이 test_db.rb 파일을 만들고 쉘상에서 ruby test_db.rb로 실행하여 확인하실 수 있습니다.

require "mysql"
db = Mysql::new("HOST", "USER_ID", "PASSWORD", "DATABASE")
res = db.query("select * from TABLE_NAME")
res.each_hash do |row|
  puts row['FIELD_NAME']
end 


5. passenger 설치
rails는 자체 웹서버를 구동할 수 있지만 아파치와 연동해서 가상 호스트로 사용하는 것이 편하기 때문에 passenger를 설치합니다. passenger외에도 다양한 웹서버가 존재하지만 설치가 가장 간편하기 때문에 passenger를 선택했습니다.

개발시에는 로그나 오류메시지를 친절하게 보여주는 Webrick이나 Mongrel을 사용하는 것이 더 편할 것 같습니다.

1) 설치
현재 버젼은 2.0.3이며 gem으로 설치할 수 있습니다.

> gem install passenger
> passenger-install-apache2-module

2) httpd.conf 파일 수정
메시지를 확인해 보시고 엔터를 입력합니다. 아파치 httpd.conf에 아래의 내용을 추가합니다. (서버의 환경과 버젼에 따라 수정해야될 부분이 있을 수도 있습니다)

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so

PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.3
PassengerRuby /usr/local/bin/ruby

3) 가상 호스트 등록
httpd-vhosts.conf에 사용할 호스트를 추가하고 아파치를 재시작 합니다. 도메인과 디렉토리는 환경에 맞게 수정합니다.

<VirtualHost *:80>
    ServerName DOMAIN
    DocumentRoot /home/zzerr/www/public
</VirtualHost>


6. 테스트

1) 프로젝트 생성
이제 적당한 디렉토리에서 아래와 같이 실행하여 rails 프로젝트를 생성합니다.

> rails www -d mysql

2) 확인
웹브라우져에서 아파치에 가상호스트로 등록했던 도메인을 입력하여 아래와 같은 메시지가 나오는지 확인합니다.



이제 본격적으로 삽질할 준비를 완료했습니다. 루비온레일즈 초보자의 설치기를 올려 보았는데, 뭐 좋은 거(?) 알고 계신 분들은 많은 조언 부탁드리겠습니다.

'기타' 카테고리의 다른 글

3. Rails 어플리케이션 기본 설정  (4) 2008.10.21
2. Rails 어플리케이션 생성  (0) 2008.10.20
1. Ruby on Rails 설치 및 설정  (4) 2008.10.15
아이팟 터치 2세대  (8) 2008.10.10
OS X 루트계정 활성화  (6) 2008.10.08
nib 파일 둘러보기  (7) 2008.09.01
모든 댓글을 환영합니다. (욕설과 광고는 삭제합니다.)
  1. Favicon of http://fzud.tistory.com BlogIcon fzud 2008.10.16 09:46  댓글주소  수정/삭제  댓글쓰기

    기본적으로 레오파드 라면 루비온레일즈를 쓰기 좋은 환경이 거의 기본으로 설치되어있어서 커맨드 몇라인 정도만 쳐주시면 완벽하게 쓰기 좋은 환경이 되더군요. 레일즈 최신버전에서는 db가 기본적으로 sqlite3로 되어 있는데 mysql모듈의 경우 레일즈 예전버전에서는 기본지원이었으나 최근버전에는 따로 설치를 해주면 되는데 설치 스크립트가 따로 있기때문에 역시 한줄로 끝.. 다만 제대로 적용할려면 /config/database.yml 파일을 약간 수정할 필요가 있긴하더군요.. 레일즈는 운영체제와 버포 버전에 따라서 세팅방법이 조금식 다르니 그점을 고려해야 할것 같습니다.

    무엇보다 맥에서 rails개발이 좋은게 textmate라는 너무나 강력한 툴때문이 아닐까 생각합니다.rails개발때문에 textmate를 쓰기위해 맥을 사서 쓴다는 사람이 종종 있으니..

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2008.10.16 12:06 신고  댓글주소  수정/삭제

      textmate가 좋다는 소리는 들었는데 사용해 본적은 없습니다. 술 좀 줄이고 구입해야겠네요. ^^;;

      좋은 말씀 감사합니다. 많은 도움이 되었습니다. :)

  2. hckyun 2012.02.27 18:11  댓글주소  수정/삭제  댓글쓰기

    감사합니다. 오래된 글인데 많은 도움이 되었습니다.