在linux上安裝taiga

taiga 安裝配置


1.簡介

本文檔介紹瞭如何部署完整的Taiga服務(每一個模塊都是Taiga平臺的一部分)。
Taiga平臺由三個主要組件組成,每一個組件在編譯時和運行時都有本身的依賴關係:前端

  • taiga-back(backend / api)
  • taiga-front-dist(前端)
  • taiga-events(websockets網關)(可選)

每一個組件均可以在一臺獨特的機器上運行,或者全部組件均可以安裝到不一樣的機器上。在本教程中,咱們將在一臺機器上安裝全部內容,安裝全部三個Taiga組件。這種類型的設置應該足以知足中小型生產環境。python

2.概述

本教程假設您使用的是乾淨的,最近更新的Ubuntu 16.04映像。
因爲前端的性質,Taiga經過域/ public-ip使用,由於前端應用程序在您的瀏覽器中運行。前端必須可以與後端/ API通訊,所以前端和後端都必須能夠經過域/ public-ip訪問。
Taiga的安裝必須由「常規」用戶完成,而不是root用戶。
在本教程中,咱們假設如下細節:nginx

  • IP: 80.88.23.45主機名:( example.com指向80.88.23.45)
  • 用戶名: taiga
  • 系統ram >=1GB(編譯lxml所需)
  • 工做目錄 /home/taiga/(用戶默認taiga)

2.1 系統架構描述

這是一個簡短的系統架構描述,可幫助您瞭解Taiga的構建和工做方式。在進一步安裝以前,請務必閱讀此說明以得到高級概述。

Taiga由2個核心(mandatory)模塊組成:git

  • taiga-back
  • taiga-front

taiga-back用django,python3編寫,併爲前端提供API端點。angularjs

taiga-front主要用angularjs和coffeescript編寫,取決於後端。github

python後端由gunicorn(端口9001)公開,它是一個Python WSGI HTTP服務器。進程管理器是systemd,它一塊兒運行gunicorn和taiga-back。從技術上講,後端與數據庫(postgresql)通訊,經過前端,它容許用戶使用Taiga的功能。前端和後端之間的通訊使用API完成。web

而後後端由nginx公開暴露,nginx充當這種狀況的反向代理。前端位於dist文件夾中,並由nginx公開公開,nginx充當此案例的靜態Web服務器。redis

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,併爲其授予root權限


不要不更改成root用戶。必須與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。sql

可選: 若是您但願將一些示例數據加載到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"

驗證

(可選)要確保一切正常,請發出如下命令以在開發模式下運行後端以進行測試:

workon taiga
python manage.py runserver

而後,您必須可以在URL上看到表示端點列表的json:http:// localhost:8000 / api / v1 /。

在此階段,後端已成功安裝,但要在生產中運行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的配置。

相關文章
相關標籤/搜索