Ubuntu 16.04에서 Nginx와 함께 Redmine 3.2를 설치하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- 우분투 16.04(Xenial Xerus)
- 우분투 15.10(Wily Werewolf)
이 페이지에서
- 전제 조건
- 1단계 - 종속성 설치
- 2단계 - Ruby 및 RVM 설치
- 3단계 - Redmine용 MySQL 데이터베이스 구성
- 4단계 - Phusion Passenger 및 Nginx 설치
- 5단계 - Nginx 구성
- 6단계 - Redmine 설치
- 결론
Redmine은 Ruby on Rails Framework를 기반으로 하는 오픈 소스 프로젝트 관리 및 문제 추적 도구입니다. 웹 기반이므로 웹 브라우저를 제공하는 모든 클라이언트 플랫폼에서 사용할 수 있습니다. 42개 언어에 대한 번역이 포함되어 있으므로 다국어 팀에 매우 적합합니다. 한 번의 설치로 여러 프로젝트를 추적할 수 있으며 뉴스, 문서 관리, 파일 관리, 지원 위키에 대한 통합 지원이 있습니다. LDAP 인증 및 REST API를 통해 다른 애플리케이션과 연결할 수 있습니다.
이 튜토리얼은 Ubuntu 16.04(64비트) 운영 체제에서 Nginx 웹 서버 및 MySQL 데이터베이스 서버와 함께 Redmine 3.2 설치를 다룹니다.
전제 조건
- Ubuntu 16.04 - 64비트.
- 루트 권한.\n
1단계 - 종속성 설치
Redmine에는 많은 종속성이 있지만 apt로 쉽게 설치할 수 있습니다. 첫 번째 단계는 루트 사용자가 된 다음 Ubuntu 리포지토리를 업데이트하는 것입니다. 이 튜토리얼의 모든 추가 단계는 루트 사용자로 실행되므로 각 명령 앞에 sudo를 추가하는 대신 "sudo su"를 사용합니다.
sudo su
apt-get update
아래의 apt 명령을 사용하여 Redmine의 종속성을 설치합니다.
apt-get install mysql-server mysql-client libmysqlclient-dev imagemagick libmagickwand-dev libcurl4-openssl-dev git-core subversion
설치 프로그램은 새 MySQl 루트 비밀번호를 묻고 거기에 새롭고 안전한 MySQL 비밀번호를 입력합니다.
2단계 - Ruby 및 RVM 설치
이 단계에서는 최신 RVM 버전과 Ruby 2.2를 설치합니다. Redmine 3.2 stable은 Ruby 버전 2.2를 지원하므로 여기에서 사용할 수 있습니다. RMV(Ruby Version Manager)는 여러 Ruby 환경을 설치, 관리 및 작업할 수 있는 편리한 명령줄 도구입니다.
gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby=2.2.5
이제 RVM을 다시 로드하고 자동 다시 로드를 위해 .bashrc에 추가해야 합니다.
source /usr/local/rvm/scripts/rvm
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc
3단계 - Redmine용 MySQL 데이터베이스 구성
Redmine 설치를 위한 데이터베이스 및 데이터베이스 사용자를 생성합니다. 루트 사용자와 암호를 사용하여 MySQL 셸에 로그인합니다.
mysql -u root -p
TYPE YOUR PASSWORD
다음으로 "redmine"이라는 새 데이터베이스와 redmine이라는 이름의 새 사용자와 redmine이라는 암호를 가진 새 사용자를 만들고(설치 시 더 나은 암호를 사용하십시오. 이것은 단지 예일 뿐입니다) 사용자 redmine에게 권한을 부여합니다. 레드마인 데이터베이스.
create database redmine;
create user identified by 'redmine';
flush privileges;
q\
데이터베이스와 사용자가 생성됩니다. 서버에서 보안 암호를 사용하십시오!
4단계 - Phusion Passenger 및 Nginx 설치
Phusion Passenger는 Apache 및 Nginx 웹 서버와 통합할 수 있는 웹 및 앱 서버입니다. Ruby, Python 및 Nodejs와 같은 여러 언어를 지원합니다. 사용하기 쉽고 빠르며 설정의 보안을 향상시킵니다.
이 부분에서는 Phusion Passenger를 설치하고 Nginx와 통합합니다. Redmine은 Nginx 웹 서버에서 실행됩니다. gem 명령으로 Passenger를 설치한 다음 passenger-nginx-module을 설치합니다.
gem install passenger --no-ri --no-rdoc
passenger-install-nginx-module
이 명령은 지원되는 언어에 대해 묻습니다. Ruby 및 여기에서 Python을 선택하십시오.
Nginx 설치에 대한 메시지가 표시되면 "예: Nginx를 다운로드, 컴파일 및 설치합니다. (권장)"를 선택합니다.
마지막으로 Nginx 설치 디렉터리에 대한 메시지가 표시됩니다. 기본 /opt/nginx/를 사용하고 "Enter"를 누르세요.
5단계 - Nginx 구성
설치 디렉토리로 이동하여 편집기로 nginx.conf 파일을 편집합니다. 여기서는 vim 편집기를 사용하겠습니다.
cd /opt/nginx/conf/
vim nginx.conf
아래 구성 줄을 파일에 붙여넣습니다.
include vhost/*.conf;
저장 및 종료.
다음으로 가상 호스트 구성을 위한 새 가상 호스트 디렉터리를 만듭니다.
vhost 디렉토리로 이동하고 vim으로 redmine 가상 호스트 구성 파일을 만듭니다.
cd /opt/nginx/conf/vhost/
vim redmine.conf
아래에 가상 호스트 구성을 붙여넣으십시오.
server {
listen 80;
server_name www.redmine.me;
root /var/www/redmine/public;
passenger_enabled on;
client_max_body_size 10m; # Max attachemnt size
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
저장 및 종료.
다음으로 Nginx가 systemd로 시작되도록 구성합니다. systemd 디렉터리로 이동하여 새 서비스 파일 nginx.service를 만듭니다.
cd /lib/systemd/system/
vim nginx.service
아래 systemd용 Nginx 스크립트를 붙여넣습니다.
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
파일을 저장하고 종료합니다.
systemd 서비스를 다시 로드하고 systemctl 명령으로 Nginx를 시작합니다.
systemctl daemon-reload
systemctl start nginx
Nginx를 확인하려면 netstat로 열린 포트 80을 확인하십시오.
netstat -plntu | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4871/nginx
6단계 - Redmine 설치
Redmine 설치를 위한 새 디렉토리를 만드십시오. 여기에서 /var/www/ 디렉토리를 사용하겠습니다.
mkdir -p /var/www/
/var/www/ 디렉토리로 이동하여 svn 명령으로 redmine을 다운로드합니다.
cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.2-stable redmine
redmine 디렉토리를 입력하고 구성 파일과 데이터베이스 구성 파일을 복사합니다.
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
그런 다음 vim을 사용하여 database.yml 파일을 편집합니다.
vim config/database.yml
프로덕션 라인에서 데이터베이스, 데이터베이스 사용자 및 비밀번호에 대한 세부정보를 입력합니다. 3장에서 생성한 데이터베이스 세부 정보를 사용합니다.
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "redmine"
encoding: utf8
파일을 저장하고 편집기를 종료합니다.
redmine 디렉토리에서 새 디렉토리를 만들고 소유자를 www-data로 변경합니다.
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R www-data:www-data files log tmp public/plugin_assets
sudo chmod -R 775 files log tmp public/plugin_assets
그런 다음 번들러와 Redmine용 gem 종속 항목을 설치합니다.
gem install bundler
bundle install --without development test
이제 비밀 토큰을 생성한 다음 데이터베이스를 생성합니다.
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
Nginx를 다시 시작하고 웹 브라우저로 redmine 도메인을 방문합니다.
systemctl restart nginx
내 경우에는 www.redmine.me를 방문하여 redmine 설치를 방문하십시오.

관리자 페이지에 로그인: www.redmine.me/login
기본 사용자 및 암호는 admin입니다.

새 샘플 프로젝트를 만듭니다.

샘플 프로젝트 페이지.

Nginx 및 MySQL과 함께 Redmine 설치가 성공적으로 완료되었습니다.
결론
Redmine은 프로젝트 관리 및 문제 추적을 위한 웹 기반 애플리케이션입니다. Redmine은 크로스 플랫폼 앱이므로 Windows, Linux 및 Mac OS에서 실행할 수 있습니다. MySQL, PostgreSQL, Microsoft SQL Server 및 SQLite와 같은 다양한 데이터베이스를 지원합니다. Redmine은 설치 및 구성이 쉽고 Apache 또는 Nginx를 웹 서버로 사용할 수 있습니다. Redmine은 매우 강력하며 다국어 지원, 파일 관리, 위키 및 REST API와 같은 많은 기능을 가지고 있습니다. Redmine은 문제 추적을 통해 자체 프로젝트 관리를 구축할 수 있는 최고의 OpenSource 솔루션 중 하나입니다.