이번 섹션은 "Redmine 설치하기"입니다.
Redmine은 Ruby로 작성되었으며 여러 Ruby 패키지가 필요합니다. 아직 설치하지 않았다면, Ruby 인터프리터, 모듈을 빌드하는 데 필요한 Ruby 언어 헤더, 그리고 몇 가지 주요 종속성을 설치하세요.
$ sudo apt-get install ruby ruby-dev build-essential mysql-server mysql-client libmysqlclient-dev subversion
또한, `gem`을 사용하여 Ruby의 `bundle` 명령어를 설치해야 합니다. 참고 자료 중 하나에서는 `io-wait` 및 `strscan`도 `gem`을 통해 설치할 것을 권장하므로, 여기서 함께 설치합니다.
$ sudo gem install bundler io-wait strscan
사용자 "redmine"으로 로그인하세요. 관리자 계정에서 다음 명령어를 사용하여 수행할 수 있습니다:
$ sudo -u redmine bash
$ cd
"live" 디렉터리를 생성하고 해당 디렉터리로 이동한 후, Subversion을 사용하여 Redmine 5의 최신 안정 버전을 체크아웃하세요. Subversion을 사용하면 새로운 버그 수정이 적용될 때 Redmine을 더 쉽게 업데이트할 수 있습니다.
$ [ ! -d “/home/redmine/live” ] && mkdir /home/redmine/live
$ cd /home/redmine/live
$ svn co https://svn.redmine.org/redmine/branches/5.0-stable redmine-5.0
A redmine-5.0/test
A redmine-5.0/test/unit
A redmine-5.0/test/unit/document_test.rb
A redmine-5.0/test/unit/issue_import_test.rb
A redmine-5.0/test/unit/repository_git_test.rb
. . .
이제 시스템에서 최신 안정 버전의 Redmine이 포함된 `/home/redmine/live/redmine-5.0` 디렉터리를 확인할 수 있어야 합니다.
이전 Redmine 설치에서 업데이트하는 경우, 앞에서 설명한 대로 데이터베이스의 내용을 복원해야 하며, `files` 디렉터리의 내용도 복원해야 합니다.
관리자 계정에서 이전에 생성한 `redmine_files.tar.gz` 파일을 사용하여 `files` 디렉터리를 다음과 같이 복원하세요.
$ sudo mv redmine_files.tar.gz /home/redmine/live/redmine-5.0/redmine_files.tar.gz
$ sudo chown redmine:redmine /home/redmine/live/redmine-5.0/redmine_files.tar.gz
$ sudo -u redmine bash -c ‘cd /home/redmine/live/redmine-5.0 ; mv files files.old ; tar -xvzf redmine_files.tar.gz’
# Only run the next commands if everything above is successful.
$ sudo -u redmine bash -c ‘rm /home/redmine/live/redmine-5.0/redmine_files.tar.gz’
$ sudo -u redmine bash -c ‘rm -Rf /home/redmine/live/redmine-5.0/files.old’
다음으로 `redmine-5.0/config` 최상위 디렉터리로 이동한 후, 예제 데이터베이스 설정 파일을 복사하여 `/home/redmine/live/redmine-5.0/config/database.yml` 파일을 생성하세요. 그런 다음 해당 파일을 편집하여 Redmine이 실행 중인 MySQL 인스턴스를 가리키도록 설정하세요.
$ cd redmine-5.0/config/
$ cp database.yml.example database.yml
$ vi database.yml
결과 파일은 다음과 같은 형태여야 합니다.
# Default setup is given for MySQL 5.7.7 or later.
# Examples for PostgreSQL, SQLite3 and SQL Server can be found at the end.
# Line indentation must be 2 spaces (no tabs).
production:
adapter: mysql2
database: redmine
host: localhost
username: 'redmine'
password: '<mysql-redmine-password>'
# Use “utf8” instead of “utfmb4” for MySQL prior to 5.7.7
encoding: utf8mb4
development:
adapter: mysql2
database: development_redmine
host: localhost
username: 'redmine'
password: '<mysql-redmine-password>'
# Use “utf8” instead of “utfmb4” for MySQL prior to 5.7.7
encoding: utf8mb4
# Warning: The database defined as “test” will be erased and
# re-generated from your development database when you run “rake”.
# Do not set this db to the same as development or production.
test:
adapter: mysql2
database: test_redmine
host: localhost
username: 'redmine'
password: '<mysql-redmine-password>'
# Use “utf8” instead of “utfmb4” for MySQL prior to 5.7.7
encoding: utf8mb4
초록색으로 표시된 항목을 MySQL 구성에 맞게 변경하세요. 주석에서 언급된 대로 들여쓰기를 준수하고, 항상 공백 두 칸을 사용하며 탭을 사용하지 않도록 주의하세요.
다음 단계는 Ruby의 `bundle` 명령어를 사용하여 Redmine의 모든 종속성을 설치하는 것입니다. 종속성은 `redmine-5.0` 디렉터리 아래의 `vendor/bundle` 디렉터리에 유지할 것입니다.
$ cd ~/live/redmine-5.0/
$ bundle config set –local path ‘vendor/bundle’
$ bundle install
Fetching gem metadata from https://rubygems.org/………
Resolving dependencies…..
Fetching rake 13.0.6
Installing rake 13.0.6
Fetching concurrent-ruby 1.1.10
Installing concurrent-ruby 1.1.10
Fetching i18n 1.10.0
Installing i18n 1.10.0
Fetching minitest 5.16.2
Installing minitest 5.16.2
Fetching tzinfo 2.0.5
Installing tzinfo 2.0.5
Fetching zeitwerk 2.6.0
Installing zeitwerk 2.6.0
. . .
. . .
Post-install message from html-pipeline:
————————————————-
Thank you for installing html-pipeline!
You must bundle Filter gem dependencies.
See html-pipeline README.md for more details.
https://github.com/jch/html-pipeline#dependencies
————————————————-
Post-install message from rubyzip:
RubyZip 3.0 is coming!
**********************
The public API of some Rubyzip classes has been modernized to use named
parameters for optional arguments. Please check your usage of the
following classes:
* `Zip::File`
* `Zip::Entry`
* `Zip::InputStream`
* `Zip::OutputStream`
Please ensure that your Gemfiles and .gemspecs are suitably restrictive
to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).
See https://github.com/rubyzip/rubyzip for details. The Changelog also
lists other enhancements and bugfixes that have been implemented since
version 2.3.0.
Rails는 쿠키 및 기타 항목에 사용되는 비밀 키(Secret Key)를 필요로 합니다.
$ bundle exec rake generate_secret_token
그리고, Redmine은 Redmine 데이터베이스가 구성되거나 마이그레이션되어야 합니다.
$ export RAILS_ENV=production
$ bundle exec rake db:migrate
== 20210704125704 AddTwofaRequiredToGroups: migrating =========================
— add_column(:users, :twofa_required, :boolean, {:default=>false})
-> 0.0476s
== 20210704125704 AddTwofaRequiredToGroups: migrated (0.0622s) ================
== 20210705111300 AddProjectsDefaultIssueQueryId: migrating ===================
— add_column(:projects, :default_issue_query_id, :integer, {:default=>nil})
-> 0.0206s
== 20210705111300 AddProjectsDefaultIssueQueryId: migrated (0.0209s) ==========
== 20210728131544 DropIsInChlogColumn: migrating ==============================
— remove_column(:trackers, :is_in_chlog)
또한, Redmine에서 요구하는 기본 데이터를 데이터베이스에 삽입하세요.
$ export RAILS_ENV=production
$ export REDMINE_LANG=en
$ bundle exec rake redmine:load_default_data
Some configuration data is already loaded.
이 시점에서 Redmine이 완전히 구성되어 있어야 합니다. 다음으로, Redmine이 정상적으로 작동하는지 확인하고 Apache2가 Redmine을 제공하도록 설정하겠습니다.
다음 섹션에서 "Redmine 및 최종 구성 확인"에 대해서 정리하겠습니다.
'Redmine' 카테고리의 다른 글
Redmine에서 이메일 알림 활성화 설정 방법 (0) | 2025.03.19 |
---|---|
Ubuntu 22.04.03에서 Redmine 5.0 구성하기 [ 5 ] - 최종 구성확인 (0) | 2025.03.19 |
Ubuntu 22.04.03에서 Redmine 5.0 구성하기 [ 3 ] - MySQL 설정 (0) | 2025.03.19 |
Ubuntu 22.04.03에서 Redmine 5.0 구성하기 [ 2 ] - Apache2 구성 (0) | 2025.03.19 |
Ubuntu 22.04.03에서 Redmine 5.0 구성하기 [ 1 ] (0) | 2025.03.19 |