웹사이트 검색

Ubuntu 16.04에서 Nginx와 함께 Redmine 3.2를 설치하는 방법


Redmine은 Ruby on Rails Framework를 기반으로 하는 오픈 소스 프로젝트 관리 및 문제 추적 도구입니다. 웹 기반이므로 웹 브라우저를 제공하는 모든 클라이언트 플랫폼에서 사용할 수 있습니다. 42개 언어에 대한 번역이 포함되어 있으므로 다국어 팀에 매우 적합합니다. 한 번의 설치로 여러 프로젝트를 추적할 수 있으며 뉴스, 문서 관리, 파일 관리, 지원 위키에 대한 통합 지원이 있습니다. LDAP 인증 및 REST API를 통해 다른 애플리케이션과 연결할 수 있습니다.

이 튜토리얼은 Ubuntu 16.04(64비트) 운영 체제에서 Nginx 웹 서버 및 MySQL 데이터베이스 서버와 함께 Redmine 3.2 설치를 다룹니다.

전제 조건

  • Ubuntu 16.04 - 64비트.
  • 루트 권한.

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;

저장 및 종료.

다음으로 가상 호스트 구성을 위한 새 가상 호스트 디렉터리를 생성합니다.

mkdir -p /opt/nginx/conf/vhost

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 솔루션 중 하나입니다.