taiga 설치 구성
1. 소개
이 문서에서는 전체 Taiga 서비스를 배포하는 방법을 설명합니다(각 모듈은 Taiga 플랫폼의 일부입니다).
Taiga 플랫폼은 세 가지 주요 구성 요소로 구성되며 각 구성 요소는 컴파일 시간과 런타임에 자체 종속성을 갖습니다.
- taiga-back(백엔드/api)
- taiga-front-dist(프런트엔드)
- taiga -events(웹소켓 게이트웨이)(선택 사항)
각 구성 요소는 고유한 컴퓨터에서 실행되거나 모든 구성 요소를 다른 컴퓨터에 설치할 수 있습니다. 이 튜토리얼에서는 세 개의 Taiga 구성 요소를 모두 설치하여 모든 것을 하나의 시스템에 설치합니다. 이러한 유형의 설정은 중소 규모의 프로덕션 환경에 충분합니다.
2. 개요
이 튜토리얼에서는 깨끗하고 최근 업데이트된 Ubuntu 16.04 이미지를 사용한다고 가정합니다.
Taiga는 프런트엔드의 특성상 브라우저에서 프런트엔드 애플리케이션이 실행되기 때문에 도메인/공용 IP를 통해 사용됩니다. 프런트엔드는 백엔드/API와 통신할 수 있어야 하므로 도메인/공용 IP를 통해 프런트엔드와 백엔드 모두에 액세스할 수 있어야 합니다.
Taiga 설치는 루트 사용자가 아닌 "일반" 사용자가 수행해야 합니다.
이 튜토리얼에서는 다음 세부 사항을 가정합니다.
- IP: 80.88.23.45 호스트 이름: (example.com은 80.88.23.45를 가리킴)
- 사용자 이름: taiga
- 시스템 ram >= 1 GB (lxml 컴파일에 필요)
- 작업 디렉터리 /home/taiga/ (사용자 기본 taiga)
2.1 시스템 아키텍처 설명
이것은 Taiga가 어떻게 구축되었는지 이해하는 데 도움이 되는 간단한 시스템 아키텍처 설명입니다. 일하고 있는. 설치를 계속 진행하기 전에 이 설명을 읽고 높은 수준의 개요를 확인하세요.
Taiga는 2개의 코어(필수) 모듈로 구성됩니다.
- taiga-back
- taiga-front
taiga-back은 django, python3으로 작성되었으며 프런트 엔드에 대한 API 엔드포인트를 제공합니다.
taiga-front 주로Angularjs와 Coffeescript로 작성되며 백엔드에 따라 다릅니다.
Python 백엔드는 Python WSGI HTTP 서버인 gunicorn(포트 9001)에 의해 노출됩니다. 프로세스 관리자는 gunicorn과 taiga-back을 함께 실행하는 시스템입니다. 기술적으로 백엔드는 데이터베이스(postgresql)와 통신하며, 프론트엔드를 통해 사용자가 타이가의 기능을 사용할 수 있도록 해준다. 프론트엔드와 백엔드 간의 통신은 API를 사용하여 수행됩니다.
이 경우 백엔드는 역방향 프록시 역할을 하는 nginx에 의해 공개적으로 노출됩니다. 프런트엔드는 dist 폴더에 있으며 이 경우 정적 웹 서버 역할을 하는 nginx에 의해 공개적으로 노출됩니다.
3 전제 조건
Taiga는 세 가지 모듈로 구성되어 있으며 각 모듈에는 서로 다른 패키지와 타사 패키지가 필요합니다. 이 섹션에서는 성공적인 Taiga 설치 및 구성에 필요한 패키지를 수집합니다. 이 섹션에서는 선택적 모듈 및 서비스를 포함하여 모든 모듈에 대한 모든 종속성을 설치합니다.
기본 패키지
이 구성 요소 taiga-back은 postgresql(> = 9.4)을 데이터베이스로 사용합니다.
Python(3) 및 virtualenvwrapper pip 업그레이드를 여러 타사 라이브러리와 함께 최신 버전으로 설치해야 합니다.
sudo apt-get update sudo apt-get install -y build-essential binutils-doc autoconf flex bison libjpeg-dev libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev automake libtool curl git tmux gettext nginx rabbitmq-server redis-server postgresql-9.5 postgresql-contrib-9.5 postgresql-doc-9.5 postgresql-server-dev-9.5 python3 python3-pip python3-dev virtualenvwrapper libxml2-dev libxslt-dev libssl-dev libffi-dev
계속 설치 전 필수 단계입니다!
taiga라는 사용자를 생성하고 루트 권한을 부여하세요.
루트 사용자로 변경하지 마세요. 타이가 사용자로 설치를 완료해야 합니다.
sudo adduser taiga sudo adduser taiga sudo sudo su taiga cd ~
3.1 종속성 구성
초기 사용자 및 데이터베이스로 postgresql 구성:
sudo -u postgres createuser taiga sudo -u postgres createdb taiga -O taiga --encoding='utf-8' --locale=en_US.utf8 --template=template0
taiga라는 사용자 및 RabbitMQ용 가상 호스트 만들기(taiga-events)
sudo rabbitmqctl add_user taiga PASSWORD_FOR_EVENTS sudo rabbitmqctl add_vhost taiga sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
4백엔드 구성
이 섹션은 백엔드 구성에 도움이 됩니다. (api) Taiga 서비스 및 해당 종속성.
코드 다운로드
cd ~ git clone https://github.com/taigaio/taiga-back.git taiga-back cd taiga-back git checkout stable
taiga라는 새 virtualenv 생성
mkvirtualenv -p /usr/bin/python3 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
이렇게 하면 관리자 계정이 생성됩니다. 로그인 자격 증명은 admin이고 비밀번호는 123123입니다.
선택 사항: 일부 샘플 데이터를 Taiga에 로드하려면 다음 명령을 실행합니다. 그러면 데이터베이스가 샘플 프로젝트와 임의의 데이터로 채워집니다(데모에 매우 유용함).
python manage.py sample_data
다음 구성을 복사하여 붙여넣습니다 ~/taiga -back/settings/local.py를 입력하고 자신의 세부 정보로 업데이트하세요.
from .common import * MEDIA_URL = "http://example.com/media/"STATIC_URL = "http://example.com/static/"SITES["front"]["scheme"] = "http"SITES["front"]["domain"] = "example.com" SECRET_KEY = "theveryultratopsecretkey" DEBUG = FalsePUBLIC_REGISTER_ENABLED = True DEFAULT_FROM_EMAIL = "no-reply@example.com"SERVER_EMAIL = DEFAULT_FROM_EMAIL #CELERY_ENABLED = True EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:PASSWORD_FOR_EVENTS@localhost: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"
Verify
(선택 사항) 모든 것이 제대로 작동하는지 확인하려면 다음 명령을 실행하여 테스트를 위해 개발 모드에서 백엔드를 실행하세요.
workon taiga python manage.py runserver
그런 다음 URL: http://localhost:8000/api/v1/에서 엔드포인트 목록을 나타내는 json을 볼 수 있어야 합니다.
在此阶段,后端已成功安装,但要在生产中运行python后端,必须首先配置应用程序服务器。有关详细信息,请参阅本文档后面的内容。
5.前端安装
从Github下载代码:
cd ~ git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist cd taiga-front-dist git checkout stable
复制示例配置文件:
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
按照以下模式编辑示例配置(替换为您自己的详细信息):
{ "api": "http://example.com/api/v1/", "eventsUrl": "ws://example.com/events", "debug": "true", "publicRegisterEnabled": true, "feedbackEnabled": true, "privacyPolicyUrl": null, "termsOfServiceUrl": null, "GDPRUrl": null, "maxUploadFileSize": null, "contribPlugins": []}
小心使用浏览器中的复制粘贴以避免http://重复。
有taiga-front-dist,前-dist的下载和配置是不够的。下一步是在静态文件Web服务器下公开代码(在dist目录中)。在本教程中,我们使用nginx作为静态文件Web服务器和反向代理。稍后将解释nginx的配置。
推荐学习:《linux视频教程》