728x90
반응형

오랜만에 글을 올리게 되는군요. Rails 공부하면서 환경설정하는 부분을 정리해보았습니다. 예전에는 Mongrel 을 이용해서 복작습럽게 설치했었는데, 이제는 mod_rails(passenger)를 이용해서 아주 간단하게 설치/설정을 할 수 있게 되었네요. 본 설치설명서에서는 Debian Linux Squeeze(또는 etch) 에서 설치하는 것을 가정합니다.

기본 패키지 설치
# apt-get install ssh ntp htop build-essential vim vim-ruby
루비 설치

* 루비 패키지 설치

# apt-get install ruby irb ri rdoc ruby1.8-dev libopenssl-ruby

* /etc/profile 수정

export PATH=/var/lib/gems/1.8/bin:$PATH

* gem 소스 설치 : 2009년 3월 2일 현재 1.3.1 이 최신 버전이다.

# cd /usr/local/src
# wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
# tar xvfz rubygems-1.3.1.tgz
# cd rubygems-1.3.1
# ruby setup.rb

위와 같이 설치하면 /usr/bin/gem1.8 으로 gem 실행파일이 생성된다. 그러므로 다음과 같이 심볼릭 링크를 만들어주면 gem 으로 실행할 수 있을 것이다.

# cd /usr/bin
# ln -s gem1.8 gem

* gem 업데이트

# gem update; gem update --system
Rails 설치

* Rails 2.2.2 를 설치한다.

# gem install rails -v=2.2.2
PostgreSQL 설치

* PostgreSQL 설치

# apt-get install postgresql-8.3 postgresql-server-dev-8.3

* 사용자, DB 생성

# su - postgres
# psql
template1=# CREATE USER 아이디 WITH PASSWORD '비밀번호';
template1=# CREATE DATABASE 디비이름 WITH ENCODING='utf-8' OWNER 아이디;

* 계정으로 로그인할 수 있도록 연결설정

# su -
# cd /etc/postgresql/8.3/main/
# vi pg_hba.conf
모두 주석으로 막고 아래만 남김
host    all         all         0.0.0.0           0.0.0.0           password
local   all         postgres                                        trust
local   all         all                                             password
# /etc/init.d/postgresql restart
# psql -d 디비이름 -U 아이디 -W
프로젝트 생성

* postgres 모듈 설치 / 프로젝트 생성

# gem install postgres
# mkdir -p /opt/project
# cd /opt/project/
# rails 프로젝트이름 -d postgresql

* config/database.yml 수정

development:
  adapter: postgresql
  encoding: unicode
  database: 디비이름
  pool: 5
  username: 아이디
  password: 비밀번호
Apache 2.2 + mod_rails 설치

* Apache 2.2 설치

# apt-get install apache2 apache2-utils apache2-prefork-dev

* mod_rails(passenger) 설치

# gem install passenger
# passenger-install-apache2-module

* passenger 설정

# vi /etc/apache2/mods-available/passenger.load
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6
PassengerRuby /usr/bin/ruby1.8
# Change this depending on the amount of memory your server has.  For a 256MB system, a value of 2 is suggested.
# For a system with 2 GB of memory, a value of 30 is suggested.  The default value is 6.
# PassengerMaxPoolSize 2

# a2enmod passenger

* 버추얼 호스트 설정

# vi /etc/apache2/sites-available/프로젝트이름
NameVirtualHost *:80
<virtualhost *:80="">
    ServerName 도메인이름
    DocumentRoot /opt/project/프로젝트이름/public
</virtualhost>
# a2ensite 프로젝트이름
# a2dissite 000-default
# /etc/init.d/apache2 restart
728x90
반응형

+ Recent posts