>  기사  >  운영 및 유지보수  >  타이가 란 무엇입니까? 리눅스에 타이가를 설치하는 방법은 무엇입니까?

타이가 란 무엇입니까? 리눅스에 타이가를 설치하는 방법은 무엇입니까?

藏色散人
藏色散人앞으로
2021-09-18 16:26:583559검색

아래 리눅스 시스템 튜토리얼 칼럼에서는 타이가에 대해 소개하고 타이가를 리눅스에 설치하는 방법이 필요한 친구들에게 도움이 되길 바랍니다!

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视频教程

위 내용은 타이가 란 무엇입니까? 리눅스에 타이가를 설치하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제