레드마인버전지원루비버전레일스버전 현재 trunk ruby 8.7, 9.2, 9.3, 0.0, jruby-7.6 Rails 3.2 4, 5 ruby 8.7, 9.2, 9.3, 0.0, jruby-7.6 Rails 3.2 지원환경 패키지설치작업이므로아래의작업은모두 root

Similar documents
1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

목차 1. 사전준비 mod_ssl OpenSSL 인증서파일 2. 주의사항 신규및갱신구분 CSR 직접생성여부 3. 인증서설치 httpd.conf 설정 httpd-ssl.conf 설정 갱신설치 서비스재시작 4. 확인및테스트 서비스구동확인 네트워크상태확인 방화벽확인 실제브라

PowerPoint 프레젠테이션

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Apache install guide

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Apache( 단일도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Apache( 단일도메인 ) SSL 인증서신규설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

Windows 8에서 BioStar 1 설치하기

Apache( 멀티도메인 ) SSL 인증서신규설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

정적으로 설치된 mod_ssl 모듈확인 동적으로 설치된 mod_ssl 모듈확인 웹서버에 설치된 모듈중 mod_so.c 를 먼저 확인후 동적으로 설치된 모듈중 mod_ssl.so 를 확인합니다. 동적으로 설치된 경우 apache 설치 디렉토리의 module 이나 libe

Apache( 단일도메인 ) SSL 인증서신규설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

Apache( 단일도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

Apache( 멀티도메인 ) SSL 인증서신규설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

Apache( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

1. 발급받으신인증서를해당서버폴더에업로드또는저장합니다. 설명 : [$Apache] = Apache 디렉토리. 소스버전의경우 Apache]# mkdir conf/ssl Apache]# cp

Microsoft Word - src.doc

SSL인증서 설치 매뉴얼 (Apache)

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

BEA_WebLogic.hwp

Apache( 멀티도메인 ) SSL 인증서신규설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

ApacheWebServer.hwp

4. CSR 값확인. (vi csr.pem) CSR(Certificate Signing Request) 즉, 인증서서명요청입니다. 이는자신이설치할웹서버에서 DN 값, 각종정보를암호화한파일로써 한국전자인증 신청란에서붙여넣으면됩니다. 인증서설치 1. 직접 CSR 및 KEY

1. 발급받으신인증서를해당 SSL 폴더에업로드또는저장합니다. Apache source 및 package 구분아파치경로확인명령어 : ps ef grep httpd -source: /usr/local/apache [ 경로및 apache이름은상이할수있음 ] -> 확인경로에설

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

Apache 설치방법보기 Apache 웹서버에 SSL 를적용하기위해아래두항목이웹서버에설치되어있어야합니다. - Openssl 암호화라이브러리 - Mod_ssl 모듈 위두항목이웹서버에설치되어있다면개인키를생성하고생성된개인키를바탕으로 CSR 파일을생성합니다. 생성된 CSR 파

작성자 : 기술지원부 김 삼 수

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

untitled

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

PowerPoint 프레젠테이션

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

단계

Microsoft PowerPoint - 07-EDU-Apache-9-1.ppt

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

RHEV 2.2 인증서 만료 확인 및 갱신

PowerPoint 프레젠테이션

게시판 스팸 실시간 차단 시스템

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

MySQL-Ch10

운영체제실습_명령어

4. CSR 값확인. (vi csr.pem) CSR(Certificate Signing Request) 즉, 인증서서명요청입니다. 이는자신이설치할웹서버에서 DN 값, 각종정보를암호화한파일로써 한국전자인증 신청란에서붙여넣으면됩니다. 인증서설치 1. 직접 CSR 및 KEY

Report Designer V3.0 사용설명서 2장

BEef 사용법.pages

LXR 설치 및 사용법.doc

Install stm32cubemx and st-link utility

슬라이드 1

/chroot/lib/ /chroot/etc/

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Microsoft PowerPoint - 10Àå.ppt

Secure Programming Lecture1 : Introduction

Slide 1

Microsoft Word - SSL_apache.doc

SPECweb Install

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

MySQL-.. 1

PowerPoint 프레젠테이션

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

PowerPoint 프레젠테이션

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

untitled

개정이력 버전 개정일 개정내용 Ver 년 5월 Apache Web Server SSL 설명서최초작성 Ver 년 1월 인증서갱신방법, 다중 SSL 서버설정방법추가 Ver 년 12월 암호체계고도화관련키길이변경 (2,048bit)

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

WebtoB.hwp

Remote UI Guide

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

SSL Strip Attack JAC (SemiDntmd) 이우승 semidntmd.tistory.com

슬라이드 1

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

Apache를 이용한 CSR 생성방법

Server Agent Guide

Microsoft Word - CAE 클러스터 환경 구축-ABAQUS.doc

슬라이드 1

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

untitled

EJRWXFSEKSPJ.hwp

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

Microsoft Word - cents_yum 으로 APM_zend_optimizer_정현호_.doc

PowerPoint 프레젠테이션

INDEX 1. 개요 데이터백업스크립트작성 crontab 을이용한자동백업예약 활용 - 다른서버에백업하기

슬라이드 1

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

Report Designer V3.0 사용설명서 2장

OnTuneV3_Agent_Install

초기설정 WebtoB Web Server 에서인증서를사용하기위해 CSR 을생성하는방법입니다. 1. 초기설정 - CSR 을생성하기전에다음의몇가지사항을필히확인합니다. 부팅후 Path 나환경변수를일일이설정하지않게초기설정파일을사용하여로그인시자동으로실행되도록하고있습니다. 그러나

Transcription:

레드마인설치 레드마인은루비온레일스프레임워크를사용 작업순서 Ignore RHEL/CentOS 6 에 redmine 설치 사전작업 DB 와개발도구설치 DBMS 설정개발도구설치레드마인설치 ruby 패키지설치환경설정스키마와데이타마이그레이션파일시스템권한메인환경설정레드마인구동 Apache httpd 와연동 SSL(HTTPS) 로연동 unicorn 으로디플로이 사전작업 DB 와개발도구설치 이제레드마인을설치하기위한환경을알아보자. 레드마인은루비온레일스프레임워크를사용하므로지원하는루비인터프리터의버전과레일스버전이중요하다. 아래의표처럼최소루비버전은 8.7 이며 RHEL/CentOS 에는이버전이탑재되어있지만출시된지오래되서제품수명이종료된상태이다. gitlab 설치에사용한 0 버전의루비를사용하도록하자.

레드마인버전지원루비버전레일스버전 현재 trunk ruby 8.7, 9.2, 9.3, 0.0, jruby-7.6 Rails 3.2 4, 5 ruby 8.7, 9.2, 9.3, 0.0, jruby-7.6 Rails 3.2 지원환경 패키지설치작업이므로아래의작업은모두 root 로실행해야한다. 먼저루비인터프리터를설치하자. gitlab 을설치한독자라면이미설치되어있을테니건너뛰고설치하지않은독자는미리컴파일한 0 버전의 rpm 을 github 에서다운로드받자. wget https://github.com/lesstif/ruby-rpm/releases/download/v0.1/ruby-0.0p451-el6.x86_6rpm 레드마인은모든설정파일이 yaml 형식을사용하고있다. 그러므로 yaml 형식을파싱할수있는 libyaml 라이브러리가필요하나기본패키지에포함되어있지않으므로 EPEL 저장소설치가필요하다. rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 3. yum 명령어로루비패키지를설치한다. 5. yum localinstall ruby* 이슈관리와버전관리연동은매우중요하고유용한기능이다. 연동을위해사용하는버전관리클라이언트패키지를설치해두자. 이책에서는서브버전과 git 만사용한다고가정하도록하겠다. 패키지설치는 "10.2 서브버전설치 " 와 "10.3.1 git 설치 " 를참고하자. 레드마인은 ImageMagick 이라는그래픽라이브러리를필요로한다. 이라이브러리가설치되어있으면첨부된이미지파일의썸네일을만들수있고간트차트를 PNG 로변환할수있다. PNG 변환시한글이정상적으로출력되려면미리한글폰트가설치되어있어야한다. 무료폰트인네이버나눔폰트를시스템의폰트디렉터리인 / usr/share/fonts/ 밑에 nanum 디렉터리에설치해놓자. wget http://cdn.naver.com/naver/nanumfont/fontfiles/nanumfont_ttf_all.zip unzip NanumFont_TTF_ALL.zip -d /usr/share/fonts/nanum DB 와개발도구설치 개발도구설치 DBMS 설정 레드마인은다음표와같은 DBMS 를지원하고있다. 이중에 SQLite 는가볍고속도는빠지만여러개의쓰레드나프로세스가동시에사용할때동시성제어문제가있고 DBMS 를별도의시스템으로분리하거나확장할때도문제가되므로혼자쓰는레드마인이아니라면사용하지않는게좋다. 그외에 DBMS 들은위문제가없으므로어느것을사용해도되지만 gitlab 도같이사용하고있는 MySQL 을사용해보자. MySQL 의경우 5.0 이상의버전을지원하므로 RHEL/CentOS 에기본탑재된 MySQL 을사용해도문제가없다. MySQL 설치는 "7.1 항목 " 을참고하자. DBMS MySQL 버전 5.0 이상

PostgreSQL Microsoft SQL Server 8.2 이상 2008 이상 SQLite 3 지원 DBMS 레드마인설치시 ruby 용 MySQL 의커넥터를빌드하는과정이있으므로 MySQL 개발패키지 (mysql-devel) 를꼭설치해야한다. 최신버전의 MySQL 을설치하는경우에도 devel 이들어가는패키지를설치해야한다. 패키지명은저장소에따라다르나보통 mysql55w-devel 처럼앞에 MySQL 의버전이붙고뒤에용도를기술하는형식으로되어있다. MySQL 설치와설정이완료되었다면레드마인이사용할데이타베이스와계정을생성해보자. CREATE DATABASE redmine CHARACTER SET utf8; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; 개발도구설치 설치과정중 MySQL 커넥터등루비네이티브확장 (ruby native extension) 을빌드해야하니 GCC 컴파일러설치가필요하다. yum install gcc -y 레드마인의간트차트 (Gantt Chart) 를 PNG 로내보내려면그래픽처리라이브러리인 ImageMagick 개발라이브러리가필요하다. yum install ImageMagick-devel -y 3. 루비패키지의의존성관리자인 Bundler 를설치한다. gem install bundler 다른웹어플리케이션처럼레드마인도루트로실행하지않는게보안상안전하다. 레드마인을구동할사용자계정을생성하고암호를설정하자. adduser redmine passwd redmine OpenID 를지원하려면 Ruby OpenID Library 를설치한다. gem install ruby-openid 정상설치여부확인 $ irb irb> require 'rubygems' => false irb> gem 'ruby-openid' => true 레드마인설치

레드마인설치 이제부터는레드마인계정으로실행하면된다. 레드마인을다운로드하고구동에필요한패키지를설치할순서이다. 홈페이지에서버전별로.tar.gz 이나 zip 으로된패키지를제공하지만레드마인을개발하는데사용하는버전관리시스템인서브버전으로직접소스를다운로드받아서설치해보자. 서브버전에서소스를체크아웃해서설치할경우마이너버전업그레이드가용이한장점이있다. 레드마인서브버전저장소에서소스를체크아웃한다. 업그레이드예제를위해 4-stable 브랜치의마지막버전대신 2 버전 ( 리비전 12449) 을체크아웃받아보자. svn co http://svn.redmine.org/redmine/branches/4-stable redmine-4 -r 12449 레드마인버전이변경되도관리가용이하도록 redmine 이라는심볼릭링크를하나만들고 redmine 디렉터리에서작업을진행하도록하자. ruby 패키지설치 ln -s redmine-4 redmine cd redmine 이제루비관련라이브러리를설치하고설정할순서이다. 사용하는데이타베이스종류및연결정보를설정하자. 이정보는 config/database.yml 에설정한다. 먼저기존설정파일을복사한다. cp config/database.yml.example config/database.yml 에디터로 config/database.yml 을연결정보를설정한다. production: adapter: mysql2 database: redmine host: localhost //FORMAT username: redmine //FORMAT password: "my_password" //FORMAT encoding: utf8 3. 패키지관리자인 bundle 로구동에필요한패키지를설치한다. bundle install --without development test --path vendor/bundle 다음과같은에러메시지가나왔다면 MySQL 개발패키지 (mysql-devel) 가설치되지않은것이다. 해당패키지설치여부를 devel 이설치되지않으면 bundle install 이실패한다. An error occurred while installing mysql2 (0.3.15), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.3.15'` succeeds before bundling.

5. Ruby용 ImageMagick 을설치한다. bundle install --without development test rmagick 다음과같은메시지가나오고설치에실패했다면 ImageMagick 개발패키지가설치되지않아서이다. 사전작업을참고해서설치한후에다시 bundle 명령어를실행하자. Gem files will remain installed in /usr/lib/ruby/gems/8/gems/rmagick-13.2 for inspection.results logged to /usr/lib /ruby/gems/8/gems/rmagick-13.2/ext/rmagick/gem_make.out An error occurred while installing rmagick (13.2), and Bundler cannot continue. Make sure that `gem install rmagick -v '13.2' ` succeeds before bundling. 환경설정 환경설정 스키마와데이타마이그레이션 이제부터는레드마인구동에필요한기본데이타를생성하고데이타베이스스키마를마이그레이션하는단계이다. HTTP 의 cookie data 를암호화하기위해사용하는 random key 를생성한다. bundle exec rake generate_secret_token 데이타베이스스키마오브젝트생성을위해 db:migrate 명령어를실행한다. RAILS_ENV=production bundle exec rake db:migrate 3. 이슈타입 (Issue type), 우선순위 (Priority), 상태등기본레드마인데이타를생성한다. RAILS_ENV=production bundle exec rake redmine:load_default_data 기본데이타생성중사용할언어를물어보면 ko 를입력한다. 질문없이진행하려면위의 load_default_data 명령어실행시 REDMINE_LANG=ko 옵션을추가하면한국어를기본언어로설정한다. 파일시스템권한 레드마인을구동하는계정은레드마인하위의다음디렉터리에대해쓰기권한이있어야한다. 3. files - 스토리지및첨부파일저장 log - 어플리케이션로그파일 tmp, tmp/pdf - PDF 생성등각종임시파일이생성되는디렉터리 public/plugin_assets - css, javascript 등플러그인에필요한자산 (asset) 파일들 3 번과 4 번은레드마인패키지에포함되어있지않은디렉터리이므로직접생성해야한다. mkdir -p tmp tmp/pdf public/plugin_assets

메인환경설정 redmine 의설정은 config/configuration.yml 에저장된다. 설정파일이없으면 configuration.yml.example 를 config/configuration.yml 로복사한다. cp config/configuration.yml.example config/configuration.yml redmine 에서이슈등록 / 변경 / 삭제등이벤트발생시 email 을전송할수있게사용하는 SMTP 서버정보를설정한다. 7.2 절에설명한로컬에설치한 Postfix 를사용할경우아래와같이간략하게설정이가능하다. default: # Outgoing emails configuration (see examples above) email_delivery: delivery_method: :smtp smtp_settings: address: localhost port: 25 gmail 을사용할경우주석으로막혀있는다음부분을주석을해제해주고사용하는 id 와 password 로변경해주면된다. production: email_delivery: delivery_method: :smtp smtp_settings: enable_starttls_auto: true address: "smtp.gmail.com" port: 587 domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps authentication: :plain user_name: "mygmailid@gmail.com" password: "my_gmail_passwd" gmail 을통해메일을전송하려면계정에대해이단계인증을해제하고보안수준을낮춰야한다. 자세한내용은 gmail 의설명서를참고하자. 어플리케이션데이타와어플리케이션은분리하는게좋으므로첨부파일의경로를변경한다. 단 root 사용자로 /var/redmine/files 를생성하고소유자를 redmine 사용자로변경해주어야한다. attachments_storage_path: /var/redmine/files 3. 사용하는버전관리설치경로가다르다면 SCM 명령어설정항목에서절대경로로설정해야한다. 패키지로설치했을경우 /usr/bin 에설치되므로특별한설정이필요하지않다. scm_subversion_command: scm_git_command: 간트차트를 PNG 로변환할때한글이제대로표시되려면이미지처리라이브러리인 ImageMagick 에한글폰트를지정해주어야한다. 무료폰트인나눔고딕폰트를사용해보자. 독자들의선호에맞게폰트설정은변경하면된다.

rmagick_font_path: /usr/share/fonts/nanum/nanumgothic.ttf 레드마인구동 제대로설치되었는지테스트하기위해 rails 에내장된간단한웹서버인 webrick 을구동해보자. webrick 은 -p 옵션뒤에는사용할포트번호를지정하며옵션을생략하면기본적으로 3000 번포트를사용한다. ruby script/rails server webrick -e production -p 3000 정상적으로구동이되었어도 3000 번포트이므로외부에서연결하려면 iptables 로방화벽을열고웹브라우저에서는포트번호를명시해서접속해야한다. 이는번거로운작업이고사용시에도 URL 에포트를적어야하므로불편하니아파치가레드마인의 3000 번포트에대해리버스프록시로동작하도록설정하여 3000 번포트를열지않아도외부에서접속할수있게해보자. Apache httpd 와연동 웹서버연결다음은레드마인용아파치웹서버의가상호스트설정이다. 가상호스트설정파일을분리했다면 /etc/httpd/conf/httpd-vhost.conf 파일을만들었다면여기에설정하고아니라면 /etc/httpd/conf/httpd.conf 에설정하도록하자. 자세한내용은 "8.3.3 이름기반가상호스트 " 항목을참고하자. <VirtualHost *:80> ServerName redmine.example.com ErrorLog logs/redmine-error_log CustomLog logs/redmine-access_log common ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ </VirtualHost> 3000 번포트는 ntop_port_t 라는 SElinux 보안컨텍스트에할당이되어있으므로아파치웹서버가연결할수없다. semanage 명령어로보안컨텍스트를수정하여아파치웹서버가레드마인에연결할수있도록설정해보자. ntop_port_t 가 3000 에할당되었으므로 -a(add) 가아닌 -m(modify) 옵션으로처리해야한다.

semanage port -m -p tcp -t http_port_t 3000 이제웹브라우저로 redmine.example.com 에연결하면다음과같은초기화면이표시되며우측의 " 로그인 " 버튼을누르고 admin/admin 계정으로로그인할수있다. 레드마인초기화면 SSL(HTTPS) 로연동 이슈관리시스템이회사내부에있고외부에서연결해야한다고생각해보자. HTTP 보다는 HTTPS 를사용하는게보안측면에서더적합할것이다. 이는 mod_ssl 을사용하면손쉽게해결할수있으며 mod_rewrite 의 URL 포워딩기능까지결합하면실수로 HTTP 로들어와도 HTTPS 로전환시킬수있다. 먼저다음과같이 conf/httpd-vhost.conf 에 mod_rewrite 와정책을추가하자. <VirtualHost *:80> ServerName redmine.example.com ErrorLog logs/redmine-error_log CustomLog logs/redmine-access_log common ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ RewriteEngine on RewriteCond %{HTTPS}!=on RewriteRule.* https://%{server_name}%{request_uri} [NE,R,L] </VirtualHost> 이제 ssl 설정파일인 conf.d/ssl.conf 에다음과같은가상호스트를추가하면된다. SSLCertificateFile, SSLCertificateKeyFile, SSLCACertificateFile 설정은갖고있는 SSL 인증서와개인키, 그리고 SSL 인증서를발급해준기관의인증서경로를넣어주면된다.

<VirtualHost *:443> ServerName redmine.example.com SSLEngine on SSLCipherSuite SSLv3:TLSv1:+HIGH:!SSLv2:!MD5:!MEDIUM:!LOW:!EXP:! ADH:!eNULL:!aNULL SSLCertificateFile /etc/pki/tls/certs/example.com.crt SSLCertificateKeyFile /etc/pki/tls/private/example.com.key # SSLCACertificateFile /etc/pki/tls/certs/example.com-rootca.crt ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded ErrorLog logs/redmine-ssl-error.log CustomLog logs/redmine-ssl-access.log combined </VirtualHost> 설정이완료되었다면 httpd 를재구동하여 HTTPS 로잘연결되며 HTTP 로연결할경우에 HTTPS 로전환되는지확인해보자. HTTPS 설정과관련된내용은 "8.5.4 mod_ssl" 항목을참고하자. unicorn 으로디플로이 루비로개발된간단한웹서버인 webrick 은주로개발이나테스트단계에서사용하는웹서버이며실제운영환경에서루비어플리케이션을디플로이하기에는성능문제가있다. 운영환경에서루비어플리케이션을디플로이하기위한방법으로는 Phusion Passenger 처럼웹서버에전용모듈로탑재되는디플로이프레임워크를사용하거나푸마나유니콘처럼루비로만든고성능웹서버로디플로이하는방법이있다. Phusion Passenger 가성능이제일뛰어나지만유니콘웹서버도 gitlab 에사용될정도로괜찮은제품이니우리는 gitlab 의디플로이서버인유니콘웹서버를통해레드마인을디플로이해보자. 사용자와데이타가많지않다면유니콘을설치하지않고 webrick 으로디플로이해도큰무리는없다. 유니콘웹서버로레드마인 (redmine) 등의 rails app deploy 하기 http://unicorn.bogomips.org/signals.html 현재 application 에추가할패키지가있다면 Gemfile 을수정하지말고 Gemfile.local 이라는파일을만들고이안에기술하면된다. 선호나는에디터로파일을열어서다음과같이유니콘웹서버관련패키지내용을추가한다. group :unicorn do gem "unicorn", '~> 6.3' gem 'unicorn-worker-killer' end bundle install 명령어로유니콘웹서버를 vendor/bundle 에설치한다. bundle install --without development test --path vendor/bundle

3. unicorn 설치디렉터리에서기본설정파일인 unicorn.conf.rb 를 config/unicorn.rb 로복사한다. cp./vendor/bundle/ruby/0.0/gems/unicorn-6.3/examples/unicorn.conf.rb config/unicorn.rb config/unicorn.rb 를에디터로열어서 app 경로및 port 를수정한다. worker_processes 2 working_directory "/home/redmine/redmine" # available in 0.90+ listen "/home/redmine/redmine/tmp/sockets/.unicorn.sock", :backlog => 64 listen 3000, :tcp_nopush => true timeout 30 pid "/home/redmine/redmine/tmp/pids/unicorn.pid" stderr_path "/home/redmine/redmine/log/unicorn.stderr.log" stdout_path "/home/redmine/redmine/log/unicorn.stdout.log" 5. worker_processes : 서비스를처리할유니콘워커의갯수를지정한다. 기본워커는 4 지만사용자가많지않다면 2 정도로설정해도된다. 많은부하가걸리는서버라면 3 또는 4로지정한다. worker 를 3으로지정시최소 2GB 이상의 RAM 이있어야하며 4GB 이상일경우 worker 를 4로지정한다. working_directory : 레드마인어플리케이션이있는경로를지정한다. listen : 유닉스도메인소켓의경로를지정하는 listen 과포트를지정한 listen 설정두개가있다. 사용하는포트를 8080 에서 3000 번으로변경한다. pid : 유니콘 pid 가저장되는디렉터리경로를설정한다. 해당디렉터리가존재해야에러가발생하지않는다. stderr_path, stdout_path : 유니콘웹서버로그가저장되는경로이다. 번들명령어로유니콘웹서버를실행한다. bundle exec unicorn_rails -D -c config/unicorn.rb -E production 6. 구동성공 / 실패여부를 log/unicorn-stderr.log 를통해확인한다. 7. tail -f log/unicorn.std* 이제정상적으로구동이되었는지브라우저를이용하여레드마인 URL 로접근해보자. 좀전과동일한화면이보이면정상설정된것이다. 유니콘과웹서버설정이정상적으로끝났다. gitlab은별도의구동스크립트를제공하지만레드마인은없으므로유니콘으로레드마인을구동하는방법을스크립트를이용하여간편하게해보자. 다음은시스템서비스를관리할때사용하는 service 명령어와비슷하게작성한구동스크립트로 redmine_unicorn.sh 이름으로레드마인설치디렉터리에저장하고 chmod +x redmine_unicorn.sh 로실행권한을부여하자. #!/bin/sh export RAILS_ENV=production USER=`whoami` PIDS="" getpids() { local procname=$1 if [ "$#" = 0 ] ; then echo $"Usage: getpids {procname} " return fi

PIDS=`ps -eaf grep unicorn grep ${procname} grep -v grep grep ${USER} awk '{print $2}' paste -d" " -s` } start() { bundle exec unicorn_rails -D -c config/unicorn.rb RETVAL=$? if [ $RETVAL!= 0 ];then tail log/unicorn.stderr.log fi } stop() { getpids "master" if [! -z ${PIDS} ];then echo "sending TERM signal to unicorn master ${PIDS}" kill -TERM ${PIDS} fi } status() { getpids "master" MASTER=${PIDS} getpids "worker" WORKER=${PIDS} echo "Unicorn master $MASTER and worker ($WORKER) is running..." } case "$1" in start) start status ;; stop) stop ;; about) ruby script/about ;; status) status ;; restart) stop start status ;; *) echo $"Usage: $0 {start stop restart about status restart}" RETVAL=2 esac 이제위스크립트를사용하여길고복잡한시작명령어와종료절차를단순화할수있다. 먼저유니콘으로레드마인을시작해보자.

./redmine_unicorn.sh start 레드마인구동여부는 status 명령어로확인할수있다. 유니콘은마스터프로세스가있고 unicorn.rb 에설정한워커프로세스갯수만큼프로세스가생성된다. 다음은워커가 2 개일경우결과이다../redmine_unicorn.sh status Unicorn master 3916 and worker (3922) is running... 유니콘웹서버를종료하려면 stop 옵션을주면유니콘마스터프로세스에종료시그널인 TERM 시그널을전송한다../redmine_unicorn.sh stop sending TERM signal to unicorn master 3916 재시작을하려면 restart 옵션을주면된다../redmine_unicorn.sh restart sending TERM signal to unicorn master 3916 Unicorn master 2643 and worker (2649) is running... 재구동 unicorn 은마스터프로세스가 HUP 시그널수신시설정파일을다시읽고모든워커프로세스를재시작한다. ps -eaf grep "unicorn_rails master" grep -v grep awk '{print "kill -HUP "$2}' sh -x QUIT - graceful shutdown, waits for workers to finish their current request before finishing. INT/TERM - quick shutdown, kills all workers immediately 이제레드마인의설치와설정이모두끝났다. 이제부터레드마인의사용법에대해서알아보자.