웹사이트 검색

Ubuntu 16.04에 Taiga.io Agile 프로젝트 관리 소프트웨어 설치


이 페이지에서

  1. 1단계 - 전제 조건 설치
  2. 2단계 - 새 사용자 Taiga 추가
  3. 3단계 - Taiga 백엔드 구성
  4. 4단계 - Taiga 프런트엔드 구성\n
  5. 5단계 - Taiga 이벤트 구성
  6. 6단계 - Circus 및 Gunicorn 구성
  7. 7단계 - Taiga Nginx 가상 호스트 구성\n
  8. 8단계 - 테스트
  9. 참조

Taiga.io는 민첩한 개발자, 디자이너 및 프로젝트 관리자를 위한 오픈 소스 프로젝트 관리 시스템입니다. 신생 기업, 소프트웨어 개발자 등을 위한 단순하고 복잡한 프로젝트를 모두 처리할 수 있는 아름다운 프로젝트 관리 도구입니다.

Taiga 플랫폼에는 세 가지 주요 구성 요소가 있으며 각 구성 요소에는 고유한 종속성이 있습니다.

  1. taiga-back: API를 제공하는 애플리케이션의 백엔드. Python과 Django로 작성되었습니다.
  2. taiga-front-dist: Taiga Frontend는 AngularJS 및 CoffeeScript로 작성되었습니다.
  3. taiga-events: 앱의 실시간 변경 사항을 표시하는 Taiga WebSocket 서버. 그리고 RabbitMQ를 메시지 브로커로 사용합니다.\n

이 튜토리얼에서는 Ubuntu 16.04 서버에 Taiga.io 프로젝트 관리 도구를 설치하는 방법을 단계별로 보여줍니다. Taiga.io 설치를 위해 Ubuntu 서버를 설정하는 방법을 배웁니다.

전제 조건

  • 우분투 16.04
  • 루트 권한\n

우리가 할 일

  1. 사전 구성 요소 설치
  2. 타이가 사용자 추가
  3. Taiga 백엔드 설치 및 구성
  4. Taiga 프런트엔드 설치 및 구성\n
  5. Taiga 이벤트 설치 및 구성
  6. 서커스 및 Gunicorn 구성
  7. Taiga Nginx 가상 호스트 구성\n
  8. 테스트

1단계 - 필수 구성 요소 설치

모든 Taiga.io 구성 요소를 설치하기 전에 필요한 패키지를 설치하여 시스템을 준비해야 합니다. 이 첫 번째 단계에서는 Nginx, RabitMQ, Redis 등을 포함한 모든 Taiga 구성 요소 및 모듈에 필요한 패키지를 설치합니다.

먼저 리포지토리를 업데이트하고 시스템을 업그레이드합니다.

sudo apt update
sudo apt upgrade -y

- 종속성 설치

다음 패키지는 일부 파이썬 모듈을 컴파일하는 데 사용됩니다. 아래의 apt 명령을 실행하여 시스템에 모두 설치하십시오.

sudo apt install -y build-essential binutils-doc autoconf flex bison libjpeg-dev libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev automake libtool libffi-dev curl git tmux gettext

- Nginx 설치

Taiga.io는 웹 기반 애플리케이션 도구입니다. 웹 서버에서 실행 중입니다. 이 가이드에서는 설치를 위해 Nginx 웹 서버를 사용합니다.

아래의 apt 명령을 사용하여 Nginx를 설치합니다.

sudo apt install nginx -y

설치가 완료되면 Nginx 서비스를 시작하고 시스템 부팅 시 시작되도록 활성화합니다. 이는 systemctl 명령을 사용하여 수행할 수 있습니다.

systemctl start nginx
systemctl enable nginx

이제 netstat를 사용하여 확인하고 HTTP 포트가 목록에 있는지 확인하십시오.

netstat -plntu

- Redis 및 RabbitMQ 설치

비동기 알림을 원하지 않는 경우 선택적 패키지입니다. 아래의 apt 명령을 사용하여 Redis 및 RabbitMQ를 설치합니다.

sudo apt install -y redis-server rabbitmq-server

설치가 완료되면 redis 및 rabbitmq 서비스를 시작하고 해당 서비스를 부팅 시간에 추가합니다.

systemctl start redis

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

다음으로 RabbitMQ에 대한 taiga라는 새 사용자 및 가상 호스트를 만들어야 합니다. taiga-events에 사용됩니다.

암호 aqwe123을 사용하여 taiga라는 새 사용자 및 가상 호스트를 생성하기 위해 아래 명령을 실행한 다음 taiga 사용자에 대한 권한을 설정합니다.

sudo rabbitmqctl add_user taiga aqwe123
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"

- 파이썬 설치

taiga-back은 Django Web Framework로 생성되었으며 Python 3.5를 사용합니다. 따라서 시스템에 Python 3.5를 설치해야 합니다.

다음 명령을 실행하여 필요한 모든 종속성과 함께 Python 3.5를 설치합니다.

sudo apt install -y python3 python3-pip python-dev python3-dev python-pip virtualenvwrapper libxml2-dev libxslt-dev

- 서커스 설치

Circus는 프로세스 관리자이자 소켓 관리자입니다. Linux 시스템에서 프로세스 및 소켓을 모니터링하고 제어하는 데 사용할 수 있습니다.

이 가이드에서는 CoffeeScript로 만든 타이가 이벤트 프로세스를 관리하기 위해 서커스를 사용할 것입니다.

아래의 apt 명령으로 서커스를 설치합니다.

sudo apt install -y circus

설치가 완료되면 circusd 서비스를 시작하고 시스템 부팅 시마다 실행되도록 활성화합니다.

systemctl start circusd
systemctl enable circusd
systemctl status circusd
circusctl status

- PostgreSQL 데이터베이스 설치 및 구성

Taiga.io는 PostgreSQL을 데이터베이스로 사용하고 있으며 taiga-back 구성 요소는 PostgreSQL(>= 9.4)을 데이터베이스로 사용하고 있습니다.

다음 apt 명령을 실행하여 PostgreSQL 9.5를 설치합니다.

sudo apt install -y postgresql-9.5 postgresql-contrib-9.5
sudo apt install -y postgresql-doc-9.5 postgresql-server-dev-9.5

데이터베이스 설치가 완료되면 PostgreSQL 서비스를 시작하고 시스템 부팅 시마다 실행되도록 활성화합니다.

systemctl start postgresql
systemctl enable postgresql

다음으로 Taiga.io 설치를 위한 새 데이터베이스와 사용자를 생성합니다.

postgres 사용자로 로그인합니다.

su - postgres

아래 명령을 사용하여 taiga라는 새 데이터베이스와 사용자를 만듭니다.

createuser taiga
createdb taiga -O taiga

PostgreSQL 데이터베이스가 설치되었고 Taiga.io용 데이터베이스가 생성되었습니다.

- Nodejs 설치

노드는 taiga-events에 필요합니다. nodejs nodesource 저장소를 추가하고 apt 명령으로 설치합니다.

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install -y nodejs

Taiga.io 설치에 필요한 모든 패키지가 성공적으로 설치되었습니다.

2단계 - 새 사용자 Taiga 추가

이 단계에서는 taiga라는 새 시스템 사용자를 만든 다음 sudo 그룹에 추가합니다.

명령을 실행하여 새 타이가 사용자를 생성합니다.

useradd -m -s /bin/bash taiga
passwd taiga

이제 타이가 사용자를 sudo 그룹에 추가하십시오.

usermod -a -G sudo taiga

이제 taiga로 로그인하고 sudo 명령을 사용해 보십시오.

su - taiga
sudo su

암호를 입력하고 루트 권한이 있는지 확인하십시오.

새로운 타이가 사용자가 생성되었습니다.

3단계 - Taiga 백엔드 구성

Taiga-back은 API를 제공하는 Taiga.io의 백엔드입니다. Python 및 Django Web Framework로 작성되었습니다.

이 단계에서는 taiga 구성 요소 taiga-back을 API를 제공하는 백엔드로 설치하고 구성합니다.

taiga 사용자로 로그인하고 GitHub에서 taiga-back 소스 코드를 다운로드합니다.

su - taiga
git clone https://github.com/taigaio/taiga-back.git taiga-back

이제 taiga-back 디렉토리로 이동하여 브랜치를 stable 브랜치로 변경합니다.

cd taiga-back/
git checkout stable

다음으로 virtualenv를 사용하여 새로운 Python 환경 taiga를 만들어야 합니다.

mkvirtualenv -p /usr/bin/python3.5 taiga

새 taiga 가상 환경에 로그인하고 아래와 같이 pip 명령을 사용하여 taiga-back에 필요한 모든 Python 모듈을 설치합니다.

workon taiga
pip install -r requirements.txt

필요한 모든 모듈의 설치가 완료된 후 초기 기본 데이터로 데이터베이스를 채워야 합니다.

아래의 모든 초기화 명령을 실행하십시오.

python manage.py migrate --noinput
python manage.py loaddata initial_user
python manage.py loaddata initial_project_templates
python manage.py compilemessages
python manage.py collectstatic --noinput

이 명령은 비밀번호가 123123인 관리자 계정 admin을 자동으로 생성합니다.

다음으로 vim을 사용하여 taiga-back에 대한 새 구성을 만듭니다.

vim ~/taiga-back/settings/local.py

다음 구성을 거기에 붙여넣으십시오.

from .common import *

MEDIA_URL = "http://taiga.hakase-labs.co/media/"
STATIC_URL = "http://taiga.hakase-labs.co/static/"
SITES["front"]["scheme"] = "http"
SITES["front"]["domain"] = "taiga.hakase-labs.co"

SECRET_KEY = "myverysecretkey"

DEBUG = False
PUBLIC_REGISTER_ENABLED = True

DEFAULT_FROM_EMAIL = ":5672/taiga"}

# Uncomment and populate with proper connection parameters
# for enable email sending. EMAIL_HOST_USER should end by @domain.tld
#EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
#EMAIL_USE_TLS = False
#EMAIL_HOST = "localhost"
#EMAIL_HOST_USER = ""
#EMAIL_HOST_PASSWORD = ""
#EMAIL_PORT = 25

# Uncomment and populate with proper connection parameters
# for enable github login/singin.
#GITHUB_API_CLIENT_ID = "yourgithubclientid"
#GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"

저장 및 종료.

메모:

  • MEDIA_URL 및 STATIC_URL을 자신의 도메인 이름으로 변경합니다.\n
  • 자신의 비밀 키로 SECRET_KEY를 변경합니다.\n
  • EVENTS_PUSH_BACKEND_OPTIONS 암호 값을 자신의 RabbitMQ 값으로 변경합니다. 이 가이드에서는 비밀번호 aqwe123을 사용하고 있습니다.\n

이제 아래 명령으로 taiga-back을 테스트합니다.

workon taiga
python manage.py runserver 0.0.0.0:8000

이 명령은 포트 8000을 사용하여 서버 공용 IP에서 taiga-back을 실행합니다.

웹 브라우저를 열고 다음 주소를 방문하십시오. 내 것은: http://192.168.33.10:8000/api/v1/

그리고 아래와 같이 JSON 형식의 taiga-back API를 받아야 합니다.

백엔드로 taiga-back의 설치 및 구성이 완료되었습니다.

4단계 - Taiga 프런트엔드 구성

이 단계에서는 taiga 프런트엔드를 다운로드하고 구성합니다. 프런트엔드는 모든 타이가 인터페이스를 처리합니다.

타이가 사용자로 로그인합니다.

su - taiga

git 명령을 사용하여 taiga-front-dist 스크립트를 다운로드합니다.

cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist

그런 다음 taiga-front-dist 디렉토리로 이동하여 브랜치를 stable로 변경합니다.

cd taiga-front-dist/
git checkout stable

이제 taiga-front-dist 구성 샘플을 conf.json에 복사하고 vim 편집기를 사용하여 편집합니다.

cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
vim ~/taiga-front-dist/dist/conf.json

아래와 같이 모든 설정을 하고 api와 eventsUrl을 자신의 도메인 이름으로 변경합니다.

{
    "api": "http://taiga.hakase-labs.co/api/v1/",
    "eventsUrl": "ws://taiga.hakase-labs.co/events",
    "debug": "true",
    "publicRegisterEnabled": true,
    "feedbackEnabled": true,
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": []
}

저장 및 종료.

Taiga 프런트엔드 구성이 완료되었습니다.

5단계 - Taiga 이벤트 구성

Taiga-events는 Taiga.io 대시보드에서 실시간 변경 사항을 표시할 수 있는 WebSocket 서버이며 RabbitMQ를 메시지 브로커로 사용합니다. 이 단계에서는 taiga-events를 다운로드하고 구성합니다.

타이가 사용자로 로그인하십시오.

su - taiga

git 명령을 사용하여 GitHub에서 taiga-events 소스 코드를 다운로드하고 taiga-events 디렉토리로 이동합니다.

git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events

이제 npm을 사용하여 taiga-events에 필요한 모든 자바스크립트 모듈을 설치한 다음 커피 스크립트 패키지를 시스템에 설치합니다.

npm install
sudo npm install -g coffee-script

다음으로 taiga-events의 기본 구성을 config.json에 복사하고 vim 편집기를 사용하여 편집합니다.

cp config.example.json config.json
vim config.json

아래와 같이 구성을 합니다.

{
    "url": "amqp://taiga::5672/taiga",
    "secret": "myverysecretkey",
    "webSocketServer": {
        "port": 8888
    }
}

저장 및 종료.

메모:

  • 자신의 rabbitmq 사용자 및 비밀번호로 url 값을 변경하십시오.\n
  • 비밀 값은 taiga-back의 구성 파일 local.py의 SECRET_KEY와 일치하는지 확인합니다.\n

타이가 이벤트 구성이 완료되었습니다.

6단계 - Circus 및 Gunicorn 구성

서커스는 타이가 백 및 타이가 이벤트 프로세스를 제어하고 관리하는 데 사용됩니다. taiga-events는 커피 스크립트로 실행되고 있으며 taiga-back은 Gunicorn 아래에서 실행되고 있습니다.

이 단계에서는 새로운 taiga-events 및 taiga-bac을 circusd에 추가합니다.

taiga-events의 경우 vim을 사용하여 새 파일 taiga-events.ini를 만듭니다.

vim /etc/circus/conf.d/taiga-events.ini

아래에 구성을 붙여넣습니다.

[watcher:taiga-events]
working_dir = /home/taiga/taiga-events
cmd = /usr/bin/coffee
args = index.coffee
uid = taiga
numprocesses = 1
autostart = true
send_hup = true
stdout_stream.class = FileStream
stdout_stream.filename = /home/taiga/logs/taigaevents.stdout.log
stdout_stream.max_bytes = 10485760
stdout_stream.backup_count = 12
stderr_stream.class = FileStream
stderr_stream.filename = /home/taiga/logs/taigaevents.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 12

저장 및 종료.

그리고 taiga-back의 경우 새 파일 taiga.ini를 만듭니다.

vim /etc/circus/conf.d/taiga.ini

다음 구성을 거기에 붙여넣으십시오.

[watcher:taiga]
working_dir = /home/taiga/taiga-back
cmd = gunicorn
args = -w 3 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi
uid = taiga
numprocesses = 1
autostart = true
send_hup = true
stdout_stream.class = FileStream
stdout_stream.filename = /home/taiga/logs/gunicorn.stdout.log
stdout_stream.max_bytes = 10485760
stdout_stream.backup_count = 4
stderr_stream.class = FileStream
stderr_stream.filename = /home/taiga/logs/gunicorn.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 4

[env:taiga]
PATH = /home/taiga/.virtualenvs/taiga/bin:$PATH
TERM=rxvt-256color
SHELL=/bin/bash
USER=taiga
LANG=en_US.UTF-8
HOME=/home/taiga
PYTHONPATH=/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages

저장 및 종료.

다음으로 taiga-events 및 taiga-back 프로세스 모두에 대한 새 로그 디렉터리를 생성해야 합니다.

su - taiga
mkdir -p ~/logs

이제 circusd 서비스를 다시 시작하고 사용 가능한 모든 프로세스를 확인하십시오.

systemctl restart circusd
circusctl status

그리고 아래와 같이 프로세스 목록에서 taiga-events 및 taiga-back이 활성화되어 있는지 확인합니다.

7단계 - Taiga Nginx 가상 호스트 구성

이 단계에서는 Taiga.io용 Nginx 가상 호스트를 구성합니다. Taiga.io 설치를 위해 conf.d 디렉토리 아래에 새로운 가상 호스트 파일을 생성합니다.

nginx 구성 디렉토리로 이동하여 기본 가상 호스트 파일을 삭제하십시오.

cd /etc/nginx/
sudo rm -f sites-enabled/default

이제 conf.d 디렉토리 아래에 새 가상 호스트 파일 taiga.conf를 만듭니다.

vim /etc/nginx/conf.d/taiga.conf

다음 구성을 거기에 붙여넣으십시오.

server {
    listen 80 default_server;
    server_name _;

    large_client_header_buffers 4 32k;
    client_max_body_size 50M;
    charset utf-8;

    access_log /home/taiga/logs/nginx.access.log;
    error_log /home/taiga/logs/nginx.error.log;

    # Frontend
    location / {
        root /home/taiga/taiga-front-dist/dist/;
        try_files $uri $uri/ /index.html;
    }

    # Backend
    location /api {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8001/api;
        proxy_redirect off;
    }

    # Django admin access (/admin/)
    location /admin {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8001$request_uri;
        proxy_redirect off;
    }

    # Static files
    location /static {
        alias /home/taiga/taiga-back/static;
    }

    # Media files
    location /media {
        alias /home/taiga/taiga-back/media;
    }

    # Taiga-events
    location /events {
    proxy_pass http://127.0.0.1:8888/events;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_connect_timeout 7d;
    proxy_send_timeout 7d;
    proxy_read_timeout 7d;
    }
}

저장 및 종료.

이제 테스트 nginx 구성을 실행하고 오류가 없는지 확인하십시오. 그런 다음 웹 서버 서비스를 다시 시작하십시오.

nginx -t
systemctl restart nginx

Taiga.io에 대한 Nginx 가상 호스트 구성이 완료되었습니다.

8단계 - 테스트

웹 브라우저를 열고 Taiga.io 도메인 이름을 방문하십시오. 내 것: http://taiga.hakase-labs.co

그러면 기본 타이가 홈페이지가 표시됩니다.

이제 오른쪽 상단의 로그인 버튼을 클릭하면 관리자 로그인 페이지가 나타납니다.

기본 사용자 admin 및 암호 123123으로 로그인합니다.

그러면 아래와 같은 결과를 얻게 됩니다.

다음으로 기본 관리자 비밀번호를 재설정합니다.

오른쪽 상단의 관리자 버튼을 클릭한 다음 비밀번호 변경을 클릭합니다.

이제 원하는 대로 이전 암호 123123과 새 암호를 입력한 다음 저장을 클릭합니다.

Ubuntu 16.04에서 Taiga.io의 설치 및 구성이 성공적으로 완료되었습니다.

참조

  • https://taigaio.github.io/