Redmine에 조금은 특이한 기능이 하나 있다.

바로 뉴스(News)라는 메뉴인데,
게시판 인터페이스에 "요약"이라는 필드가 하나 추가된 형태로 일종의 공지사항과 같은 역할을 한다.

팀원들에게 공지할 내용이나 새로운 소식들을 올려놓으면
Redmine의 첫 페이지와 프로젝트의 첫 페이지(개요)에 그 내용이 출력이 된다.
모든 프로젝트의 뉴스를 모아서 보여주는 메뉴도 있다.

제대로만 활용하면 꽤나 유용한 기능인 것은 분명하지만,
개발자에게 조금 더 자극적(?)으로 공지를 하고 싶은 경우에는 조금 아쉬운 부분도 있다.

이 때 사용할 수 있는 아주 유용한 Plugin이 하나 있다.


□ Name    : Banner
□ URL      : http://www.redmine.org/plugins/banner


1. 테스트 환경

   - 현재 가장 최신 버전으로 테스트 했으며, 직접 Source code를 내려 받아서 설치했다.
   - 여기 블로그의 포스팅을 참고하면 된다.

Environment:
  Redmine version                        2.3.0.stable
  Ruby version                             1.9.3 (i686-linux)
  Rails version                             3.2.13
  Environment                              production
  Database adapter                       PostgreSQL



2. 경로 & 권한

   - 이 부분에 대해서 필자가 완벽히 이해를 하고 마스터를 한 것이 아니라서 모든 경우에 대해서 설명은 못하겠다.
   - 우선 필자가 구축한 Redmine은 WAS로 Apache2를 선택했고, Passenger 모듈을 활용했다.
   - 경로는 필자의 습관상 [ /srv/install/redmine/ ] 밑에 설치를 했다.
   - 마지막으로, 당연히 www-data 계정에게 필요한 소유권을 부여했다.
   - 보안상의 이슈는 논외로 하자.

   - 사실 필자는 조금 무식해서 Ruby에 대한 지식이 엄청나게 부족하다.
   - 그래서 Ruby를 사용하기에 많은 어려움을 겪고 있다.
   - 이런 사용성 측면은 정말 Ruby가 극복해야할 큰 문제로 생각된다.
   - 밑의 Ruby와 관련된 명령을 처리하기 위해서는 Redmine 설치할 때의 조건을 다시 한 번 확인을 하기 바란다.



3. 다운로드

   - 나중의 업데이트를 고려하면 Git을 이용해서 clone을 받아서 설치하는 것이 편리하다.
   - Git이 아직 설치되어 있지 않으면 이번 기회에 설치를 하는 것을 추천한다. (http://whatwant.tistory.com/289)

$ sudo su -
$ cd /srv/install/redmine
$ cd ./plugins
$ git clone http://github.com/akiko-pusu/redmine_banner.git

   - 필자의 경우 Redmine을 설치할 때 Ruby를 설치하면서 [ sudo su - ] 계정으로 설치를 하였었다.



4. 설치

   - 필요한 gem 들을 설치하기 위해 필요한 과정이 있다.

$ sudo su -
$ cd /srv/install/redmine
$ rake redmine:plugins:migrate RAILS_ENV=production
$ chown -R www-data:www-data ./redmine_banner
$ service apache2 restart

   - 설치를 하고 내용을 확인하면 아래와 같다.

Environment:
  Redmine version                        2.3.0.stable
  Ruby version                             1.9.3 (i686-linux)
  Rails version                             3.2.13
  Environment                              production
  Database adapter                       PostgreSQL
Redmine plugins:
  redmine_banner                        0.0.8
  redmine_ckeditor                       0.4.0

   - 예전에 설치한 CKEditor plugin도 같이 보인다.



5. 사용

   - 관리자 계정으로 관리 메뉴를 살펴보면 새로운 항목이 추가된 것을 확인할 수 있다.


   - [ 배너 광고 ]라는 메뉴가 바로 그것이다 !!!



   - 정말 꼭 필요하고 원하는 기능만 simple하고 예쁘게 잘 넣어놓았다.
   - 이렇게 훌륭한 기능을 제공하면서 왜 버전을 "0.0.8"이라고 했는지 의문이 들 정도다.


   - 머리말, 꼬리말 아니면 둘 모두 선택해서 출력할 수 있다. 눈에 확 들어온다.

   - Redmine 전체 프로젝트 대상으로 공지할 수도 있지만,
   - 위 스크린샷에서 보는 것 처럼, 개별 프로젝트에서도 모듈로 선택해서 활용할 수 있다.


   - 프로젝트에서 사용하는 배너 광고의 인터페이스를 보면 앞에서 봤던 것과 조금 다른 것을 알 수 있을 것이다.
   - 표시 위치를 고를 수 있다는 점이 가장 큰 차이다.
   - 초기화면에서만 보여 줄수도 있고 새로운 일감에서만 보여줄 수도 있고...



6. 주의사항 및 팁

   - 크롬(Chrome)에서는 별 문제가 없는데, IE에서는 출력 위치가 틀어질 수도 있다.
   - IE8에서 테스트 할 때, 전체 배너와 프로젝트 배너를 동시에 설정하면 출력 위치가 틀어졌다.
   - 하나만 사용할 경우에는 별 이상이 없었다.

   - 전체 배너 설정에서 타이머 사용이 안된다.
   - 필자가 제대로 하지 못해서일 수도 있는데, 여하튼 사용이 안되었다.

   - CKEditor로 편집된 내용도 별 이상없이 잘 출력이 된다.
   - 당연히 위키로 편집된 내용도 잘 출력이 된다.


모두 즐거운 Redmine 생활 하시길~

반응형

예전에 한 번 작성을 했었던 Plugin 인데,
최근에 이슈가 잠시 있어서 관련 작업을 했던 김에 포스팅 자체도 좀 업데이트 아니 재작성을 해보았다.

update #1 : 2013.04.14 (Sun)



Redmine이 자랑하는 것 중 하나가 바로 Wiki 지원이다.

높은 곳에 계시는 분들은 별로 신경을 쓰지 않는 부분이기에 지금까지 알아서 하는 부분으로 취급되었었지만,
최근에는 관리의 범주로 인식이 되어 중요한 개발 환경의 한 요소로 인정받는 것이 "커뮤니티" 기능이다.

애자일이 대두된 이후 개발자의 목소리가 더더욱 커지면서 "커뮤니티" 기능이 더더욱 필요하게 되었고
이러한 커뮤니티 기능을 언급하게 되면 가장 자주 나오는 아이템이 바로 "Wiki(위키)"이다.

마침 Redmine이 갖고 있는 대표 기능 중 하나가 바로 "Wiki"이고,
프로젝트 관리 도구로 Redmine을 선택하는 이유 중 하나가 바로 위키 기능인 것이다.


그런데, 문제는 Wiki에 익숙한 개발자가 생각보다 많지 않다는 점이다.
정말 의외인데 개발자들이 원한다고 해서 위키를 제공을 해주면 정작 위키를 사용하기 어렵다는 투정을 듣게 된다.

또 하나의 문제는 위키 문법이 사투리와 같이 좀 다른 유형들이 있다는 점이다.
기존에 다른 유형의 위키를 썼던 분들이 Redmine에서 제공하는 위키에 적응을 못하기도 하는 것이다.

마지막으로 하나 더 있는 문제점은 Redmine 위키가 갖고 있는 문제로써
Redmine 위키 문법이 생각보다 막강하지는 않다는 점이다.
즉, 기능적 제약이 좀 많은 편이다. 아쉬운 부분이다.



이런 문제를 해결하는 방법 중에 가장 편하면서도 간단한 것이 바로 Plugin을 이용하는 것이고,
그 중 가장 유명한 것이 바로 CKEditor 이다.

Redmine Plugin으로 만들어진 것이 CKEditor Plugin이 아니다.
올해로 10주년을 맞이한 유명한 Web Text Editor가 바로 CKEditor 이다.

   - http://ckeditor.com/


너무 서론이 길었다.

바로 설치해보자.

□ Name    : Redmine CKEditor
□ URL      : http://www.redmine.org/plugins/ckeditor



1. 테스트 환경

   - 현재 가장 최신 버전으로 테스트 했으며, 직접 Source code를 내려 받아서 설치했다.
   - 여기 블로그의 포스팅을 참고하면 된다.

Environment:
  Redmine version                        2.3.0.stable
  Ruby version                             1.9.3 (i686-linux)
  Rails version                             3.2.13
  Environment                              production
  Database adapter                       PostgreSQL



2. 경로 & 권한

   - 이 부분에 대해서 필자가 완벽히 이해를 하고 마스터를 한 것이 아니라서 모든 경우에 대해서 설명은 못하겠다.
   - 우선 필자가 구축한 Redmine은 WAS로 Apache2를 선택했고, Passenger 모듈을 활용했다.
   - 경로는 필자의 습관상 [ /srv/install/redmine/ ] 밑에 설치를 했다.
   - 마지막으로, 당연히 www-data 계정에게 필요한 소유권을 부여했다.
   - 보안상의 이슈는 논외로 하자.

   - 사실 필자는 조금 무식해서 Ruby에 대한 지식이 엄청나게 부족하다.
   - 그래서 Ruby를 사용하기에 많은 어려움을 겪고 있다.
   - 이런 사용성 측면은 정말 Ruby가 극복해야할 큰 문제로 생각된다.
   - 밑의 Ruby와 관련된 명령을 처리하기 위해서는 Redmine 설치할 때의 조건을 다시 한 번 확인을 하기 바란다.



3. 다운로드

   - 나중의 업데이트를 고려하면 Git을 이용해서 clone을 받아서 설치하는 것이 편리하다.
   - Git이 아직 설치되어 있지 않으면 이번 기회에 설치를 하는 것을 추천한다. (http://whatwant.tistory.com/289)

$ sudo su -
$ cd /srv/install/redmine
$ cd ./plugins
$ git clone http://github.com/a-ono/redmine_ckeditor.git

   - 필자의 경우 Redmine을 설치할 때 Ruby를 설치하면서 [ sudo su - ] 계정으로 설치를 하였었다.



4. 설치

   - 필요한 gem 들을 설치하기 위해 필요한 과정이 있다.

$ sudo su -
$ cd /srv/install/redmine
$ bundle install --without development test
$ chown -R www-data:www-data ./redmine_ckeditor
$ service apache2 restart

   - 설치를 하고 내용을 확인하면 아래와 같다.

Environment:
  Redmine version                        2.3.0.stable
  Ruby version                             1.9.3 (i686-linux)
  Rails version                             3.2.13
  Environment                              production
  Database adapter                       PostgreSQL
Redmine plugins:
  redmine_ckeditor                       0.4.0

   - 얼마전까지만 해도 CKEditor Plugin과 Redmine 2.3.0 버전에 충돌(?)이 조금 있었다.
   - 사용 중에 CKEditor가 사라지는 현상이 있었는데 CKEditor Plugin 0.4.0 버전부터는 해결이 되었다.


5. 사용

   - CKEditor를 사용하기 위해서는 [ 관리 ] 메뉴에서 [ 설정 ] 부분에 있는 [ 본문 형식 ]을 변경해야 한다.


   - 기존의 위키 방식을 [ textile ] 이라고 하고 우리가 지금 사용하고자 하는 것은 [ CKEditor ]이다.


   - 이렇게 설정을 하면, Redmine에서 위키가 사용되는 모든 곳에 CKEditor가 보이게 된다.


   - 무료로 제공되는 Editor이지만 상당히 쓸만하다.




6. 주의사항

   - 특정 프로젝트 단위로 적용을 결정할 수 없다.
   - 전체 일괄 CKEditor를 쓸건지 Textile, 즉 위키를 사용할 것인지 결정을 해야 한다.

   - 위키를 사용하던 중에 CKEditor를 적용하게 되면 기존에 입력한 것은 전부 새로 편집을 해야 한다.
   - CKEditor는 위키를 편하게 사용하도록 도와주는 것이 아니다.
   - HTML 적용을 도와주는 에디터이다. 위키와는 완전히 별도이다.
   - 기존 작성 내용을 분실하지는 않지만, 새로 편집을 해야한다는 것은 주의하기 바란다.


모두 즐거운 Redmine 생활 하시길~
반응형

2013-03-19 일자로
2.2.x 버전의 최신판 2.2.4 버전과
새로운 기능과 함께 등장한 2.3.0 버전이 등장했다.

그런데,
2.2.4 버전의 경우 defect과 patch만 반영이 되어있지만,
2.3.0 버전은 새로운 기능들이 많이 추가가 되었다.

그 새롭게 추가된 기능 중에 관심을 확~끌었던 것이 하나 있어서 소개를 하고자 한다.


Redmine의 가장 멋진 메뉴 중 하나인 간트차트에 새로운 기능이 추가가 되었다.

Feature 명칭은 "Show relations in Gantt diagram"인데,
일감(issue)의 관계를 간트차트에서 너무나 예쁘게 출력을 해주는 것이다.

별도의 그림파일이 아님에도 정말 신기하고 정말 너무 예쁘다!!! (혼자서 감동~ @.@)


그런데, 사실 그동안 Redmine을 사용해오면서 일감의 관계를 사용하지 않았었다.
그래서 일감 관계 설정 방법을 몰라서 이번 기능을 테스트해보려 정말 고생을 했다 ^^


본래부터 일감 관계를 사용하시던 분들에게는 당연한 내용이겠지만,
저처럼 모르는 사람을 위한 간단한 기능 소개를 하겠다.


일감의 관계 설정은 [ 새 일감 만들기 ] 때에는 할 수 없다.
일단, 일감을 만든 후에 일감 정보를 보면 [ 연결된 일감 ] 부분에서 "추가"를 통해서 설정이 가능하다.


일감들의 관계는 정말 다양하게 존재한다.
사실 번역이 조금... 익숙한 설명은 좀 아니라서 좀... 하지만, 한 번씩 해보면 알만한 내용이긴 하다.


다들 알겠지만, 일감의 번호를 정확히 알지 못할 때엔 일감의 이름을 살짝 써주면 검색을 해서 선택할 수 있게 보여준다.

이렇게 일감 관계를 설정하면 간트차트에서 그 관계에 따라 예쁜 화살표를 출력해준다 !!!

다들 재미있고 유용하게 사용하면 좋겠다 !!!
반응형

꾸준히 업데이트를 해주고 있는 아름다운 Redmine이 2013.03.19 날짜에 2.3.0 버전과 2.2.4 버전을 배포했다.

기존 install 포스팅으로도 설치에 큰 이슈가 없을 것 같기는 하지만,
그래도 오랜만에 다시 한 번 천천히 설치 과정을 진행해보려고 한다.


01. 버전 호환성 확인하기

   - 정말 다시 한 번 말하지만, Ruby 대중화의 가장 큰 적은 버전 호환성이다 !!!

 Redmine  Supported Ruby  Required Rails  Supported Rack  Supported RubyGems
 2.3.0  ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0
jruby-1.7.2
 Rails 3.2.13  ?  RubyGems <= 1.8
 2.2.4  ruby 1.8.7, 1.9.2, 1.9.3,
jruby-1.6.7
 Rails 3.2.13  ?  RubyGems <= 1.8



02. 기본 패키지 설치

   - Ruby, Redmine 설치를 위해 사전에 필요한 패키지들을 모두 설치하자.

$ sudo apt-get install build-essential libpcre3-dev libruby libssl-dev libcurl4-openssl-dev libpq-dev libreadline-dev libjpeg62-dev libpng12-dev curl openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libc6-dev libncurses5-dev automake libtool bison pkg-config



03. Ruby 설치

   - Ruby 설치를 위해서는 rvm을 활용해야 한다. (여기에서 root 로 변경 후 뒤에 계속 root로....)

$ sudo su -
$ curl -L https://get.rvm.io | sudo bash -s stable
$ source /etc/profile
$ rvm install 1.9.3
$ rvm use 1.9.3
$ rvm --default use 1.9.3 

   - 이렇게 한 뒤 [ rvm -v ] 명령을 통해 ruby 버전이 확인되면 성공한 것이다.
   - 마지막으로 PATH 설정을 추가로 해주어야 하는데, sudo의 PATH 문제로 인해서 조금 더 해줘야 할 것이 있다.

$ nano /etc/environment


PATH="......:/usr/local/rvm/bin"




04. Rails 설치

   - rails를 설치하자.

$ gem install rdoc
$ gem install rails -v 3.2.13
 


05. PostgreSQL 설치 및 설정

     - 개인적 취향이지만 객관적으로도 꽤 괜찮은 database를 설치하자.
     - 그리고 나서 사용할 계정과 데이터베이스를 만들자.

$ apt-get install postgresql

$ su - postgres
$ psql

# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
# \q

$ exit
$ gem install pg



06. ImageMagick

     - rmagick 설치하기

$ apt-get install librmagick-ruby libmagickwand-dev
$ gem install rmagick




07. Redmine

     - 압축파일로 다운로드 받자.

$ cd /srv/install/
$ wget http://rubyforge.org/frs/download.php/76867/redmine-2.3.0.tar.gz
$ tar zxvf  redmine-2.3.0.tar.gz



08. bundler & install

     - 필요한 패키지들을 한 번에 받을 수 있는 놈이 있다.

$ cd redmine-2.3.0
$ gem install bundler

reboot

$ sudo su -
$ cd /srv/install/redmine-2.3.0
$ bundle install --without development test mysql sqlite



09. Apache2 설치

$ apt-get install apache2 apache2-prefork-dev




10. passenger 설치

$ gem install passenger
$ cd /usr/local/rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/
./bin/passenger-install-apache2-module

     - Passenger 모듈을 Apache2에 올리기 위해서는 화면에 나오는 값을 잘 봐야 한다.

$ nano /etc/apache2/mods-available/passenger.conf

<IfModule mod_passenger.c>
   PassengerUser www-data
   PassengerDefaultUser www-data

   PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19
   PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p392/ruby
</IfModule>

$ nano /etc/apache2/mods-available/passenger.load

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/ext/apache2/mod_passenger.so


$ cd /etc/apache2/mods-enabled
ln -s ../mods-available/passenger.conf ./passenger.conf
ln -s ../mods-available/passenger.load ./passenger.load



11. database 설정값 등록

$ cd /srv/install/redmine-2.3.0
$ nano ./config/database.yml

 

production:
        adapter: postgresql
        database: redmine
        host: localhost
        username: redmine
        password: redmine
        encoding: utf8
        schema_search_path: public


     - 주의 사항으로는 위의 파일 내용을 입력할 때에 Tab 말고 White-Space로 입력해야 한다.



12. 추가 작업

$ rake generate_secret_token
$ RAILS_ENV=production rake db:migrate
$ RAILS_ENV=production rake redmine:load_default_data
   → Select language [ko]
$ mkdir public/plugin_assets


   - 권한 설정이 중요하다 !

$ chown -R www-data:www-data files log tmp public
$ chmod -R 755 files log tmp public/plugin_assets
$ chown -R www-data:www-data ./config/database.yml
$ chmod 600 ./config/database.yml



 

13. 웹설정

$ cd /var/www/
$ ln -s /srv/install/redmine-2.3.0/public ./redmine

$ nano /etc/apache2/sites-available/default


<Directory /var/www/redmine>

        RailsBaseURI /redmine
        RackEnv production
        RailsEnv production
        PassengerResolveSymlinksInDocumentRoot on

</Directory>


$ service apache2 restart


여기까지 진행하고 웹브라우저로 http://127.0.0.1/redmine에 접속을 하면 Redmine을 볼 수 있다.

초기 관리자는 admin/admin 이다.
반응형

최신 버전의 Redmine을 한 번 사용해보고 싶어서 다시 한 번 도전을 해보련다.



01. Download & Checkout

     - 결과만 다운로드 받고 그래도 되지만, 최근 git에 꽂혀 있는 관계로 git clone 받아보려 한다.
     - 그리고, 2.1.0 tag로 checkout을 수행하면 된다.

$ git clone https://github.com/redmine/redmine.git
$ git checkout 2.1.0



02. 버전 맞추기

   - Rails 버전만 3.2.8로 신경쓰면 된다.

 Redmine  Supported Ruby  Required Rails  Supported Rack  Supported RubyGems
 2.1.0  ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7  Rails 3.2.8  ?  RubyGems <= 1.8



03. 기본 패키지 + Ruby 설치

   - 여전히 1.9.3 버전은 설치가 이상해서 1.9.1 버전 기준으로 기본 패키지를 설치했다.

$ sudo apt-get install build-essential ruby1.9.1 ruby1.9.1-dev irb1.9.1 rdoc1.9.1 libdbd-pg-ruby1.9.1 zlib1g-dev libpcre3-dev libopenssl-ruby1.9.1 libzlib-ruby libssl-dev libcurl4-openssl-dev libpq-dev libreadline-gplv2-dev libjpeg62-dev libpng12-dev



04. Rubygems 설치

   - http://rubygems.org/ 사이트를 통해 최신 버전 확인 후 설치 진행하자.

$ cd /srv/install/rubygems/
$ wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz
$ tar zxvf ./rubygems-1.8.24.tgz
$ cd rubygems-1.8.24/
$ sudo ruby setup.rb



05. PostgreSQL 설치 및 설정

     - 개인적 취향이지만 객관적으로도 꽤 괜찮은 database를 설치하자.
     - 그리고 나서 사용할 계정과 데이터베이스를 만들자.

$ sudo apt-get install postgresql

$ sudo su - postgres
$ psql

# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
# \q



06. ImageMagick

     - rmagick 설치하기

$ sudo apt-get install librmagick-ruby libmagickwand-dev
$ sudo gem install rmagick



07. Rails, i18n, rack, fastthread, postgres, pg 설치하기

      - 기타 필요한 것들을 설치해보자.

$ sudo gem install -v=3.2.8 rails
$ sudo gem install -v=0.4.2 i18n
$ sudo gem install fastthread
$ sudo gem install postgres
$ sudo gem install bundler



08. passenger (nginx) 설치

     - http://rubyforge.org/projects/passenger 홈페이지를 통해 최신 버전을 다운로드 받아 설치하자.

$ wget http://rubyforge.org/frs/download.php/76398/passenger-3.0.17.tar.gz
$ tar zxvf ./passenger-3.0.17.tar.gz
$ cd ./passenger-3.0.17/
$ sudo ./bin/passenger-install-nginx-module


설치과정 중 나오는 화면에서는 [Enter] 와 [1]을 계속 선택하면 된다.


     - 설치가 끝나면 실행을 위한 스크립트 파일을 만들자.

$ sudo nano /etc/init.d/nginx


#!/bin/sh
### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

PATH=/opt/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/opt/nginx/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
        . /etc/default/nginx
fi

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid --exec $DAEMON
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid --exec $DAEMON
        sleep 1
        start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  reload)
          echo -n "Reloading $DESC configuration: "
          start-stop-daemon --stop --signal HUP --quiet --pidfile     /opt/nginx/logs/$NAME.pid --exec $DAEMON
          echo "$NAME."
          ;;
      *)
            N=/etc/init.d/$NAME
            echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
            exit 1
            ;;
esac
exit 0


$ sudo chmod +x /etc/init.d/nginx
$ sudo update-rc.d -f nginx defaults



09. redmine 셋업

     - 앞에서 다운로드 받은 파일을 이용해서 셋업을 진행하자.

$ cd /srv/www
$ ln -s /srv/install/redmine ./redmine
$ sudo adduser redmine
$ sudo chown -R redmine.redmine ./*
$ cd ./redmine
$ sudo chown -R redmine.redmine ./*



10. database 설정값 등록

     - redmine의 database 설정을 하자.

$ cd /srv/www/redmine
$ sudo nano ./config/database.yml

 

production:
        adapter: postgresql
        database: redmine
        host: localhost
        username: redmine
        password: redmine
        encoding: utf8
        schema_search_path: public


     - 주의 사항으로는 위의 파일 내용을 입력할 때에 Tab 말고 White-Space로 입력해야 한다.

$ sudo chown redmine.redmine ./config/database.yml
$ sudo chmod 600 ./config/database.yml




11. 추가 작업

     - 뭔가 또 해줘야 할 일들이 남았다.

$ cd /srv/www/redmine
$ sudo rake generate_secret_token
$ sudo RAILS_ENV=production rake db:migrate
$ sudo RAILS_ENV=production rake redmine:load_default_data
   → Select language [ko]
$ sudo mkdir tmp public/plugin_assets
$ sudo chown -R redmine:redmine files log tmp public/plugin_assets
$ sudo chmod -R 755 files log tmp public/plugin_assets



12. nginx

     - web으로 redmine을 보기 위해서 추가로 nginx 환경 설정을 하자.

$ sudo nano /opt/nginx/conf/nginx.conf


user redmine;

...

http {
    passenger_root /srv/install/redmine/passenger/passenger-3.0.17;
    passenger_ruby /usr/bin/ruby1.9.1;

...

        #location / {
        #    root   html;
        #    index  index.html index.htm;
        #}

        access_log /srv/www/redmine/log/access.log;
        error_log /srv/www/redmine/log/error.log;

        passenger_enabled on;
        root /srv/www/redmine/public;

        location ~* \.(ico|jpg|gif|png|css|js|swf|html)$ {
           if (-f $request_filename) {
              expires max;
              break;
           }
        }

 

$ sudo /etc/init.d/nginx start




여기까지 진행하고 웹브라우저로 localhost에 접속을 하면 Redmine을 볼 수 있다.
초기 관리자는 admin/admin 이다.


앗싸~~~~~

반응형

Redmine에서 정말 유용하고 편하게 잘 사용하고 있는 기능 중 하나 "파일"
그런데, 웹으로 파일을 업로드를 하는 것이다보니, 용량(size)과 관련하여 이슈가 있다.


파일 업로드를 하다가 아래와 같은 에러메시지가 나올 때가 있다.


설정값보다 큰 사이즈의 파일을 업로드하고자 하면 발생하는 에러다.

Redmine에서는 아래와 같이 설정을 통해 파일의 용량 제한을 할 수 있다.


하지만, 이 설정은 웹서버의 설정 이후의 제한이다.
즉, Redmine에서 제아무리 용량 제한을 크게 설정했다고 하여도 nginx에서의 설정보다 큰 용량 업로드는 될 수 없다.


$ sudo nano /opt/nginx/conf/nginx.conf

...
client_max_body_size 400M;
client_body_buffer_size 128k;
...

$ sudo /etc/init.d/nginx restart

이렇게 설정을 하면
파일 용량과 관련하여 이슈는 문제없이 해결할 수 있을 것이다~!!

반응형

'Development Tools > Redmine' 카테고리의 다른 글

Redmine 2.3.0 install in Ubuntu  (6) 2013.03.23
Redmine 2.1.0 install in Ubuntu  (0) 2012.09.29
Ubuntu apt-get repository proxy  (0) 2012.07.21
Redmine - git repository 연결하기  (1) 2012.07.21
Redmine 1.4.4 install in Ubuntu  (0) 2012.07.14

Ubuntu에서는 참으로 친절하게도 redmine을 패키지로 제공을 해준다.
하지만, 기본 환경에서의 redmine은 0.9.x 버전까지만 제공을 한다.

그렇다면 패키지로는 과거의 버전만 쓸 수 밖에 없을까?
아니다. 방법은 있다. redmine을 제공하는 apt-repository를 새로 추가하면 된다.


1. General

     - 일반적으로는 아래와 같이만 하면 모두 끝이다.

$ sudo add-apt-repository ppa:ondrej/redmine
$ sudo apt-get update
$ sudo apt-get upgrade



2. Proxy

     - 하지만, proxy를 쓰는 환경에서는 조금 다르다.

$ env | grep proxy

http_proxy=http://xxx.xxx.xxx.xxx:8080/
ftp_proxy=ftp://xxx.xxx.xxx.xxx:8080/
https_proxy=https://xxx.xxx.xxx.xxx:8080/

     - 이런 상황에서 repository를 추가하면 에러가 발생한다.

$ sudo add-apt-repository ppa:ondrej/redmine

Error reading https://launchpad.net/api/1.0/~ondrej/+archive/redmine: couldn't connect to host

     - [ add-apt-repository ] 명령은 proxy 환경에서 [ https_proxy ] 환경 설정값을 요구한다.
     - 그런데, 위에서 확인한 바와 같이 분명히 설정값이 되어있음에도 에러가 발생을 한 것이다.

$ export https_proxy=http://xxx.xxx.xxx.xxx:8080/
$ sudo -E add-apt-repository ppa:ondrej/redmine

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C
gpg: requesting key E5267A6C from hkp server keyserver.ubuntu.com
gpg: key E5267A6C: public key "Launchpad PPA for Ondřej Surý" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

     - 이 부분은 버그가 아닌가 싶은데, [ https_proxy ]에 대한 값을 "http"로 변경을 한 것 뿐이다.
     - 그리고 임시로 설정한 환경 변수 값이 반영이 되게 하기 위해 [ sudo -E ]로 실행을 했다.

     - 이렇게 해서 업그레이드를 하면 편하게 ubuntu package 설치로 redmine의 최신 버전을 사용할 수 있다.
     - 그렇다고 해도 지금 현재 최신인 1.4.4 버전이 아니라 1.3.3 버전이지만 말이다.....

반응형

Redmine의 장점 중 하나가 바로 형상관리 도구와의 연계이다.
Git 역시 Redmine과 잘 연동이 된다.

하지만 환경 설정을 좀 해줘야 한다.


1. config/configuration.yml

     - git을 사용하고 싶으면 실행파일의 경로를 알려줘야 한다.


$ cd /srv/www/redmine.whatwant.com/redmine
$ sudo nano ./configuration.yml

# = Redmine configuration file
#

# ==== SMTP server at using TLS (GMail)
#
default:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      tls: true
      enable_starttls_auto: true
      address: "smtp.gmail.com"
      port: 587
      domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps
      authentication: :plain
      user_name: xxx@gmail.com
      password: "xxx"

  # Absolute path to the directory where attachments are stored.
  #
  attachments_storage_path: /srv/www/redmine.whatwant.com/files

  # Configuration of SCM executable command.
  #
#  scm_subversion_command:
#  scm_mercurial_command:
  scm_git_command: /usr/local/bin/git
#  scm_cvs_command:
#  scm_bazaar_command:
#  scm_darcs_command:

     - 윗 부분은 이메일 셋팅이고, 아랫부분이 형상관리 도구 경로를 명시해주는 부분이다.
     - git을 사용하기 위해서 [ scm_git_command: /usr/local/bin/git ] 부분을 명시해주면 되는 것이다.



2. 전체 설정 - 저장소

     - 위와 같이 설정을 해주면 이제 사용할 수 있다.


     - 관리자 계정 (admin)으로 로그인해서 관리 메뉴를 고르고 저장소 항목을 보면 위와 같은 화면을 볼 수 있다.
     - 설정이 안된 도구들은 사용할 수가 없다는 것을 알 수 있을 것이다.



3. Project 저장소

     - 그러면 이제 실제 프로젝트에서의 설정을 살펴보자.


     - 위와 같이 간편하게 설정할 수 있다.
     - "Main repository"와 "식별자" 부분이 있는 것은 하나의 프로젝트에 복수의 저장소를 사용하는 경우 때문이다.



4. Remote Repository

     - 그런데, Redmine과 Repository는 기본적으로 같은 Local에 있어야지만 된다.
     - 만약 별도의 서버에 존재한다면 mirror repository를 만든다던지 해서 결국 같은 local에 위치시켜야 한다.

     - 일반적으로 Redmine이 있는 서버에 다른 서버에 위치하고 있는 repository를 clone을 한다.
     - 그리고, crontab 등을 이용해서 동기화를 하여 사용하는 형식을 취한다.

$ git clone --mirror git@xxx.xxx.xxx.xxx:myrepository.git

$ git remote update

     - 위와 같이 하면 된다고 하지만, 실제 위와 같이 운용해보지는 않았다.



5. Authority

     - local에 위치한 repository를 위 스크린샷과 같이 경로만 적어주면 Redmine이 알아서 이해를 해야하는데...
     - 그게 생각처럼 바로 잘 되는 경우가 없다. 그 이유는 바로 권한 !!!


     - 지금 현재 필자가 구동하고 있는 Redmine은 ubuntu 패키지 설치로 apache2로 하고 있다.
     - 그래서 웹서버가 www-data 계정으로 구동되고 있다.
     - 따라서 Redmine에서 저장소를 보기 위해 접근하고 있는 것은 www-data 계정이다.

$ cd /srv
$ sudo chown -R git.www-data ./repositories

     - 여기에선 이 글을 보고 계신 분의 설정 상황에 많이 좌우된다.
     - 즉, 여기에 쓰여져 있는 내용을 참조해서 본인의 상황에 맞춰 잘 판단해서 적용해야 한다.

     - 현재 repository는 git 계정으로 gitolite를 활용하여 운용이 되고 있고,
     - 그래서 사용자가 접근하여 사용하는 모든 행위는 git 계정의 권한으로 이루어지고 있다.
     - 그리고 앞에서 설명한 바와 같이 redmine은 apache2의 www-data 계정으로 활동을 한다.

     - 그래서 위와 같이 repository 들의 소유권 중에서 그룹을 www-data로 전부 변경을 해버리자.
     - 기본적으로 그룹에게 읽기 권한은 주어져 있는 상태이기 때문에 redmine에서 저장소 접근이 된다.

     - 그런데, 여기에서 또 하나 고려해야 하는 것이 있다.
     - 지금 현재 상태에서는 접근이 잘 되지만,
     - 사용자가 push를 하게 되면 그 때 생성되거나 수정된 파일의 권한이 바뀌면서 redmine에서 저장소를 못 읽는다.

     - 그렇다면, 그냥 git 계정의 정체를 바꿔버리면 간단히 해결이 된다.
     - 즉, git 계정의 소속 그룹을 그냥 www-data로 바꿔버리는 것이다.

$ sudo usermod -g www-data git


     - 최신 버전은 commit의 흐름도 제일 왼쪽에 visual하게 보여주어서 더더욱 마음에 든다!!!!!



Redmine 사용자 분들에게 많은 도움이 되길 기원하며....
반응형

+ Recent posts