티스토리 뷰

728x90

설치 환경

OS : Centos 7
DB : MariaDB


모든 과정은 root 계정으로 진행합니다.

 


1. DB 설치

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



2. DB 보안 설정

# DB 보안 설정 및 관리자 비밀번호 설정
$ mysql_secure_installation


보안 설정은 해당 환경에 따라 알맞게 설정해야 합니다.

 


3. DB 접속 후 database 생성 및 사용자 생성

# DB 접속
$ mysql -uroot -p

# redmine 정보를 저장할 DATABASE 생성 (table 은 자동으로 생성됨)
[MariaDB] CREATE DATABASE redmine CHARACTER SET utf8 COLLATE utf8_general_ci;
# redmine DB 담당 사용자 생성
[MariaDB] CREATE USER 'redmine'@'%' IDENTIFIED BY 'redmine1234';
# redmine 담당 사용자에게 권한 부여
[MariaDB] GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'%';
# 캐시 삭제 및 설정 적용
[MariaDB] FLUSH PRIVILEGES;
# 종료
[MariaDB] quit;


 


4. Nginx 설치 및 연동

redmine이 가지고 있는 고유 웹 서버인 webrick이 있지만 매우 느립니다.
개발 환경에서는 적합할 수 있으나, 운영 환경에서는 좋지 않으므로 nginx를 활용하기로 합니다.

# 라이브러리 설치
$ yum -y install php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel


 


5. redmine 의존성 라이브러리 설치

$ yum -y install gcc g++ cpp gcc-c++ openssl-devel readline-devel zlib-devel curl-devel libyaml-devel ImageMagick ImageMagick-devel
$ yum -y install mariadb-devel # db 종류에 따라 다를 수 있음


 


6. Ruby 설치

Redmine 은 Ruby 기반이기 때문에 필수로 설치해야 합니다.

# ruby 및 관련 라이브러리 설치
$ yum -y install ruby ruby-devel ruby-irb ruby-rdoc ruby-ri


 


7. rubygem 설치

$ gem update
$ yum -y install gcc gcc-c++ make
$ gem install rails -v 6.0.3
# 아래 링크 참조
# <https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html>

 



7-1. gem update 시, 에러 발생

위와&nbsp;같이&nbsp;에러가&nbsp;발생하는&nbsp;이유는&nbsp;ruby의&nbsp;버전이&nbsp;낮아서&nbsp;발생하는&nbsp;것

 

# RVM GPG key 설치하기
$ curl -sSL <https://rvm.io/pkuczynski.asc> | gpg2 --import -
# RVM 설치 스크립트 다운로드 및 실행
$ curl -sSL <https://get.rvm.io> | bash -s stable

# 시스템 환경 변수 및 RVM 정보 업데이트
$ source /etc/profile.d/rvm.sh
$ rvm reload

# RVM 의존성 패키지 설치
$ rvm requirements run

# 설치 가능한 Ruby 버전 정보 확인
$ rvm list known

# 2.7 버전 설치
$ rvm install 2.7

# 설치 확인 
$ ruby -v


 



8. bundler 설치

$ gem install bundler


 



9. redmine 설치

원하는 버전이 있다면 아래 버전 대신 해당 버전을 작성하면 됩니다.
자세한 버전은 사이트에서 확인 가능합니다.
아래에서는 4.2.10 버전을 설치했습니다.

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



redmine 사용 시, 사용할 경로를 설정합니다.
이렇게 설정하면 http://{사용자 ip}/redmine 으로 접속했을 때, redmine을 사용할 수 있습니다.

$ vi /var/www/html/redmine/config/environment.rb

# 추가된 내용
Rails.application.initialize!

ActionController::Base.relative_url_root = RedmineApp::Application.routes.default_scope
Redmine::Utils::relative_url_root = RedmineApp::Application.routes.default_scope

ENV['RAILS_RELATIVE_URL_ROOT'] = "/redmine" 
Redmine::Utils::relative_url_root = ENV['RAILS_RELATIVE_URL_ROOT']



 






10. DB 설정 및 mysql 계정 정보 입력

/var/www/html/redmine/config 에 있는 database.yml.example 파일을 복사하여 새로운 파일을 만들어야 합니다.
새로운 파일(database.yml) 에는 DB의 root 계정 비밀번호를 입력해야 합니다.

# 파일 복사
$ cp /var/www/html/redmine/config/database.yml.example /var/www/html/redmine/config/database.yml

# 파일 작성
$ vi /var/www/html/redmine/config/database.yml

 



11. Redmine Gem 설치

$ bundle install --without development test



Gemfile 관련하여 오류가 났을 경우 사용할 버전을 따로 선언해야 합니다.

$ rvm use 2.6.6


 


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

$ bundle exec rake generate_secret_token


 

13. DB 스키마 생성

# 변경된 DB가 Redmine에 적용되도록 마이그레이션 한다.
$ bundle exec rake db:migrate RAILS_ENV=production


 

14. 기본 언어 한국어로 지정

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


 

15. Redmine - Nginx 연동 모듈 설치

$ gem install passenger
$ passenger-install-nginx-module

 

위와 같이 뜨면 성공적으로 설치된 것




16. Nginx 구성

cd /opt/nginx/conf/
vi nginx.conf


위와 같이 host/*.conf 파일을 포함하도록 수정하고 charset을 utf-8로 지정해준다.

 


nginx config 설정

mkdir host
cd host
vi redmine.conf

# 파일 내용
server {
        listen       80;
        server_name  127.0.0.1;
	
	location /redmine {
		passenger_base_uri /redmine;
        passenger_app_root /var/www/html/redmine;
        passenger_document_root /var/www/html/redmine/public;
        passenger_enabled on;
        alias /var/www/html/redmine/public;
	}

        client_max_body_size      10m; # Max attachemnt size

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}


 

nginx 자동 실행 및 설정

cd /usr/lib/systemd/system
vi nginx.service

# 파일 내용
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target


 


17. Nginx 시작

systemctl daemon-reload
systemctl enable nginx
systemctl start nginx
728x90
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크