기계적 인조 인간

CentOS 7에서 Redmine을 설치하고 구성하는 방법

Learn CentOS Part 3 - Exploring the Linux Filesystem

Learn CentOS Part 3 - Exploring the Linux Filesystem

차례:

Anonim

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

Redmine은 여러 프로젝트, 위키, 이슈 추적 시스템, 포럼, 캘린더, 이메일 알림 등을 지원합니다.

이 튜토리얼에서는 MariaDB를 데이터베이스 백엔드로 사용하고 Passenger + Nginx를 Ruby 애플리케이션 서버로 사용하여 CentOS 7 서버에 최신 버전의 Redmine을 설치하고 구성하는 데 필요한 단계를 설명합니다.

전제 조건

이 학습을 계속하기 전에 다음 전제 조건을 충족하는지 확인하십시오.

  • 서버 공용 IP를 가리키는 도메인 이름. 이 자습서에서는 example.com 을 사용합니다. sudo 권한이있는 사용자로 로그인합니다.

소스에서 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-devel sudo 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이 설치되어 있지 않은 경우 다음 지침에 따라 설치할 수 있습니다.

다음 명령을 입력하여 MySQL 쉘에 로그인하십시오.

sudo mysql

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

CREATE DATABASE redmine CHARACTER SET utf8;

다음으로 MySQL 사용자 계정을 생성하고 데이터베이스에 대한 액세스 권한을 부여하십시오.

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; change-with-strong-password 사용하여 change-with-strong-password 변경을 change-with-strong-password 하십시오.

완료되면 다음을 입력하여 mysql 쉘을 종료하십시오.

EXIT;

승객 및 Nginx 설치

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

EPEL 저장소 및 필요한 패키지를 설치하십시오.

sudo yum install epel-release yum-utils pygpgme sudo yum-config-manager --enable epel

Phusionpassenger 저장소를 사용하십시오.

sudo yum-config-manager --add-repo

리포지토리가 활성화되면 패키지 목록을 업데이트하고 다음을 사용하여 Nginx와 Passenger을 모두 설치하십시오.

sudo yum install nginx passenger passenger-devel

새로운 시스템 사용자 생성

Redmine 인스턴스를 실행할 새 사용자 및 그룹을 작성하십시오. 단순성을 위해 사용자 이름을 redmine 지정합니다.

sudo useradd -m -U -r -d /opt/redmine redmine

nginx 사용자를 새 사용자 그룹에 추가하고 Nginx가 액세스 할 수 있도록 /opt/redmine 디렉토리 권한을 변경하십시오.

sudo usermod -a -G redmine nginx sudo chmod 750 /opt/redmine

루비 설치

CentOS 리포지토리의 Ruby 버전은 상당히 구식이며 Redmine에서 지원하지 않습니다. RVM을 사용하여 Ruby를 설치합니다.

다음을 입력하여 사용자 redmine 으로 전환하십시오.

sudo su - redmine

GPG 키를 가져오고 RVM을 설치하십시오.

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable curl -sSL https://get.rvm.io | bash -s stable

RVM 소스를 사용하여 rvm 파일을 시작하려면 다음을 rvm 하십시오.

source /opt/redmine/.rvm/scripts/rvm

이제 다음을 실행하여 Ruby를 설치할 수 있습니다.

rvm install 2.5 rvm --default use 2.5 Rbenv를 통해 Ruby를 설치하려면이 안내서를 확인하십시오.

CentOS에 Redmine 설치

이 기사를 작성할 당시 최신 안정 버전의 Redmine은 버전 4.0.1입니다.

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

redmine 사용자로 다음 단계를 실행하고 있는지 확인하십시오.

1. 레드 마인 다운로드

다음 curl 명령으로 Redmine 아카이브를 다운로드하십시오.

curl -L http://www.redmine.org/releases/redmine-4.0.1.tar.gz -o redmine.tar.gz

다운로드가 완료되면 아카이브를 추출하십시오.

tar -xvf redmine.tar.gz

2. Redmine 데이터베이스 구성

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 의존성 설치

redmine-4.0.1 디렉토리로 이동하여 redmine-4.0.1 들러 및 기타 Ruby 종속성을 설치하십시오.

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

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

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

bundle exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate

Nginx 구성

sudo 사용자로 다시 전환하십시오.

exit

텍스트 편집기를 열고 다음 Nginx 서버 블록 파일을 작성하십시오.

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com.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; } example.com을 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

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

sudo systemctl restart nginx

SSL을 사용하여 Nginx 구성

인증서가 생성되면 다음과 같이 도메인 Nginx 구성을 편집하십시오.

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com

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; } example.com을 Redmine 도메인으로 바꾸고 SSL 인증서 파일의 올바른 경로를 설정하는 것을 잊지 마십시오. 모든 HTTP 요청이 HTTPS로 리디렉션됩니다.

Redmine에 액세스

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

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

결론

CentOS 시스템에 Redmine을 성공적으로 설치했습니다. 이제 Redmine 설명서를 확인하고 Redmine을 구성하고 사용하는 방법에 대해 자세히 알아보십시오.

centos redmine 루비 mysql mariadb nginx