2009-03-03

Install Apache 2.2 + Passenger + PostgreSQL

오랜만에 글을 올리게 되는군요. 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

댓글 없음:

댓글 쓰기