티스토리 뷰
레드마인은 이슈트래킹을 목적으로 사용하는데(JIRA가 유료이기 때문에), markdown / ckeditor 등을 지원하며 git / svn 등의 버전관리시스템과도 연동이 가능하다. project와 일감 등을 계층구조로 구성할 수 있고 하위일감, 연관 일감 등으로 구성할 수 있어 유기적인 구성이 가능하다.
그 외에 게시판, wiki, 간트차트, 파일 저장소 등의 기능들이 유용하게 사용된다.
1. Prepare
- Install Package
1 | yum -y install nano zip unzip libyaml-devel zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel gcc ruby-devel gcc-c++ make postgresql-devel ImageMagick-devel sqlite-devel perl-LDAP mod_perl perl-Digest-SHA | cs |
- selinux off
1 2 | vi /etc/selinux/config SELINUX=disabled | cs |
1 | setenforce 0 | cs |
- Install Ruby
get.rvm.io 443 오픈 필요. passenger 버전에 따라 필요 ruby 버전이 다를 수 있다. (중간에 rvm reload 할 경우도 있다)
1 2 3 4 5 6 7 8 9 | curl -sSL https://get.rvm.io | bash -s stable --ruby curl -sSL https://rvm.io/mpapis.asc | gpg --import - curl -sSL https://get.rvm.io | bash -s stable --ruby source /usr/local/rvm/scripts/rvm curl -L https://get.rvm.io | bash rvm list known rvm install 2.3 ruby -v | cs |
- Install Rubygems
1 2 3 | rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum -y install rubygems | cs |
- Install Passenger
apache로 redmine을 운영하기 위한 패키지이다. (모듈 설치시 메모리 부족 에러가 뜰 수 있다. AWS의 경우 instance type이 t2.micro인 경우 진행이 어렵다. 메모리가 4G 이상인 instance type로 변경 후 진행하자. 선택하는 부분에서는 전부 enter를 누르면 된다.)
1 2 | gem install passenger passenger-install-apache2-module | cs |
설치후 나오는 메시지를 /etc/httpd/conf.d/passenger.conf 에 저장(버전이 다를 수 있으니 아래 내용은 참고)
1 2 3 4 5 6 7 | vi /etc/httpd/conf.d/passenger.conf LoadModule passenger_module /usr/local/rvm/gems/ruby-2.3.3/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/rvm/gems/ruby-2.3.3/gems/passenger-5.0.30 PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.3.3/wrappers/ruby </IfModule> | cs |
2. Install
- Create Database for Redmine
실제 password 로 변경해서 사용
1 2 3 | create database redmine character set utf8; create user 'redmine'@'localhost' identified by 'password'; grant all privileges on redmine.* to 'redmine'@'localhost'; | cs |
- Install Redmine (mysql2 임을 유의)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | tar xvfz redmine-3.x.x.tar.gz mv redmine-3.x.x /var/www/html/redmine rm -rf redmine-3.x.x.tar.gz cd /var/www/html/redmine/config cp database.yml.example database.yml vi database.yml production: adapter: mysql2 database: redmine host: localhost username: redmine password: "password" encoding: utf8 | cs |
- Setting up Rails
CentOS 7인 경우 ImageMagick-devel가 yum 설치 안될 수 있다. 이 경우 bundle install시에 에러가 발생한다.
https://pkgs.org/에서 ImageMagick-devel-6.7.8.9-15.el7_2.x86_64.rpm를 받아서 설치하면 되는데,
필자의 경우엔 라이브러리 의존성 문제(bzip2-devel, freetype-devel, ghostscript-devel, jasper-devel, libX11-devel, libXext-devel, libXt-devel, libjpeg-devel, libtiff-devel)가 발생하여 추가적으로 설치하였다. yum 설치가 안되는 경우들은 pkgs 사이트에서 받아서 설치하자. (wget으로 받아도 좋고, 로컬에 받은 후 rz로 업로드하여도 된다.)
이 후에 gem install rmagick -v '2.16.0' 을 진행하고 다시 bundle install을 진행하자(--without development test 옵션사용)
1 2 3 4 | cd /var/www/html/redmine gem install bundler bundle install rake generate_secret_token | cs |
- redmine db스키마 생성 및 기본데이타 입력
1 2 | RAILS_ENV=production rake db:migrate RAILS_ENV=production rake redmine:load_default_data | cs |
- Activate FCGI
1 2 3 4 | cd /var/www/html/redmine/public mkdir plugin_assets cp dispatch.fcgi.example dispatch.fcgi cp htaccess.fcgi.example .htaccess | cs |
- Install FastCGI
1 | yum -y install mod_fcgid | cs |
- Creating Files Directory
첨부파일 저장위치 지정
1 2 3 4 5 6 7 8 | mkdir -p /opt/redmine/files chown -R apache:apache /opt/redmine cd /var/www/html/redmine/config cp configuration.yml.example configuration.yml vi configuration.yml attachments_storage_path: /opt/redmine/files | cs |
- Create Virtual Host for Redmine
1 2 3 4 5 6 7 8 9 10 11 12 13 | vi /etc/httpd/conf.d/redmine.conf <VirtualHost *:80> ServerName redmine.test.com DocumentRoot /var/www/html/redmine/public/ ErrorLog logs/redmine_error_log <Directory "/var/www/html/redmine/public/"> Options Indexes ExecCGI FollowSymLinks Order allow,deny Allow from all AllowOverride all </Directory> </VirtualHost> | cs |
- Running Redmine
1 2 3 4 | cd /var/www/html/ chown -R apache:apache redmine chmod -R 755 redmine service httpd restart | cs |
추가적으로 E-mail 설정도 가능하다.
레드마인은 plugin이 제법 있으니 필요한 기능들을 찾아보고 활용하는 것도 좋다.
나는 주로 redmine_git_hosting 가 제일 깔끔해보였다. 그런데 CentOS 7 에서 최신버전(1.2.6) 을 적용하려고 할 시에 gem 충돌 및 호환성 문제가 나던데, 루비온레일즈는 생소한지라 제법 고생을 하였다.
gem 충돌이 날 경우 로그 확인 후 gem list 및 gem uninstall [삭제대상] 으로 삭제할 수도 있고,
1 | for i in `gem list --no-versions`; do gem uninstall -aIx $i; done | cs |
로 전부 삭제할 수도 있다. bundle install 명령어를 통해 문제가 없는지 계속 확인하자.
'Infra Structure > .system' 카테고리의 다른 글
DevOps란 ? (0) | 2018.02.27 |
---|---|
윈도우 특정 프로세스 죽이기 (0) | 2017.10.24 |
Apache MPM 및 Nginx (0) | 2017.09.03 |
Process와 Thread (0) | 2017.09.03 |
[Linux]성능 이슈 간단히 확인하기 (0) | 2017.08.24 |