메피카타츠의 블로그
Windows에 Redmine 6.0.5 수동으로 설치하기 본문
1. Redmine이란?
Redmine은 오픈소스 이슈 트래커로, 프로젝트 관리와 이슈들을 생성 및 추적할 수 있다.
예시를 들자면, '어플리케이션이 강제 종료되는 버그' 등과 같은 이름으로 '일감'을 생성해 버그를 보고할 수도 있고, '버튼을 눌렀을 때 소리 추가'와 같이 신규 기능에 관한 '일감'을 생성할 수도 있다. 이 '일감'의 '담당자'를 할당해서 누가 처리하게 할 것인지 정한다거나, '로드맵' 기능을 통해 언제까지 어떤 '일감'을 작업할 것인지 관리를 하는 것도 가능하다.
2. Redmine vs Jira
Redmine 외에도, Jira라는 이슈 트래커도 있다. Jira는 시작이 매우 간편하긴 하지만, 무료로 사용할 수 있는 최대 인원이 10명으로 제한되어 있다. 비용은 현재 Standard 는 월 8.6달러, Premium은 월 17달러인데, 사용하는 인원이 30명이라고 하면 현재 환율로 월 약 35만원, 연간 420만원의 비용이 들어간다. 물론 1명당 연간 14만원 정도니 부담하기 어려운 금액은 아니겠지만, 레드마인은 무료이기 때문에 고정 비용이 훨씬 적을 것이다. 특히 빌드 머신이 따로 있는 경우, 레드마인이 리소스를 적게 잡아먹기 때문에 백그라운드에 돌려놓기에도 별로 부담되지 않아 좋은 선택이 될 것이다.
소규모 팀은 무료이니만큼 Jira로 시작하는 것도 괜찮은 선택이겠지만, 과거 기록들이 필요한 경우도 있고, 한 번 익숙해진 툴을 변경하기는 쉽지 않을 수 있으므로 시작할 때 레드마인에 대해서도 한 번쯤 고민해보면 좋을 것 같다.
Jira는 돈만 내면 따로 머신을 구비하지 않아도 되고, 데이터 백업 등에 대해 신경쓸 필요도 없다. 거기다 지속적으로 업그레이드도 해주고, 유료이니만큼 기능들도 굉장히 다양하다.
반면 Redmine은 오픈 소스라 비용을 지불할 필요는 없지만, 돌릴 머신도 필요하고, 주기적으로 데이터를 백업한다든지 등의 관리가 필요하다. 기본으로도 쓸만하지만, 제대로 활용하려면 플러그인들이 필요한데, 최신 플러그인들은 유료인 경우가 많다. 무료 플러그인들도 쓸만한 것들이 있지만, 유료 플러그인들에 비해 퀄리티가 다소 떨어지는 것은 감안해야 할 것이다. 다만 여태까지 사용해온 바로는, 무료 플러그인들만 적용해서 사용하는데 큰 불편함은 없었다.
3. Redmine 설치 방법
Redmine을 수동으로 설치하는 건 약간 복잡하고 귀찮다. 그래서 설치를 간편하게 할 수 있게 해주는 Bitnami Redmine이 있는데, Windows에 딱 맞는 exe 설치 프로그램은 5.0.3에서 지원이 끊겼다.
5.0.3 버전으로도 충분하다면 위 링크를 통해 받을 수 있다.
https://bitnami.com/stacks/redmine
현재는 Docker를 통한 설치를 지원하긴 하는데, 설치는 간편하지만 Windows에서 돌리기에는 너무 비효율적이다. 켜놓는 것만으로도 리소스 소모가 심해서, 웬만하면 추천하지 않는 방법이다.
그래서 결국에는 수동 설치를 하기로 결정했다. 다소 복잡하긴 하지만, 잘 따라하면 오래 걸리지는 않는다.
https://www.redmine.org/projects/redmine/wiki/Download
공식 레드마인 사이트에서 레드마인을 다운로드 받을 수 있다.
https://www.redmine.org/projects/redmine/wiki/RedmineInstall
위 링크에 레드마인 설치에 관한 내용이 상세히 작성되어 있다. 텍스트만 있어서 불편하지만 위 링크만 참조해도 설치가 가능하다.
4. Redmine 설치 따라하기
1. 레드마인 다운로드 후 압축 풀기
https://www.redmine.org/projects/redmine/wiki/Download
위 링크에서 레드마인 파일을 받는다. 이 글에서는 6.0.5 버전을 설치할 예정이다. 버전이 달라지면 설치 방법도 다소 달라질 수 있으니 참고하길 바란다.
이후 적당한 위치에 압축을 풀어준다.
2. Ruby 설치
https://rubyinstaller.org/downloads/
위 링크에서 레드마인을 돌리기 위해서 Ruby를 다운로드 받고 설치하자.
https://www.redmine.org/projects/redmine/wiki/RedmineInstall
레드마인 설치 사이트를 참조하면 레드마인 버전에 따라 지원되는 Ruby 버전을 알 수 있다. 6.0 버전은 3.1, 3.2, 3.3 버전을 지원하므로 3.3.8-1 버전을 설치하겠다.
1. Install for me only(recommended) 선택 (필요에 따라 Install for all users 선택)
2. I accept the License 체크 후 Next 클릭
3. 설치 경로 설정 후 Install 클릭
4. Next 클릭 (Ruby RI and HTML documentation 체크 해제해도 괜찮을 것 같기는 한데 나는 체크했다)
5. 설치 대기 후 Finish 클릭
6. Enter 누르고 기다리기
7. 흠... -_-... 회사에서 설치할 때는 이런 거 안 떴던 거 같은데? unsure하니 엔터를 누르자.
3. MySQL 설치 및 세팅
https://dev.mysql.com/downloads/mysql/8.0.html
1. 위 링크에서 MySQL을 다운로드 받는다.
2. 적당한 위치에 압축을 풀어주자.
3. MySQL 폴더\bin 폴더에서 cmd 창을 열어준다. 빨갛게 표시한 부분을 누르고 "cmd" 입력 후 엔터로 열 수도 있고, cmd 창을 열어서 ("드라이브명:" 엔터) => ("cd 경로" 엔터) 로 열어도 괜찮다.
4. mysqld --initialize --console 입력 후 엔터를 하면 초기화 후 임시 비밀번호가 지급된다. 마지막 줄의 root@localhost: 뒤에 있는 문자가 비밀번호이니 메모해두자.
5. mysqld 입력 후 엔터로 MySQL 서버를 실행해준다. 아무것도 안 뜨지만 실행 중이니 백그라운드에 두면 된다.
6. cmd 창을 하나 더 열어서 같은 폴더에서 "mysql -u root -p"를 입력한다. 아까 메모해둔 비밀번호를 입력한다. 우클릭하면 붙여넣기가 가능하다.
정상적으로 로그인이 완료되면 위와 같이 나타난다.
7. alter user 'root'@'localhost' identified by '비밀번호'; 를 입력하여 비밀번호를 새롭게 지정해주자.
8. redmine에서 사용할 DB와 계정 생성하기 (한 줄씩 입력)
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
9. Redmine 폴더에서 계정 정보 입력하기
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "my_password"
variables:
transaction_isolation: "READ-COMMITTED"
(레드마인 폴더)\config 밑에 database.yml 파일을 생성하고, 위 내용을 입력하고 저장한다. password 부분에는 redmine 계정을 생성하며 입력했던 비밀번호를 적어준다.
4. 기타 세팅
1. 이번엔 레드마인 루트 폴더에서 cmd를 열어주고 아래 2줄을 한 줄씩 입력하면 레드마인에 필요한 gem들이 설치된다.
bundle config set --local without 'development test'
bundle install
2. Gemfile.local 추가
레드마인 루트 폴더에 Gemfile.local 파일을 생성하고, gem 'puma' 내용을 추가한다.
보통은 Passenger를 활용하는 것 같던데, Windows에서는 Passenger를 사용할 수 없어서 puma를 사용한다.
3. 시크릿 토큰 생성
bundle exec rake generate_secret_token
3-1. 시크릿 토큰 생성 중 에러가 발생했을 때
https://github.com/brianmario/mysql2/issues/1391#issuecomment-2783016949
(루비 설치 경로)\msys64\ucrt64\include\mysql\mariadb_version.h의 내용 중 #define MARIADB_CLIENT_VERSION_STR "10.8.8"로 되어 있는 부분을 #define MARIADB_CLIENT_VERSION_STR "3.4.4" 로 변경해준다.
gem uninstall mysql2
bundle install
이후 위 2줄을 한 줄씩 cmd에 입력해 재설치해준다.
bundle exec rake generate_secret_token
잘 해결됐으면 시크릿 토큰을 마저 생성해주자.
4. DB 세팅
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:load_default_data RAILS_ENV=production REDMINE_LANG=ko
위 2줄을 한 줄씩 cmd에 입력해주자.
5. 서버 실행
1. gem 재확인
bundle install
입력하면 위처럼 뜬다. puma가 하나보다 많다고 하는데 아마 Gemfile의 test쪽에 puma가 선언되어 있어서 그런 듯. 딱히 제거해주지 않아도 문제는 없었다.
2. 서버 실행
bundle exec rails server -e production
위를 실행하면 드디어 서버가 실행된다. 서버를 실행할 때 -p 4000 등 입력하여 포트를 변경할 수 있다.
localhost:3000 으로 접속해서 잘 되는지 확인해보자.
6. Apache 설치 후 연동
https://www.apachelounge.com/download/
위 링크에서 다운 받아서 적당한 위치에 압축을 풀어주자.
cmd에서 ipconfig로 IPv4 주소를 알아내자.
ServerName (IPv4 주소)
<VirtualHost *:80>
ServerName (IPv4 주소)
ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http://127.0.0.1:3000/
\Apache24\conf\httpd.conf 폴더를 열어 위 내용을 입력해주자. 해당 파일에 "Listen 80" 이라는 부분이 있을 텐데, 기본적으로는 80번 포트로 실행이 되고, 그 80번 포트로 들어오면 http://127.0.0.1:3000/ 으로 연결해주도록 하는 것이다.
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
파일 중간에 위 내용도 추가해주자. (주석 처리된 부분을 찾아서 해제해줘도 됨)
파일 중간에 위 내용을 찾아서 Define SRVROOT "c:/Apache24" 부분의 경로를 압축 해제한 경로로 변경해주자.
이후 Apache24\bin\httpd.exe 를 실행하면 된다.
인터넷 창에서 "IPv4주소:80" 으로 접속할 수 있는지 확인해보자. 다른 컴퓨터에서 접속하려면 방화벽에서 80번 포트로 접속하는 것을 허용해주면 된다.
이렇게 하면 Windows에서 적은 CPU와 메모리 사용으로 Redmine을 구축해낼 수 있다.
7. 추가 정보
1. 레드마인 버전을 업그레이드하는 경우
나는 회사에서 기존에 3.4.6 버전을 사용하고 있었기 때문에 데이터를 복구해야 했다. 다행히도 6.0.5 버전으로 마이그레이션이 잘 되었다. 기존에 사용하던 레드마인은 Bitnami Redmine으로 설치되어 있었는데, 설치 폴더에서 use_redmine.bat 파일을 실행하면 콘솔을 사용할 수 있다.
mysqldump -u root -p redmine_database > redmine_backup.sql
콘솔에서 위 명령어를 입력해 DB 내용을 백업할 수 있다. "redmine_database"는 기존에 생성했던 redmine용 database 이름을 입력하면 된다. (database.yml 파일 참조)
mysql -u root -p
DROP DATABASE redmine;
CREATE DATABASE redmine CHARACTER SET utf8mb4;
mysql -u root -p redmine < (경로)\redmine_backup.sql
bundle exec rake db:migrate RAILS_ENV=production
새로 설치한 레드마인의 mysql에 접속하여 기존 DB를 날리고 새로 생성한 후, 백업했던 DB 내용을 복구한다.
완료 후, 새로 설치한 레드마인 루트 폴더에서 마이그레이션을 해주면 정상적으로 데이터가 옮겨진다.
설치 경로의 files 폴더에 스크린샷 등 데이터가 저장되니 해당 파일들을 그대로 옮겨오면 된다.
2. 플러그인 설치
https://www.redmine.org/plugins?page=1
위 링크에서 플러그인들을 찾을 수 있다. 우측 상단에서 지원하는 버전으로 필터링 걸 수도 있다.
https://www.redmine.org/plugins/redmine-dashboard
무료 플러그인 중에서는 위 플러그인을 추천한다. 괜찮은 퀄리티의 칸반 보드를 무료로 사용할 수 있다.
플러그인 설치 방법은 플러그인마다 따로 나와있을 것이다. 단 나의 경우는 제대로 플러그인이 적용되지 않았는데, 아마 (레드마인 폴더)\log\production.log 폴더에 에러가 기록됐던 것으로 기억한다. 아마 플러그인의 에셋을 public\plugin_assets 밑에 옮겨줬어야 했던 것 같은데 확실하진 않다.
3. 테마 설치
테마 설치는 레드마인 6.0부터 (레드마인 설치 경로)\themes 밑에 테마 폴더를 두어야 한다.
테마가 제대로 적용되지 않는 경우에는 (테마 폴더)\stylesheet\application.css) 파일 맨 윗줄을 수정해주자.
@import url(../../../stylesheets/application.css);
=>
@import url(../../application.css);
위의 내용을 아래처럼 수정해주면 된다. 위에건 레드마인 5.1까지, 아래는 레드마인 6.0부터다. 플러그인/테마 경로 구조가 바뀌어서 문제가 발생하는 것 같다.
============================================================
=_=.. 이미 해봐서 금방 쓸 줄 알았는데 4시간이나 걸렸다. 처음할 땐 이틀이나 걸렸으니 그거에 비하면 많이 줄어든 것 같기도 하고? 부디 누군가 유용하다고 생각하길 바란다. =_=...