SW/리눅스

Linux : CentOS 8 : Redmine 설치 및 구성 방법, 예제, 명령어

얇은생각 2022. 7. 15. 07:30
반응형

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

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

이 튜토리얼에서는 CentOS 8에 Redmine의 최신 버전을 설치하고 구성하는 방법을 설명합니다. 데이터베이스 백엔드로 MariaDB를 사용하고 Ruby 애플리케이션 서버로 Passenger + Apache를 사용합니다.

 

 

 

필수 구성 요소

다음 필수 구성 요소를 충족해야 합니다. 

서버 공용 IP를 가리키는 도메인 이름입니다.

루트 또는 sudo 권한이 있는 사용자로 로그인합니다.

 

 

 

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;
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';

 

 

강력한 암호와 강력한 암호를 사용하여 변경해야 합니다.

완료되면 MySQL 셸을 종료합니다.

EXIT;

 

 

 

Passenger, Apache 및 Ruby를 설치

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

EPEL 저장소를 사용합니다.

sudo dnf install epel-release
sudo dnf config-manager --enable epel

 

 

리포지토리가 활성화되면 패키지 목록을 업데이트하고 Ruby, Apache 및 Passenger를 설치합니다.

sudo dnf install httpd mod_passenger passenger passenger-devel ruby

 

 

Apache 서비스를 시작하고 부팅 시 시작할 수 있도록 설정합니다.

sudo systemctl enable httpd --now

 

 

 

새 시스템 사용자 생성

Redmine 인스턴스를 실행할 홈 디렉토리 /opt/redmine을 사용하여 새 사용자 및 그룹을 만듭니다.

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

 

 

Apache 사용자를 Redmine 그룹에 추가하고 Apache가 액세스할 수 있도록 /opt/redmine 디렉토리 권한을 변경합니다.

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

 

 

 

Redmine을 설치

작성 당시 레드마인의 최신 안정 버전은 4.1.0 버전입니다.

다음 단계를 계속하기 전에 Redmine 다운로드 페이지를 방문하여 최신 버전이 있는지 확인하십시오.

Redmine을 빌드하는 데 필요한 GCC 컴파일러 및 라이브러리를 설치합니다.

sudo dnf group install "Development Tools"
sudo dnf install zlib-devel curl-devel openssl-devel mariadb-devel ruby-devel

 

 

Redmine 사용자로 다음 단계를 실행하고 있는지 확인합니다.

sudo su - redmine

 

 

1. Redmine을 다운로드하고 있습니다.

컬이 있는 Redmine 아카이브를 다운로드합니다.

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

 

 

다운로드가 완료되면 보관 파일의 압축을 풉니다.

tar -xvf redmine.tar.gz

 

 

2. Redmine 데이터베이스를 구성합니다.

Redmine 예제 데이터베이스 구성 파일을 복사합니다.

cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml

 

 

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

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

# /opt/redmine/redmine-4.1.0/config/database.yml

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

 

 

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

 

 

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

redmine-4.1.0 디렉토리로 전환하고 Ruby 종속성을 설치합니다.

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

 

 

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

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

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

 

 

 

Apache를 구성

sudo 사용자로 다시 전환하고 다음 Apache vhost 파일을 생성합니다.

exit
sudo nano /etc/httpd/conf.d/example.com.conf

 

# /etc/httpd/conf.d/example.com.conf

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /opt/redmine/redmine-4.1.0/public

    <Directory /opt/redmine/redmine-4.1.0/public>
        Options Indexes ExecCGI FollowSymLinks
        Require all granted
        AllowOverride all
    </Directory>

    ErrorLog /var/log/httpd/example.com-error.log
    CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>

 

 

example.com을 당신의 Redmine 도메인으로 바꾸는 것을 잊지 마세요.

다음을 입력하여 Apache 서비스를 다시 시작합니다.

sudo systemctl restart httpd

 

 

 

SSL을 사용하여 Apache를 구성

도메인에 대해 신뢰할 수 있는 SSL 인증서가 없는 경우 다음 지시사항에 따라 무료 SSL 인증서를 생성할 수 있습니다.

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

# /etc/httpd/conf.d/example.com.conf

<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com

  Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName example.com
  ServerAlias www.example.com

  Protocols h2 http/1.1

  <If "%{HTTP_HOST} == 'www.example.com'">
    Redirect permanent / https://example.com/
  </If>

  DocumentRoot /opt/redmine/redmine-4.1.0/public
  ErrorLog /var/log/httpd/example.com-error.log
  CustomLog /var/log/httpd/example.com-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

  <Directory /opt/redmine/redmine-4.1.0/public>
    Options Indexes ExecCGI FollowSymLinks
    Require all granted
    AllowOverride all
  </Directory>

</VirtualHost>

 

 

example.com을 Redmine 도메인으로 바꾸고 SSL 인증서 파일의 올바른 경로를 설정해야 합니다. 모든 HTTP 요청이 HTTPS 로 리디렉션됩니다.

 

 

 

Redmine에 액세스

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

Linux : CentOS 8 : Redmine 설치 및 구성 방법, 예제, 명령어 1

 

 

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

사용자 이름: admin

암호: admin

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

Linux : CentOS 8 : Redmine 설치 및 구성 방법, 예제, 명령어 2

 

 

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

페이지에 액세스할 수 없는 경우 방화벽이 포트 Apache 포트를 차단하고 있는 것일 수 있습니다.

다음 명령을 사용하여 필요한 포트를 엽니다.

sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --reload

 

 

CentOS에 Redmine을 설치했고 이제 Redmine 문서를 확인하고 Redmine을 구성하고 사용하는 방법에 대해 자세히 알아보겠습니다.

 

 

참조

https://linuxize.com/post/how-to-install-and-configure-redmine-on-centos-8/

 

반응형