"RORLa" 오픈소스 프로젝트 매뉴얼

CentOS 6.5 x86_64 서버 최소판 설치


시스템 업데이트

: Development Tools를 설칠할 때 git도 함께 설치된다. (2014년 3월 7일 현재 - 1.7.1 버전, 그러나 최신버전은 1.9.0)

# yum -y update
# yum -y groupinstall "Development Tools"

Sudo 패키지 설치

: 최소판에는 sudo가 설치되어 있지 않으므로 아래와 같이 sudo 패키지를 설치한다.

# yum install -y sudo

개발툴 설치

# yum groupinstall -y "Development Tools"

Deployer 유저 등록

: 서버 배포를 위한 유저를 등록한다.

  • 통상 deployer라는 유저명을 사용한다.

    # useradd deployer
    # passwd deployer
    
  • /etc/group 파일을 에디터(vi)로 열고 wheel 그룹에 deployer를 추가하고,

    # vi /etc/group
    wheel:x:10:root,deployer
    
  • /etc/sudoers 파일을 열어 wheel 그룹에 대해서 아래와 같이 코멘트 표시(#)를 삭제한다.

    ## Allows people in group wheel to run all commands
    %wheel  ALL=(ALL)       ALL
    ## Same thing without a password
    %wheel  ALL=(ALL)       NOPASSWD: ALL
    
  • sshd를 재시작한다.

    # service sshd restart
    

Firewall 설정

: 방화벽에서 80포트를 열어둔다.

# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  • iptables를 재시작한다.

    # service iptables restart
    

Nginx 서버

  • http://wiki.nginx.org/Install

  • nginx의 yum 저장소를 추가하기 위해서, /etc/yum.repos.d/nginx.repo 파일을 생성하고 아래의 옵션을 붙여 넣는다.

    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=1
    

    : CentOS, RHEL, Scientific Linux가 릴리스 버전($releasever) 변수에 따라 원하는 값으로 대체한다. OS 버전에 따라 5.x는 "5", 6.x 는 "6"을 사용하면 된다. $basesearch 에는 "x86_64" 값을 지정한다.

  # yum install -y nginx
  # chkconfig --levels 235 nginx on
  # mkdir -p /etc/nginx/sites-enabled
  # vi /etc/nginx/nginx.conf
  • 설치하고 /etc/nginx 디렉토리에 sites-enabled 폴더를 생성해 준다. 그리고 /etc/nginx/nginx.conf 파일 32번 줄에 include /etc/nginx/sites-enabled/*.conf; 추가한다.

  • include /etc/nginx/sites-enabled/*.conf; 을 추가하고, user를 deployer로 변경한다.

  • nginx 를 시작한다.

    # /etc/init.d/nginx start
    

MySQL (5.5.36) 서버 (ref.)

  • MySQL 서버를 설치하기 전에 mysql 관련된 것을 모두 제거한다.

    # yum remove mysql mysql-* -y
    # cd /etc/yum.repos.d
    # wget http://rpms.famillecollet.com/enterprise/remi.repo
    # yum --enablerepo=remi install -y mysql mysql-server mysql-devel
    # chkconfig --levels 235 mysqld on
    # service mysqld start
    # mysql_secure_installation
    
  • /etc/my.cnf 파일에 아래 줄을 추가해 준다.

    [mysqld]
    character-set-server = utf8
    
  • 권한을 승인한다.

    # mysql -u root -p
    
    mysql> grant usage on *.* to deployer@localhost identified by 'password';
    

NodeJs 설치

: [참고] : https://www.digitalocean.com/community/articles/how-to-install-and-run-a-node-js-app-on-centos-6-4-64bit

# cd /usr/src
# wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
# tar zxf node-v0.10.26.tar.gz
# cd node-v0.10.26
# ./configure
# make   (6-7분 소요됨)  pc 사양이 좋으면 3분안에 끝나기도 함 ㅎㅎㅎ.
# make install

ImageMagick 설치 (시간 많이 걸리네~)

# yum install -y tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel
# wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz

# tar -xzvf ImageMagick.tar.gz
# cd ImageMagick-6.8.8-7
# ./configure --prefix=/usr/local --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes

# make
# make install
# convert --version
# yum install -y ImageMagick-devel
  • deployer 계정 홈페이지의 .bashrc 파일에 아래를 추가한다.

    # su deployer
    # vi ~/.bashrc
    
    export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
    
  • 그리고, root 계정으로 접속해서

    # ln -s /usr/local/include/ImageMagick/wand /usr/local/include/wand
    # ln -s /usr/local/include/ImageMagick/magick /usr/local/include/magick
    # ldconfig /usr/local/lib
    # su deployer
    # cd ~
    


배포

: 이후부터는 로컬에서 capistrano로 배포작업을 수행한다.

  • 프로젝트의 Gemfile 파일에 아래의 젬을 추가하고 bundle install 한다.

    gem 'capistrano-rbenv'
    
  • capistranocapistrano-rbenv 젬을 레일스 프로젝트의 gemfile에 추가하여, bundle install 하면, capistrano로 배포시, 특히, cap deploy:setup 명령을 실행하면, 자동으로 rbenvruby-build가 설치되고, 디폴트로 1.9.3-p194 버전 루비가 설치된다. config/deploy.rb 파일에 set :rbenv_ruby_version, "1.9.3-p286" 와 같이 추가해 주면, 원하는 루비 버전을 설치할 수도 있다. ref.


부록

: 아래의 설치는 옵션이다.


Postfix 설치

: 서버에서 이메일을 보내고 싶은 경우 설치한다.


Git 업그레이드하기

: 참고 - http://tecadmin.net/how-to-upgrade-git-version-1-7-10-on-centos-6

# rpm -i 'http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm'
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

아래와 같이 rpmforge.repo 파일을 열어서 [rpmforge-extras] 부분의 enabled=0 to 1로 변경한다.

# vim /etc/yum.repos.d/rpmforge.repo

Git 별도설치

: git를 별도록 설치할 때 아래와 같이 한다.

  • git를 소스컴파일로 설치한다. (ref.) 깔금하게 설치된다.
  • 가장 최신버전 1.9.0 (3월 7일, 2014년 현재) ( 버전별 git 다운로드 리스트 보기 )

    # yum install gettext-devel expat-devel curl-devel zlib-devel openssl-devel
    # cd /usr/src
    # wget https://www.kernel.org/pub/software/scm/git/git-1.8.4.tar.gz
    # tar xzvf git-1.8.4.tar.gz
    # cd git-1.8.4
    # make prefix=/opt/git all
    # make prefix=/opt/git install
    # export PATH=”/opt/git/bin:$PATH”
    


구글링 자료 모음


작성일 : 2014년 3월 7일

최종갱신일 : 2014년 3월 8일 오전 8:20 현재

작성자 : 최효성, ROR Lab.