CentOS 7에서 Redmine 설치 및 구성 방법

CentOS 7에서 Redmine 설치 및 구성 방법

2022-05-17 last update

21 minutes reading mysql nginx centos redmine ruby mariadb
Redmine은 가장 유행하는 소스 오픈 프로젝트 관리 및 문제 추적 소프트웨어 도구 중 하나입니다.플랫폼 및 데이터베이스 전반에 걸쳐 Ruby on Rails 프레임워크에 구축됩니다.Redmine
여러 항목, Wiki, 문제 추적 시스템, 포럼, 일정, 이메일 알림 등에 대한 지원이 포함됩니다.본 강좌에서는 CentOS 7 서버에 최신 버전의 Redmine을 설치하고 설정하는 데 필요한 절차를 소개합니다. 이 서버는 MariaDB를 데이터베이스 백엔드로 하고, Passenger+Nginx를 루비 응용 서버로 사용합니다.

선결 조건

본 강좌를 계속하기 전에 다음과 같은 선결 조건을 충족시켜야 합니다.
  • 서버의 공공 IP를 가리키는 도메인 이름입니다.본 강좌에서 우리는 example.com을 사용할 것이다.
  • user with sudo privileges로 로그인
  • 소스 코드에서 Redmine 및 Ruby 구축에 필요한 패키지 설치:
    sudo yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool  sudo yum install readline-devel sqlite-devel zlib-devel openssl-develh readline  glibc-headers glibc-develsudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

    MySQL 데이터베이스 만들기

    Redmine 지원 MySQL/MariaDB, Microsoft SQL Server, SQLite 3 및 PostgreSQL
    . 이 자습서에서는 MariaDB를 데이터베이스 백엔드로 사용합니다.CentOS 서버에 MariaDB 또는 MySQL이 설치되어 있지 않으면 다음과 같이 설치할 수 있습니다these instructions.
    . 다음 명령을 입력하여 MySQL 셸에 로그인합니다.
    sudo mysql
    MySQL 셸에서 다음 SQL 문장을 실행하십시오create a new database.
    :
    CREATE DATABASE redmine CHARACTER SET utf8;
    다음으로 MySQL user account and grant access to the database 생성
    :
    GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
    강력한 암호 변경change-with-strong-password을 사용해야 합니다.완료 후:
    EXIT;

    승객 및 Nginx 설치

    Passenger를 입력하여 mysql 셸을 종료합니다
    Ruby Node용 고속 경량 웹 응용 서버입니다.Apache와 통합 가능한 js 및 Python
    Nginx도 있습니다.우리는 승객을 Nginx 모듈로 설치할 것이다.설치EPEL repository
    필요한 패키지:
    sudo yum install epel-release yum-utils pygpgmesudo yum-config-manager --enable epel
    활성화Phusionpassenger
    저장소:
    sudo yum-config-manager --add-repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
    저장소가 활성화되면 패키지 목록을 업데이트하고 Nginx 및 Passenger를 설치합니다.
    sudo yum install nginx passenger passenger-devel

    새 시스템 사용자 만들기

    새 사용자와 그룹을 만들고 이 사용자와 그룹은 Redmine 인스턴스를 실행합니다. 쉽게 사용자 이름을 지정합니다redmine:
    sudo useradd -m -U -r -d /opt/redmine redmine
    추가nginxuser to the new user group
    변경/opt/redminedirectory permissions
    이렇게 하면 Nginx가 접근할 수 있습니다.
    sudo usermod -a -G redmine nginxsudo chmod 750 /opt/redmine

    Ruby 설치

    CentOS 저장소의 루비 버전은 이미 유행이 지났고 Redmine은 그것을 지원하지 않습니다.RVM을 사용하여 Ruby를 설치합니다.Switch to the user redmine 입력: (adsbyGoogle=window.adsbyGoogle||[]).추진({});
    sudo su - redmine
    GPG 키 가져오기 및 RVM 설치:
    gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL https://get.rvm.io | bash -s stable
    RVM 사용을 시작합니다source.rvm 파일:
    source /opt/redmine/.rvm/scripts/rvm
    현재 Rbenv checkthis guide를 통해 Ruby를 설치하려면 다음과 같이
    rvm install 2.5rvm --default use 2.5
    를 실행하여 Ruby를 설치할 수 있습니다.

    CentOS에 Redmine 설치

    본문을 작성할 때 Redmine의 최신 안정적인 버전은 4.0.1판이다.다음 단계를 계속하기 전에 검사해야 합니다Redmine download page
    업데이트된 버전이 있는지 확인합니다.redmine 사용자로 다음 절차를 실행해야 합니다.

    1. Redmine 다운로드

    Redmine 아카이브 다운로드 및 제공curl command
    :
    curl -L http://www.redmine.org/releases/redmine-4.0.1.tar.gz -o redmine.tar.gz
    다운로드 완료 후 파일 추출:
    tar -xvf redmine.tar.gz

    2. Redmine 데이터베이스 구성

    Copy
    Redmine 예시 데이터베이스 프로필:
    cp /opt/redmine/redmine-4.0.1/config/database.yml.example /opt/redmine/redmine-4.0.1/config/database.yml
    텍스트 편집기로 이 파일을 엽니다.
    nano /opt/redmine/redmine-4.0.1/config/database.yml
    검색production 부분에서 우리가 이전에 만든 MySQL 데이터베이스와 사용자 정보를 입력하십시오./opt/Redmine/Redmine-4.0.1/config/database.yml
    production:
      adapter: mysql2
      database: redmine
      host: localhost
      username: redmine
      password: "change-with-strong-password"
      encoding: utf8
    이 완료되면 파일을 저장하고 편집기를 종료합니다.

    3. Ruby 종속성 설치

    Navigate redmine-4.0.1 디렉터리로 이동하여 bundler와 기타 루비 의존 항목을 설치합니다.
    cd ~/redmine-4.0.1gem install bundler --no-rdoc --no-ribundle install --without development test postgresql sqlite

    4. 키 생성 및 데이터베이스 마이그레이션

    다음 명령을 실행하여 키를 생성하고 데이터베이스를 이동합니다.
    bundle exec rake generate_secret_tokenRAILS_ENV=production bundle exec rake db:migrate

    Nginx 구성

    sudo 사용자로 전환:
    exit
    텍스트 편집기를 열고 다음Nginx server block을 만듭니다.
    파일:
    sudo nano /etc/nginx/conf.d/example.com.conf
    /etc/nginx/conf.d/example.일반 도메인 이름 형식.conf
    passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
    passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby;
    passenger_instance_registry_dir /var/run/passenger-instreg;
    
    server {
        listen 80;
        server_name example.com www.example.com;
    
        root /opt/redmine/redmine-4.0.1/public;
    
        # 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;
    }
    
    교체 예시를 잊지 마세요.당신의 Redmine 도메인과 통신합니다.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
    
    마지막, restart the Nginx service
    입력:
    sudo systemctl restart nginx

    SSL을 사용하여 Nginx 구성

    도메인에 신뢰할 수 있는 SSL 인증서가 없으면 다음these instructions을 통해 무료 Let's Encrypt SSL 인증서를 생성할 수 있습니다.
    . 인증서를 생성한 후 도메인 Nginx 구성을 다음과 같이 편집합니다.
    sudo nano /etc/nginx/conf.d/example.com.conf
    /etc/Nginx/conf.d/examplecom
    passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
    passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby;
    passenger_instance_registry_dir /var/run/passenger-instreg;
    
    # 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/redmine-4.0.1/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;
    }
    
    교체 예시를 잊지 마세요.com은 Redmine 도메인과 통신하고 SSL 인증서 파일의 올바른 경로를 설정합니다.모두HTTP requests will be redirected to HTTPS

    홍광을 방문하다

    켜기your browser
    , 도메인을 입력하고 설치가 완료되면 다음과 같은 화면이 나타납니다. Redmine의 기본 로그인 자격 증명은
  • 사용자 이름: admin
  • 비밀번호: admin
  • 처음 로그인할 때,다음과 같이 암호를 변경하라는 메시지가 나타납니다. 암호를 변경하면 사용자 계정 페이지로 리디렉션됩니다.

    결론

    CentOS 시스템에 Redmine이 성공적으로 설치되었습니다.지금 체크해야 합니다Redmine Documentation.
    Redmine 구성 및 사용 방법에 대해 자세히 알아보십시오.만약 문제가 있거나 피드백이 있다면 아래에 메시지를 남겨 주십시오.