SW/리눅스

Debian 9 : Redmine 설치, 구성 방법, 예제, 명령어

얇은생각 2021. 10. 5. 07:30
반응형

Redmine은 무료 오픈 소스 프로젝트 관리 및 문제 추적 애플리케이션입니다. 크로스 플랫폼과 크로스 데이터베이스이며 Ruby on Rails 프레임워크 위에 구축되었습니다. 

Redmine에는 여러 프로젝트, Wiki, 문제 추적 시스템, 포럼, 일정, 이메일 알림 등이 지원됩니다.

 데이터베이스 백엔드로 MySQL을 사용하고 루비 애플리케이션 서버로 Passenger + Nginx를 사용하여 Debian 9 서버에 Redmine의 최신 버전을 설치하고 구성하는 방법을 보여드리겠습니다.

 

 

 

필수 조건

계속 진행하기 전에 다음 사전 요구 사항을 충족했는지 확인하십시오.

서버 공용 IP를 가리키는 도메인 이름이 있어야 합니다. example.com을 이용하겠습니다.

sudo 권한이 있는 사용자로 로그인되었습니다.

Nginx가 설치되어 있어야 합니다.

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

 

 

 

MySQL 데이터베이스를 생성

Redmine은 MySQL/MariaDB, Microsoft SQL Server, SQLite 3 및 PostgreSQL을 지원합니다. 데이터베이스 백엔드로 MariaDB를 사용할 예정입니다. MySQL 5.7 또는 MariaDB 10.3 이상이 컴퓨터에 설치되어 있어야 합니다.

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

먼저 다음을 입력하여 MySQL 콘솔에 로그인합니다.

sudo mysql

 

 

 

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

CREATE DATABASE redmine CHARACTER SET utf8mb4;

 

 

 

새 MySQL 사용자 계정을 생성하고 데이터베이스에 대한 액세스 권한을 부여합니다.

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

 

 

강력한 암호로 change-with-strong-password를 변경하는 것을 잊지 마십시오.

완료되면 다음을 입력하여 MariaDB 콘솔에서 로그아웃합니다.

EXIT;

 

 

 

Ruby를 설치

Debian에 Ruby를 설치하는 가장 쉬운 방법은 적절한 패키지 관리자를 사용하는 것입니다.

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

sudo apt install ruby-full

 

 

작성 당시 Debian 저장소의 버전은 2.3.3p222이며 이는 Redmine의 최신 버전에서 지원됩니다. 

 

 

 

Passenger 및 Nginx를 설치

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

다음 단계를 계속하기 전에 Nginx가 설치되어 있는지 확인하십시오.

 https 저장소를 실행하는 데 필요한 패키지를 설치합니다.

sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common

 

 

저장소 GPG 키를 가져오고 Pusion passenory를 사용하도록 설정합니다.

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 stretch main'

 

 

 

패키지 목록을 업데이트하고 다음을 사용하여 조수석 Nginx 모듈을 장착하십시오.

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

 

 

 

Debian에 Redmine을 설치

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

sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev

 

 

Redmine의 최신 안정 버전은 4.0.4 버전입니다.

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

 

 

1. Redmine을 다운로드

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

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

 

 

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

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

 

 

2. Redmine 데이터베이스를 구성

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에 접속

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

Debian 9 : Redmine 설치, 구성 방법, 예제, 명령어 1

 

 

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

사용자 이름: admin

비밀번호: admin

 

처음 로그인하면 아래와 같이 비밀번호를 변경하라는 메시지가 표시됩니다.

Debian 9 : Redmine 설치, 구성 방법, 예제, 명령어 2

 

 

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

반응형