SW/리눅스

Ubuntu 18.04 : Redmine 설치, 구성 방법, 예제, 명령어

얇은생각 2021. 4. 2. 07:30
반응형

Redmine은 가장 인기 있는 오픈 소스 프로젝트 관리 및 문제 추적 소프트웨어 도구 중 하나입니다. 크로스 플랫폼 및 크로스 데이터베이스이며 Rubyon Rails 프레임워크 위에 구축되었습니다.

Redmine에는 여러 프로젝트, 위키, 이슈 추적 시스템, 포럼, 캘린더, 이메일 알림 등에 대한 지원이 포함됩니다.

이 튜토리얼에서는 MySQL을 데이터베이스 백엔드로, Passenger + Nginx를 루비 애플리케이션 서버로 사용하여 Ubuntu 18.04 서버에 최신 버전의 Redmine을 설치하고 구성하는 방법에 대해 설명합니다.

 

 

 

전제조건

계속하기 전에 다음 필수 구성 요소를 충족했는지 확인하십시오.

- 서버 공용 IP를 가리키는 도메인 이름이 있습니다. 이 튜토리얼에서는 example.com을 사용할 것입니다.

- sudo 권한을 가진 사용자로 로그인했습니다.

- Nginx를 설치했습니다.

- 도메인에 대한 SSL 인증서가 설치되어 있습니다.

 

 

 

MySQL 데이터베이스 생성

Redmine은 MySQL/MariaDB, Microsoft SQL Server, SQLite 3 및 PostgreSQL을 지원합니다. 이 튜토리얼에서는 MySQL을 데이터베이스 백엔드로 사용합니다.

Ubuntu 서버에 MySQL이 설치되어 있지 않은 경우 다음 지침을 따라 설치할 수 있습니다.

다음 명령을 입력하여 MySQL 셸에 로그인합니다.

sudo mysql

 

 

MySQL 셸 내에서 다음 SQL 문을 실행하여 새 데이터베이스를 생성합니다. 

CREATE DATABASE redmine CHARACTER SET utf8mb4;

 

 

그런 다음 MySQL 사용자 계정을 만들고 데이터베이스에 대한 액세스 권한을 부여합니다.

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';

 

 

강력한 암호로 변경 내용을 변경해야 합니다.

완료되면 다음을 입력하여 mysql 콘솔을 종료합니다.

EXIT;

 

 

 

Ruby 설치

Ubuntu 시스템에 Ruby를 설치하는 가장 쉬운 방법은 appt 패키지 관리자를 사용하는 것입니다. 작성 당시 Ubuntu 저장소에 있는 버전은 2.5.1로, 루비의 최신 안정 버전입니다.

다음을 입력하여 Ruby를 설치합니다.

sudo apt install ruby-full

 

 

Rbenv 또는 RVM을 통해 Ruby를 설치하려면 이 가이드를 참조하십시오.

 

 

 

Passenger 및 Nginx 설치

Passenger는 Apache 및 Nginx와 통합할 수 있는 Ruby, Node.js 및 Python용 빠르고 가벼운 웹 애플리케이션 서버입니다. Nginx 모듈로 Passenger를 설치합니다.

다음 단계를 계속하기 전에 필수 구성 요소를 따르고 Nginx를 설치했는지 확인하십시오.

먼저 필요한 패키지를 설치합니다.

sudo apt install dirmngr gnupg apt-transport-https ca-certificates

 

 

리포지토리 GPG 키를 가져오고 Pusion 조수석 리포지토리를 활성화합니다.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7
sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main'

 

 

적절한 리포지토리를 활성화하면 패키지 목록을 업데이트하고 다음을 사용하여 조수석 Nginx 모듈을 장착하십시오.

sudo apt update
sudo apt install libnginx-mod-http-passenger

 

 

 

Ubuntu에 Redmine 설치

먼저 Redmine을 구축하는 데 필요한 종속성을 설치합니다. 

sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev

 

 

 

이 기사를 쓸 당시, Redmine의 최신 안정 버전은 4.0.0 버전입니다.

다음 단계를 계속하기 전에 Redmine 다운로드 페이지에서 최신 버전을 사용할 수 있는지 확인해야 합니다.

 

 

1. Redmine을 다운로드하세요.

다음 컬 명령을 사용하여 Redmine 아카이브를 다운로드합니다. 

sudo curl -L http://www.redmine.org/releases/redmine-4.0.0.tar.gz -o /tmp/redmine.tar.gz

 

 

 

다운로드가 완료되면 아카이브를 추출하여 /opt 디렉토리로 이동합니다.

cd /tmp
sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-4.0.0 /opt/redmine

 

 

2. Redmine Database를 구성합니다.

먼저 Redmine 예제 구성 파일을 복사하십시오.

sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml

 

 

 

텍스트 편집기로 파일을 엽니다.

sudo nano /opt/redmine/config/database.yml

 

 

 

 

프로덕션 섹션을 검색하고 이전에 생성한 MySQL 데이터베이스 및 사용자 정보를 입력합니다.

# /opt/redmine/config/database.yml

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "change-with-strong-password"
  encoding: utf8

 

 

완료되면 파일을 저장하고 편집기를 종료합니다.

 

3. Ruby 종속성을 설치합니다.

Redmine 디렉토리로 이동하여 번들러 및 기타 Ruby 종속성을 설치합니다.

cd /opt/redmine/
sudo gem install bundler --no-rdoc --no-ri 
sudo bundle install --without development test postgresql sqlite

 

 

4. 키를 생성하고 데이터베이스를 마이그레이션합니다.

다음 명령을 실행하여 키를 생성하고 데이터베이스를 마이그레이션합니다.

cd /opt/redmine/
sudo bundle exec rake generate_secret_token
sudo RAILS_ENV=production bundle exec rake db:migrate

 

 

5. 올바른 사용 권한을 설정합니다.

Nginx는 www-data 사용자 및 그룹으로 실행됩니다. 다음 Chown 명령을 실행하여 올바른 사용 권한을 설정합니다.

sudo chown -R www-data: /opt/redmine/

 

 

 

 

 

Nginx 구성

현재 시스템에 SSL 인증서가 설치된 Nginx가 설치되어 있어야 합니다. 이 튜토리얼의 필수 구성 요소를 확인하지 않은 경우입니다. 

텍스트 편집기를 열고 다음 Nginx 서버 블록 파일을 만듭니다.

# /etc/nginx/sites-available/example.com

# Redirect HTTP -> HTTPS
server {
    listen 80;
    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

# Redirect WWW -> NON WWW
server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    root /opt/redmine/public;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # log files
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    passenger_enabled on;
    passenger_min_instances 1;
    client_max_body_size 10m;
}

 

 

example.com을 Redmine 도메인으로 바꾸고 SSL 인증서 파일의 올바른 경로를 설정해야 합니다. 모든 HTTP 요청은 HTTPS로 리디렉션됩니다. 이 구성에 사용된 코드 조각은 이 안내서에 작성됩니다.

사이트 사용 디렉토리에 대한 심볼 링크를 만들어 서버 블록을 활성화합니다.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

 

 

 

Nginx 서비스를 다시 시작하기 전에 구문 오류가 없는지 테스트합니다.

sudo nginx -t

# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /etc/nginx/nginx.conf test is successful

 

 

 

마지막으로 다음을 입력하여 Nginx 서비스를 다시 시작합니다.

sudo systemctl restart nginx

 

 

 

Redmine 액세스

브라우저를 열고 도메인을 입력하면 설치가 성공했다고 가정하면 다음과 유사한 화면이 나타납니다.

Ubuntu 18.04 : Redmine 설치, 구성 방법, 예제, 명령어 1

 

 

Redmine의 기본 로그인 자격 증명은 다음과 같습니다.

Username : admin

Password : admin

처음 로그인할 때 아래와 같이 암호를 변경하라는 메시지가 표시됩니다.

Ubuntu 18.04 : Redmine 설치, 구성 방법, 예제, 명령어 2

 

 

변경 암호를 다시 지정하십시오.

암호를 변경하면 사용자 계정 페이지로 리디렉션됩니다.

반응형