티스토리 뷰
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 시, 에러 발생

# 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
'프로젝트' 카테고리의 다른 글
[Redmine] Git 연동하기 (0) | 2024.02.29 |
---|---|
[DB] 멋쟁이사자처럼 9기 백엔드 스터디 (4) - REST API와 HTTP 메소드 (0) | 2021.08.31 |
[DB] 멋쟁이사자처럼 9기 백엔드 스터디 (3) - 서버와 배포 (0) | 2021.08.26 |
[DB] 멋쟁이사자처럼 9기 백엔드 스터디 (2) - DataBase 모델링이란? (0) | 2021.08.17 |
[DB] 멋쟁이사자처럼 9기 백엔드 스터디 (1) - Database란 무엇인가? (10) | 2021.08.11 |
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크