공개 SW 솔루션설치 & 활용가이드 응용 SW > 협업관리 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide
CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리
- 3-1. 개요 소개 웹기반의프로젝트관리및이슈트래킹툴 주요기능 다중프로젝트들의관리및이슈트래킹 캘린더및간트차트의제공 이메일알람기능제공 플러그인및 REST API 제공 Subversion, CVS, Mercurial, Bazaar & Git 과같은 SCM 지원 대분류 응용 SW 소분류 협업관리 라이선스형태 GNU GPL v2 사전설치솔루션 Ruby, Database 실행 OS 특징 보안취약점 개발회사 / 커뮤니티 공식홈페이지 Ruby 를사용할수있는거의모든 OS (Unix, Linux, macos, macos Server, Windows) 유연한역할기반접근제어 프로젝트별게시판기능제공 여러데이터베이스지원 버전 3.4.6 (2018 년 10 월기준 ) 취약점 ID : CVE-2017-18026 심각도 : 8.8 HIGH(V3) 취약점설명 : Mercurial hg 프로그램에대한 --config 및 --debugger 플래그를차단하지않으므로원격공격자가임의의명령을실행가능 대응방안 : 3.3.9 이상으로업데이트 참고경로 : https://www.redmine.org/projects/redmine/wiki/security_advisories http://www.redmine.or.kr/projects/community http://www.redmine.org
- 4-2. 기능요약 Redmine 의주요기능 주요기능다중프로젝트의트래킹업무단위의할당및제한적접근이슈트래킹 (Issue Tracking) 캘린더기능및간트챠트이메일알림기능 LDAP 인증다양한 SCM (SVN,CVS 등 ) 지원여부지원지원지원지원지원지원지원
3. 실행환경 사용가능버전 비고 사용버전 Redmine 3.4.6 2018 년 10 월기준 실행 OS 사전설치솔루션 Ruby 를사용할수있는거의모든 OS (Unix, Linux, macos, macos Server, Windows) Database Ruby 1.9.3 이상 /Rails 4.2 이상 MySQL 5.0 ~ 5.5 PostgreSQL 8.3 이상 MSSQL 2012 이상 SQLite 3 웹서버 (apache, ngix, ) JRuby는지원하지않음 MySQL 5.6 이상또는 MariaDB에서는문제발생 8.4.0과 8.4.1에서는버그존재멀티사용자용제품은지원하지않음웹페이지를이용해서실행되는환경 Redmine 버전사용가능한 Ruby 버전사용가능한 Rails 버전 4.0 ( 예정 ) Ruby 2.2 (2.2.2 and later), 2.3, 2.4, 2.5 Rails 5.2 3.4 Ruby 1.9.3, 2.0.0, 2.1, 2.2, 2.3, 2.4 Rails 4.2 3.3 Ruby 1.9.3, 2.0.0, 2.1, 2.2, 2.3 Rails 4.2 Redmine 버전에따른 Ruby 버전 - 5 -
- 6-4. 설치및실행 세부목차 4.1 설치환경및설정 4.2 소스코드다운로드 4.3 데이타베이스생성및사용자설정 4.4 데이타베이스접속설정 4.5 의존성파일들설치 & 비밀키생성및저장 4.6 데이타베이스스키마생성 & 데이타셋설정 4.7 파일시스템퍼미션설정 4.8 인스톨테스트 & 로그인 4.9 패키지를이용한쉬운설치 (Bitnami)
- 7-4. 설치및실행 4.1 설치환경및설정 설치환경 CentOS 6 또는 CentOS 7 MySQL 또는 MariaDB (MySQL 5 지원버전 ) Ruby 2.0 이상버전 OS 설정 1. root 계정으로접속 2. /etc/sysconfig/selinux에서 SELinux의값 disable 시킴 3. Redmine에접속하기위한 port를방화벽에서오픈 ( 웹서버용포트 : 주로 80) yum 을이용하여필요한도구들설치 1. yum groupinstall "Development Tools 2. yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel 3. yum install mysql-server mysql-devel 4. yum install httpd httpd-devel 5. yum install ImageMagick ImageMagick-devel
- 8-4. 설치및실행 4.2 소스코드다운로드 http://www.redmine.org/projects/redmine/wiki/download 에서설치용소스코드다운로드 redmine-3.4.6.tar.gz 다운로드및설치디렉토리생성후압축해제 1. mkdir redmine 2. cd redmine 3. tar xvfz./redmine-3.4.6.tar.gz
- 9-4. 설치및실행 4.3 데이타베이스생성및사용자설정 Redmine 의데이터를저장할 redmine( 변경가능 ) 이라는이름의데이타베이스를생성하고 데이타베이스에접근가능한사용자 / 패스워드설정 MySQL 기준으로다음과같은 SQL 실행 MySQL 버전 SQL 5.5.2 상위 CREATE DATABASE redmine CHARACTER SET utf8mb4; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; Utf8mb4 -> utf8 로변경 5.5.2 이하 CREATE DATABASE redmine CHARACTER SET utf8; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; 5.0.2 이하 CREATE USER 구문제외 CREATE DATABASE redmine CHARACTER SET utf8; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'my_password';
- 10-4. 설치및실행 4.4 데이타베이스접속설정 앞서압축을해제한하위디렉토리에있는 config/database.yml.example 파일을 config/database.yml 로복사 MySQL 기준으로다음과같이수정 접속포트 변경사항 기본포트 (3306) production: adapter: mysql2 database: redmine host: localhost username: redmine password: "my_password" 포트변경 ( 예 :3307) production: adapter: mysql2 database: redmine host: localhost port: 3307 username: redmine password: "my_password"
- 11-4. 설치및실행 4.5 의존성파일들설치 & 비밀키생성및저장 아래와같은순서로기본적인의존성파일설치 - gem 과 bundle 같은명령어를실행시키기위해서 Ruby 와 Rails 필요 gem install bundler bundle install --without development test RMagick 을사용하기위해서는 ImageMagick 이미리설치되어있어야함 * 혹시라도, 미리설치되지않았을경우에는아래명령어로 RMagick 의설치스킵 - 간트차트와같은 redmine 화면에서 png/pdf 로내보내기와같은곳에서사용 bundle install --without development test rmagick 다음의명령어를이용해서 Rails 에서사용되는비밀키를생성하고저장 bundle exec rake generate_secret_token
- 12-4. 설치및실행 4.6 데이타베이스스키마생성 & 데이타셋설정 어플리케이션의루트디렉토리에서다음의명령어를실행하여데이타베이스의스키마생성 RAILS_ENV=production bundle exec rake db:migrate 다음의명령어를사용해서데이타베이스의디폴트데이타셋설정 RAILS_ENV=production bundle exec rake redmine:load_default_data 위의명령어입력후콘솔에서한국어일경우 ko 입력 - Redmine 의메뉴들이한국어로표시됨의미
- 13-4. 설치및실행 4.7 파일시스템퍼미션설정 Redmine 을실행하는사용자는다음에나열되는서브디렉토리들의파일에대한쓰기권한이 있어야함 - root 계정의 redmine 압축을해제한디렉토리의서브디렉토리의미 1. files 2. log 3. tmp & tmp/pdf 4. public/plugin_assets 다음과같은명령어를사용해서쓰기권한획득 mkdir -p tmp tmp/pdf public/plugin_assets chown -R redmine:redmine files log tmp public/plugin_assets chmod -R 755 files log tmp public/plugin_assets
- 14-4. 설치및실행 4.8 인스톨테스트 & 로그인 WEBrick 웹서버를구동시켜서인스톨에대한테스트를다음과같이수행 bundle exec rails server webrick -e production WEBrick 서버는테스트용으로만사용하고, 운영을위해서는다른웹서버연동 http://localhost:3000/ 으로접속하여 welcome 페이지가보임 기본관리자로그인 ID/Password 는 admin/admin 임
- 15-4. 설치및실행 4.9 패키지를이용한쉬운설치 (Bitnami) Bitnami 사이트에서제공하는설치패키지를이용하면, 쉽게설치가가능 https://bitnami.com/stack/redmine/installer에서자신의 OS에맞는버전을다운로드 GUI 환경에서설치하는과정은생략하고, 콘솔에서설치하는과정설명 root 사용자로로그인후에, 앞에서다운로드받은디렉토리로이동 인스톨스크립트를실행하기위해서, 파일의모드를다음과같이변경 #chmod 775 bitnami-redmine-3.4.5-1-linux-x64-installer.run #./bitnami-redmine-3.4.5-1-linux-x64-installer.run 스크립트의실행중에아래와같은에러가발생할경우에는 perl 관련모듈설치 Warning: MySQL requires Perl to be installed, but the installer failed to locate it. We highly recommend installing Perl before proceeding with the installation, #yum install perl perl-data-dumper
- 16-4. 설치및실행 4.9 패키지를이용한쉬운설치 (Bitnami) 설치가진행되는중간에는설명을확인하고그에맞는선택 우선은설치할언어선택, 한국어는 4 번임 SCM 의설치항목선택
- 17-4. 설치및실행 4.9 패키지를이용한쉬운설치 (Bitnami) 설치할경로를지정하는화면에서정보를입력하지않고엔터를누르게되면, 디폴트로제시된 경로에설치를하게됨 이후 admin 계정생성을위한정보를요청하게되며, 계정명은영문을사용하여야함 기본데이타셋에서사용할언어선택
- 18-4. 설치및실행 4.9 패키지를이용한쉬운설치 (Bitnami) SMTP 설정과같은추가질문후에설치가끝나면 Redmine 이구동이됨 정상적으로설치가되면, 브라우저에서 localhost 로초기화면을확인할수있으며, 앞서입 력한 admin 계정을이용해서 Redmine 에로그인을할수가있게됨
- 19-5. 기능소개 세부목차 5.1 프로젝트관리 5.2 역할별접근제어 5.3 이슈트래킹 5.4 간트차트 & 캘린더 5.5 타임트래킹 5.6 유연한화면구성
- 20-5. 기능소개 5.1 프로젝트관리 프로젝트를상태별로확인 프로젝트의추가, 종료, 보관이가능 프로젝트의복사및삭제가가능
- 21-5. 기능소개 5.2 역할별접근제어 새로운역할의생성및편집, 삭제가능 프로젝트, 게시판, 문서, 파일, 이슈, 뉴스, 타임트래킹및위키등의접근관련제어체크 박스의체크를이용하여쉽게관리할수있음
- 22-5. 기능소개 5.3 이슈트래킹 이슈트래킹은 Redmine 의핵심기능중의하나임 프로젝트진행중에발생하는각종이슈들을등록하고그이슈가처리되는과정을공유할 수있으며, 발생가능한이슈에대해서미리공유하여논의할수있음
- 23-5. 기능소개 5.4 간트차트 & 캘린더 간트차트를이용하여프로젝트의진행상황을한눈에파악 캘린더를이용해서현재프로젝트의상황을월별로파악
- 24-5. 기능소개 5.5 타임트래킹 사용자별로프로젝트또는이슈별로얼마나많은시간을사용했는지확인
- 25-5. 기능소개 5.6 유연한화면구성 입력하고관리하고자하는항목들을사용자정의항목이라는형태로등록하면입력, 수정, 검색등의기능을할수있어원하는형태의화면구성 일감목록에서표시하고자하는항목들을자유롭게설정해서원하는리스트를만들어볼수있으며다운로드가능
- 26-6. 활용예제 세부목차 6.1 프로젝트별위키생성 6.2 프로젝트별게시판 ( 포럼 ) 생성 6.3 일감을이용한업무관리
- 27-6. 활용예제 6.1 프로젝트별위키생성 (1/3) 새로운위키페이지추가방법 - [[ 제목 ]] 이라고링크를추가하고 저장 한후에 제목 이라는링크를눌러페이지편집
- 28-6. 활용예제 6.1 프로젝트별위키생성 (2/3) 서브위키페이지추가방법 - 이전의 제목 페이지에서상위제목에 Wiki 를선택하고, [[ 소제목 ]] 으로 소제목 링크를이용하여추가페이지편집 - h1., h2., h3. 은글자크기를지정하는태그
- 29-6. 활용예제 6.1 프로젝트별위키생성 (3/3) 위키페이지편집 Syntax
- 30-6. 활용예제 6.2 프로젝트별게시판 ( 포럼 ) 생성 (1/2) 게시판 ( 포럼 ) 을이용하여사용자들간의커뮤니케이션의공간으로활용
- 31-6. 활용예제 6.2 프로젝트별게시판 ( 포럼 ) 생성 (2/2) 게시판 ( 포럼 ) 에새글쓰기 - 권한이부여된사용자만가능
- 32-6. 활용예제 6.3 일감을이용한업무관리 (1/3) 일감을이용하여어떤업무를누가수행할지에대해정의 - 게시글처럼등록, 관리가능 - 업무의중요도, 진행상태, 범주, 진척도, 시작 / 완료기한등의정보를포함 - 수정이가능 검색조건을이용하여일감의검색도가능
- 33-6. 활용예제 6.3 일감을이용한업무관리 (2/3) 새로운일감을등록하고, 현재자신의프로젝트진행상태를표시가능 - 등록된일감에대해서댓글및파일들의추가가가능 - 유형, 제목, 상태, 우선순위, 담당자등의변경가능 - 완료기한, 추정시간, 진척도, 소요시간의변경가능
- 34-6. 활용예제 6.3 일감을이용한업무관리 (3/3) 서로연관된일감을연결가능 - 연결된일감과의관계설정가능
- 35-7. FAQ Q remine3.4.6 에서일감에 pdf 한글파일명이다운로드시깨져서 404 에러가납니다. A 말씀하신현상은이전 Redmine 에서발생한결함으로수정된것으로압니다. 임시적인조치가될수도있겠습니다만, 관리 - 설정 - 파일에첨부파일이나 저장소인코딩을지정할수있습니다. 한글의경우는 euc-kr 을지정해보세요. Q 일감관람자 (Assignee) 에등록되어있는데일감 (Issues) 이보이지않습니다. A 일감목록 (Issue list) 에서안보인다는것은검색조건을보셔야할것같습니다. 기본은일감상태 (Status) 가진행중인것을표시하고있습니다. 이런경우는일감상태 (Status) 가완료되지않은모든일감이표시되는것입니다. 일감관람자 (Assignee) 로지정된일감이내페이지의지켜보고있는일감에서보이게되어있습니다.
- 36-7. FAQ Q 일감관람자 (Assignee) 에 ' 그룹 ' 은어떻게추가하나요? A 그룹도하나의사용자처럼취급하기때문에구성으로추가해야합니다. Q 일감등록시일감표준항목을필수로하려면어떻게해야하나요? A 표준항목에대해서는시스템관리자로로그인한후관리 - 업무흐름 - 항목수 정권한에서필수체크로하시면됩니다. Q 일감을생성할때목표버전입력란이보이지않는경우? A 혹시일감유형에서 ' 목표버전 ' 이사용하지않도록체크가빠져있지는않은지 요?
- 37-8. 용어정리 용어 CentOS GPL Httpd Ruby PMS SCM Ruby on Rails 설명 The Community ENTerprise Operating System GNU General Public License 의약자. 라이선스의종류중하나소스의취득, 수정, 배포, 공개가자유로우나최종배포시 GPL 라이선스를따라야하며, 수정배포시자체개발한소스도공개해야함 Apache 재단에서만든웹서버로써원래이름이 apache httpd 이기때문에단독으로 apache, httpd 라고부르기도하며, 본문에서는 httpd 라고함 마츠모토유키히로가개발한동적객체지향스크립트프로그래밍언어이며, 루비는순수객체지향언어라서정수나문자열등을포함한데이터형식등모든것이객체로정의됨 프로젝트관리시스템 (Project Management System) 소스코드관리 (Source Code Management) 루비로작성된 MVC 패턴을이용하는오픈소스웹프레임워크줄여서레일즈라불리기도하며, 덴마크의데이비드하이네마이어한슨 (David Heinemeier Hansson) 에의해시작되어오픈소스로개발중
Open Source Software Installation & Application Guide 이저작물은크리에이티브커먼즈 [ 저작자표시 비영리 동일조건변경허락 2. 0 대한민국라이선스 ] 에따라이용하실수있습니다.