Ubuntu 16.04에 Taiga.io Agile 프로젝트 관리 소프트웨어 설치
이 페이지에서
- 1단계 - 전제 조건 설치
- 2단계 - 새 사용자 Taiga 추가
- 3단계 - Taiga 백엔드 구성
- 4단계 - Taiga 프런트엔드 구성\n
- 5단계 - Taiga 이벤트 구성
- 6단계 - Circus 및 Gunicorn 구성
- 7단계 - Taiga Nginx 가상 호스트 구성\n
- 8단계 - 테스트
- 참조
Taiga.io는 민첩한 개발자, 디자이너 및 프로젝트 관리자를 위한 오픈 소스 프로젝트 관리 시스템입니다. 신생 기업, 소프트웨어 개발자 등을 위한 단순하고 복잡한 프로젝트를 모두 처리할 수 있는 아름다운 프로젝트 관리 도구입니다.
Taiga 플랫폼에는 세 가지 주요 구성 요소가 있으며 각 구성 요소에는 고유한 종속성이 있습니다.
- taiga-back: API를 제공하는 애플리케이션의 백엔드. Python과 Django로 작성되었습니다.
- taiga-front-dist: Taiga Frontend는 AngularJS 및 CoffeeScript로 작성되었습니다.
- taiga-events: 앱의 실시간 변경 사항을 표시하는 Taiga WebSocket 서버. 그리고 RabbitMQ를 메시지 브로커로 사용합니다.\n
이 튜토리얼에서는 Ubuntu 16.04 서버에 Taiga.io 프로젝트 관리 도구를 설치하는 방법을 단계별로 보여줍니다. Taiga.io 설치를 위해 Ubuntu 서버를 설정하는 방법을 배웁니다.
전제 조건
- 우분투 16.04
- 루트 권한\n
우리가 할 일
- 사전 구성 요소 설치
- 타이가 사용자 추가
- Taiga 백엔드 설치 및 구성
- Taiga 프런트엔드 설치 및 구성\n
- Taiga 이벤트 설치 및 구성
- 서커스 및 Gunicorn 구성
- Taiga Nginx 가상 호스트 구성\n
- 테스트
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/