CentOS에 Redmine 설치하기
이번 글에서는 오픈소스 관리 툴인 Redmine 4.1을 CentOS 7에 설치해 볼 것이다.
글의 진행 순서는 다음과 같다.
-
실습 전 준비사항
-
Redmine 용 MariaDB 설치
-
Redmine 의존성 설치
-
Redmine 설치 및 설정
-
Apache와 Redmine 연동
1. 실습 전 준비사항
-
CentOS 7, Redminne 4.1 버전
-
작업 수행 CentOS 계정 : root
-
인바운드 방화벽 오픈 : 80, 3000, 3306(외부에서 접근해야 할 경우)
-
아웃바운드 방화벽 오픈 : Redmine, MariaDB, Apache, Ruby 등 Redmine 설치에 필요한 패키지 설치를 위함
1. Redmine 용 MariaDB 설치
우선 Redmine의 정보를 저장 및 관리할 MariaDB 설치 및 설정을 진행해보자.
MariaDB 설치 및 설정
# yum -y install mariadb-server mariadb # MariaDB 설치
# systemctl start mariadb.service # 서비스 시작
# systemctl enable mariadb.service # 재부팅 시 자동실행 설정
추가로 MariaDB root 계정 비밀번호 설정을 위해 "mysql_secure_installation" 을 실행하자.
# mysql_secure_installation
MariaDB 설치 및 설정이 끝났으면 redmine db 및 db계정을 생성하고 및 redmine 테이블에 대한 외부 접근 권한을 부여하자.
MariaDB [(none)]> CREATE DATABASE redmine CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER 'redmine'@'%' IDENTIFIED BY '1111'; <<<---- redmine DB의 user(redmine)와 pw 생성
MariaDB [(none)]> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'%';
2. Redmine 의존성 설치
다음으로 Redmine 설치에 필요한 의존성 파일들을 설치해보자.
# yum -y install libxslt-devel libyaml-devel libxml2-devel gdbm-devel libffi-devel zlib-devel openssl-devel libyaml-devel readline-devel curl-devel openssl-devel pcre-devel git memcached-devel valgrind-devel mysql-devel ImageMagick-devel ImageMagick
# 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 설치 :
# cd /usr/local/src
# wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.gz
# tar xvf ruby-2.6.5.tar.gz
# cd ruby-2.6.5 # ./configure
# make && make install
# ruby -v ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]
만약에 ruby -v 가 인식이 안되면 profiles 적용 후 재 확인
# cd ~
# . ./.bash_profiles
# ruby -v
ruby-gems 설치
# cd /usr/local/src
# wget https://rubygems.org/rubygems/rubygems-3.1.2.tgz
# tar xvf rubygems-3.1.2.tgz
# cd rubygems-3.1.2
# /usr/local/bin/ruby setup.rb
bundler, chef ruby-shadow 설치를 진행합니다.
bundler(번들러)는 Ruby 어플리케이션을 위한 일관된 환경을 관리를 하게 됩니다.
# gem install bundler chef ruby-shadow
rails 설치
# gem install rails -V
3. Redmine 설치 및 설정
Redmine 설치
# cd /home/redmine
# wget https://www.redmine.org/releases/redmine-4.1.0.tar.gz
# tar xvfz redmine-4.1.0.tar.gz
Redmine DB 연동정보 설정값 수정
# cd redmine-4.1.0
# cp config/configuration.yml.example config/configuration.yml
# cp config/database.yml.example config/database.yml
# vi config/database.yml
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "redmine"
encoding: utf8
구동에 필요한 패키지 설치
# bundle install --without development test --path vendor/bundle
쿠키 암호화를 위한 시크릿 토큰 생성
# bundle exec rake generate_secret_token
데이터베이스 생성
# RAILS_ENV=production bundle exec rake db:migrate
기본 언어를 한국어로 설정
# bundle exec rake redmine:load_default_data RAILS_ENV=production REDMINE_LANG=ko
레드마인 실행. 테스트 접속은 http://[서버ip]:3000으로 가능
# bundle exec rails server webrick -e production -b 0.0.0.0 &
3. Apache와 Redmine 연동
Apache Passenger를 이용하여 아파치와 연동할 것임. 관련 라이르러리 설치
# yum -y install httpd libcurl-devel httpd-devel apr-devel apr-util-devel
gem을 통해 passenger 설치
# gem install passenger
passenger를 통해 아파치 모듈 설치
# passenger-install-apache2-module
/etc/httpd/conf.d/redmine.conf 신규 생성 후 편집.
[DocumentRoot]와 [Directory]에는 [레드마인설치 디렉토리]/public으로 작성한다.
LoadModule passenger_module /usr/local/lib/ruby/gems/2.6.0/gems/passenger-6.0.4/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/lib/ruby/gems/2.6.0/gems/passenger-6.0.4
PassengerDefaultRuby /usr/local/bin/ruby
PassengerDefaultUser apache
</IfModule>
<VirtualHost *:80>
# ServerName redmine
DocumentRoot /home/redmine/redmine-4.1.0/public
ErrorLog logs/redmine_error_log
<Directory /home/redmine/redmine-4.1.0/public>
AllowOverride all
Options -Multiviews
Require all granted
</Directory>
</VirtualHost>
레드마인 설치 디렉토리 소유자/그룹 및 권한 변경
# cd /home
# chmod 777 redmine
아파치 재시작 및 재부팅 시 자동실행 셋팅
# systemctl restart httpd
# systemctl enable httpd
참고
https://bluewins.tistory.com/entry/CentOS-7-Redmine-41-%EC%84%A4%EC%B9%98
https://nowonbun.tistory.com/402
https://goddaehee.tistory.com/78
https://huikyun.tistory.com/370
https://dongyeopblog.wordpress.com/2017/04/28/could-not-locate-gemfile/