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에 액세스
브라우저를 열고 도메인을 입력한 후 설치가 성공했다고 가정하면 다음과 유사한 화면이 나타납니다.
Redmine의 기본 로그인 자격 증명은 다음과 같습니다.
사용자 이름: admin
암호: admin
처음 로그인할 때 아래와 같이 암호를 변경하라는 메시지가 표시됩니다.
암호를 변경하면 사용자 계정 페이지로 리디렉션됩니다.
페이지에 액세스할 수 없는 경우 방화벽이 포트 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/
'SW > 리눅스' 카테고리의 다른 글
Linux : Pkill 명령어, 예제, 사용 방법 (0) | 2022.07.18 |
---|---|
Linux : CentOS 8 : MongoDB 설치 방법, 예제, 명령어 (0) | 2022.07.16 |
Linux : Debian 10 : Nginx Server Blocks 설정 방법, 예제, 명령어 (0) | 2022.07.14 |
CentOS 8 : TensorFlow 설치 방법, 예제, 명령어 (0) | 2022.07.13 |
Linux : Last : 명령어, 사용 방법, 예제 (0) | 2022.07.12 |