본문 바로가기
OS/Linux

레드마인 설치 방법 - AWS EC2 + centos7.8 + redmine v4.1.1

by Sou1 2021. 2. 7.
반응형

 

 

목차

     

     

    레드마인이라는 툴에 대해서 먼저 설명합니다.

    * 레드마인이란?

    레드마인(Redmine)은 오픈소스 프로그램으로 웹 기반의 프로젝트 관리 와 버그 추적 기능을 제공하는 도구이다. 화면기반의 프로젝트 관리에 도움이 되도록 달력과 간트 차트를 제공하고 일정관리 기능을 제공한다. 레드마인은 통합된 프로젝트관리 기능과 이슈추적, 여러가지 형상 관리 기능을 제공한다.

     

    형상관리툴 (팀 프로젝트)를 사용하기 위해

    설치를 진행해 보려고 합니다.

     

    프로젝트 단위로 이슈트랙킹이 된다는 좋은 장점이 있죠.

     

     

    *환경

    OS : Centos 7.8 x86

    Instance Type : m5.large

     

    mariadb 설치

    yum -y install mariadb-server mariadb
    systemctl enable mariadb.service
    systemctl start mariadb.service

     

    mariadb 설치화면

     

    mariadb 보안설정

    : password만 별도 설정하고 Enter만 입력해도 됌

    mysql_secure_installation

     

    mariadb 보안설정

     

    mariadb 접속

    mysql -uroot -p

    mariadb 접속

     

    : redmine database 생성 후 redmine 유저 생성 및 모든권한 부여

    CREATE DATABASE redmine CHARACTER SET utf8 COLLATE utf8_general_ci;
    CREATE USER 'redmine'@'%' IDENTIFIED BY 'ZAQ!2wsx';
    GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'%';
    FLUSH PRIVILEGES;
    exit;

     

    redmine database 생성

     

    Apache php 설치 및 연동

    yum -y install php
    yum -y install php-mysql
    yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
    service httpd restart

     

    php 설치 (apache)

     

    Redmine 의존성 라이브러리 설치

    yum -y install gcc g++ cpp gcc-c++
    yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel
    yum -y install mariadb-devel
    yum -y install ImageMagick ImageMagick-devel

     

    Ruby 설치

    yum -y install ruby ruby-devel ruby-irb ruby-rdoc ruby-ri

     

    rubygem 설치

    gem update
    yum -y install gcc gcc-c++ make
    gem install rails -V

    첫번째 문제 - ruby version이 낮아서 gem update가 에러가 발생함

    error가 나는것은 ruby 버전때문에

     

    위와 같은 패키지 일단 설치하면 위와 같이 에러가 난다.

     

    Error 화면

    물론 무시하고 진행하면 다음과 같이 일부만 설치된다.

    즉, ruby version이 낮아서 에러가 나는 것 

    한페이지 아래 [해결] 부분을 확인 후 다시 설치한 화면이다.

     

    해결 후 다시 설치함

     

    성공화면

     

    bundler 설치

    gem install bundler

    bundler 설치


    해결 - ruby version을 업데이트 한다.

    rvm이란?

    Ruby Version Manager을 줄여 RVM이라 한다.

    여러 버전의 루비를 깔때, 편리하게 관리하는 프로그램이다.

    이걸 쓰는 이유는 뭘까?

     

    개발을 할 때에 프로젝트마다 사용되는 라이브러리의 종류와 버전이 다르기때문에

    이들을 따로 관리할 필요가 있다.

     

    루비에서 쓰는 라이브러리 패키지를 gem이라고 하며,

    여러가지 gem을 모아놓은것을 gemset이라고한다.

    RVM은 프로젝트마다 gemset을 따로 가질수 있도록 관리가 가능하도록 해주는 툴이다.

     

     

    (현재)

    (업데이트 후)

    : 이 과정에서 애를 먹었습니다. 예전에는 그냥 rvm 다운받아서 설치했으면 될지 몰라도 이제는 key를 요구하더라구요.

     

    참고 - 설치과정

        1) 의존성 패키지 설치

    yum install gcc-c++ patch readline readline-devel zlib zlib-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison sqlite-devel -y

     

       2) rvm 공식 홈페이지에서 패키지를 다운받기 위해 키를 설치합니다.Install GPG Keys:

    gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

     

        3) rvm 설치

    curl -sSL https://get.rvm.io | bash -s stable
    or
    curl -sSL https://get.rvm.io | bash -s stable --rails

     

     

        4) ruby 검색

    rvm reload
    rvm list known

    (version 확인 후)

     

     

        5) ruby 설치

    rvm install 2.6

     

    rvm 설치 완료.

     

        6) ruby default version 으로 변경 (명령어 사용하기 전에 되어있었음 - 위 캡쳐 화면에서도 변경했다는 초록색 구문이 있긴 함 // 만약 안되었다면)

    rvm use 2.6 --default

     

    rvm 2.6 default 설정하기

     


    본격적으로 redmine을 설치해본다.

    1. "http://www.redmine.org/releases/" 사이트에서 원하는 버전을 찾아 아래 "x.x.x"에 대입하여 명령어를 수행합니다.

    : 가장 최신버전 4.1.1로 가봅시다 ㅎㅎ (2021년 2월1일 기준)

    yum install wget
    cd /var/www/html
    wget http://www.redmine.org/releases/redmine-4.1.1.tar.gz --no-check-certificate
    tar -xvzf /var/www/html/redmine-x.x.x.tar.gz
    mv redmine-x.x.x redmine
    cd redmine

     

    2. database 설정 및 mysql 계정 정보 입력

    : 최초 mariadb를 만들었던 정보를 기입합니다.

    (변경전)

    mysql2 비밀번호를 위에서 셋팅한 password로 변경

     

    (변경후)

    변경

     

    3. RedMine Gem 설치

    bundle install --without development test

    GEM 설치

     

     

    4. 세션 변조 방지를 위한 key 생성

    bundle exec rake generate_secret_token

     

    5. db스키마 생성

    bundle exec rake db:migrate RAILS_ENV=production

     

     

    6. 기본언어 (한국어 지정)

    bundle exec rake redmine:load_default_data RAILS_ENV=production REDMINE_LANG=ko

     

    7. redmine - apache 연동 모듈 설치

    gem install passenger

     

    # passenger-install-apache2-module

    ruby를 선택하고 enter만 입력하면 됌.

    install 중에 부족한 패키지에 대해 error가 발생, 추가 설치 필요

     

    3개의 추가 install이 설치가 잘 안되었으니 별도 설치하라는 멘트이며,

    3개의 명령어를 수행합니다.

    yum -y install httpd-devel apr-devel apr-util-devel

     

    3개 패키지 마자 설치

     

    * 다시 수행

    # passenger-install-apache2-module

     

    : 잘 수행되는 것을 확인할 수 있습니다.

     

    설치 완료

     

     

    8. Apache Conf 파일 수정

    : 위에서 나온 Almost there! 구문을 참고하여 아래 파일 수정이 필요합니다. 

    : path = /etc/httpd/conf.d/redmine.conf (새로생성)

    Listen 8081
    LoadModule passenger_module /usr/local/rvm/gems/ruby-2.6.6/gems/passenger-6.0.7/buildout/apache2/mod_passenger.so
        <IfModule mod_passenger.c>
            PassengerRoot /usr/local/rvm/gems/ruby-2.6.6/gems/passenger-6.0.7
            PassengerDefaultRuby /usr/local/rvm/rubies/ruby-2.6.6/bin/ruby
        </IfModule>
    <VirtualHost *:8081>
      #ServerName your.server.com
      #ServerAlias www.your.server.com
      DocumentRoot /var/www/html/redmine/public
      <Directory /var/www/html/redmine/public>
         AllowOverride all
         Options -Multiviews
         Require all granted
      </Directory>
    </VirtualHost>

    아래 내용은, 검색해보면 다음과 같은 곳을 찾을 필요가 있다는 것을 보여주기 위한 캡쳐입니다.

    모듈 경로 확인

     

    8. Apache restart

    : Apache DocumentRoot 소유권 apache.apache로 변경 후 restart

    apache restart

     


    트러블슈팅

    (별첨 - 8_1. centos의 경우 selinux의 보안방화벽때문에 8081 포트를 열수 없는 에러가 발생한다.)

    : 이거때문에 괜히 고생하지말고, selinux 설정을 허용한다. 

    apache 기동중에 에러화면 (selinux 에러)

    명령어

    # 확인
    sestatus
    # 명령어
    setenforce 0
    # 확인
    sestatus

     

    기동하면 깔끔히 기동되는 것을 확인할 수 있습니다.

     

    (별첨 8.2 - We're sorry, but something went wrong 에러)

    https://github.com/jekyll/jekyll/issues/7463

     

    위에서 설정한 

    8. Apache Conf 파일 수정
    : 위에서 나온 Almost there! 구문을 참고하여 아래 파일 수정이 필요합니다. 

    이 부분에 설정을 잘못했을 때 발생하는 에러입니다.

    즉, 모듈 위치를 잘 지정해야 하기 때문에 제가 작성한 글 내용을 꼼꼼히 살펴주세요.

     

    증상

    500 error 발생

    Apache error log 에서는

     

    재설치를 진행해보자.

    gem update --system
    gem install bundler
    bundler update --bundler
    # passenger-install-apache2-module

     

    Almost there! 부분

     

    성공

    (로그)

    워닝이 뜨긴 하지만 성공

    Apache 기동 로그

     


     

    1. Redmine 접속

    접속정보 : http://3.35.96.45:8081/

    초기 ID : admin/admin -> 변경 admin/@$#@!@#!

     

    redmine 초기화면

    대충 이런느낌으로 프로젝트를 생성해 관리할 수 있으며,

    redmine 프로젝트

    시간기록이라는 것이 있어서, 멤버스 산정이 가능합니다.

     

    예상시간은 임의로,

    실제 사용시간은 소요 시간으로 기록하여 Gantt 챠트에 얼마나 시간투자 했는지 산출할 수 있습니다.

    Gantt 차트를 확인하기 위한 소요시간

     

    Gantt 챠트

    redmine Gantt 차트

     

    달력으로 Task 관리 가능

    redmine 일정 공유

     

    이렇게 redmine 설치부터 사용방법까지 간략하게 알아보았습니다.

    결국 redmine을 도입하지 않았지만, 그래도 설치하는것으 그렇게 어렵지 않다는 것을 알게 된 하루였네요.

     

    이후 각종 플러그인을 연동해서 사용하면 됩니다.

     

    반응형