下面由linux系統(tǒng)教程欄目給大家介紹taiga以及怎么在linux上安裝taiga的方法,希望對(duì)需要的朋友有所幫助!
taiga 安裝配置
1.簡(jiǎn)介
本文檔介紹了如何部署完整的Taiga服務(wù)(每個(gè)模塊都是Taiga平臺(tái)的一部分)。
Taiga平臺(tái)由三個(gè)主要組件組成,每個(gè)組件在編譯時(shí)和運(yùn)行時(shí)都有自己的依賴(lài)關(guān)系:
- taiga-back(backend / api)
- taiga-front-dist(前端)
- taiga-events(websockets網(wǎng)關(guān))(可選)
每個(gè)組件都可以在一臺(tái)獨(dú)特的機(jī)器上運(yùn)行,或者所有組件都可以安裝到不同的機(jī)器上。在本教程中,我們將在一臺(tái)機(jī)器上安裝所有內(nèi)容,安裝所有三個(gè)Taiga組件。這種類(lèi)型的設(shè)置應(yīng)該足以滿(mǎn)足中小型生產(chǎn)環(huán)境。
2.概述
本教程假設(shè)您使用的是干凈的,最近更新的Ubuntu 16.04映像。
由于前端的性質(zhì),Taiga通過(guò)域/ public-ip使用,因?yàn)榍岸藨?yīng)用程序在您的瀏覽器中運(yùn)行。前端必須能夠與后端/ API通信,因此前端和后端都必須可以通過(guò)域/ public-ip訪問(wèn)。
Taiga的安裝必須由“常規(guī)”用戶(hù)完成,而不是root用戶(hù)。
在本教程中,我們假設(shè)以下細(xì)節(jié):
- IP: 80.88.23.45主機(jī)名:( example.com指向80.88.23.45)
- 用戶(hù)名: taiga
- 系統(tǒng)ram >=1GB(編譯lxml所需)
- 工作目錄 /home/taiga/(用戶(hù)默認(rèn)taiga)
2.1 系統(tǒng)架構(gòu)描述
這是一個(gè)簡(jiǎn)短的系統(tǒng)架構(gòu)描述,可幫助您了解Taiga的構(gòu)建和工作方式。在進(jìn)一步安裝之前,請(qǐng)務(wù)必閱讀此說(shuō)明以獲得高級(jí)概述。
Taiga由2個(gè)核心(mandatory)模塊組成:
- taiga-back
- taiga-front
taiga-back用django,python3編寫(xiě),并為前端提供API端點(diǎn)。
taiga-front主要用angularjs和coffeescript編寫(xiě),取決于后端。
python后端由gunicorn(端口9001)公開(kāi),它是一個(gè)Python WSGI HTTP服務(wù)器。進(jìn)程管理器是systemd,它一起運(yùn)行g(shù)unicorn和taiga-back。從技術(shù)上講,后端與數(shù)據(jù)庫(kù)(postgresql)通信,通過(guò)前端,它允許用戶(hù)使用Taiga的功能。前端和后端之間的通信使用API完成。
然后后端由nginx公開(kāi)暴露,nginx充當(dāng)這種情況的反向代理。前端位于dist文件夾中,并由nginx公開(kāi)公開(kāi),nginx充當(dāng)此案例的靜態(tài)Web服務(wù)器。
3先決條件
Taiga由三個(gè)模塊組成,每個(gè)模塊都需要不同的包和第三方包。本節(jié)將收集成功的Taiga安裝和配置所需的軟件包。在本節(jié)中,我們將為所有模塊安裝所有依賴(lài)項(xiàng),包括可選模塊和服務(wù)。
基本套餐
該組件taiga-back使用postgresql(> = 9.4)作為數(shù)據(jù)庫(kù):
必須與幾個(gè)第三方庫(kù)一起安裝Python(3)和virtualenvwrapper pip升級(jí)到最新版本
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
在繼續(xù)安裝之前,必須執(zhí)行此步驟!
創(chuàng)建一個(gè)名為的用戶(hù)taiga,并為其授予root權(quán)限
不要不更改為root用戶(hù)。必須與taiga用戶(hù)一起完成安裝。
sudo adduser taiga sudo adduser taiga sudo sudo su taiga cd ~
3.1配置依賴(lài)項(xiàng)
使用初始用戶(hù)和數(shù)據(jù)庫(kù)配置postgresql:
sudo -u postgres createuser taiga sudo -u postgres createdb taiga -O taiga --encoding='utf-8' --locale=en_US.utf8 --template=template0
創(chuàng)建一個(gè)名為的用戶(hù)taiga,以及RabbitMQ的虛擬主機(jī)(taiga-events)
sudo rabbitmqctl add_user taiga PASSWORD_FOR_EVENTS sudo rabbitmqctl add_vhost taiga sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
4.后端配置
本節(jié)有助于配置后端(api)Taiga服務(wù)及其依賴(lài)項(xiàng)。
下載代碼
cd ~ git clone https://github.com/taigaio/taiga-back.git taiga-back cd taiga-back git checkout stable
創(chuàng)建名為taiga的新virtualenv
mkvirtualenv -p /usr/bin/python3 taiga
安裝依賴(lài)項(xiàng)
pip install -r requirements.txt
使用初始基本數(shù)據(jù)填充數(shù)據(jù)庫(kù)
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
這將創(chuàng)建管理員帳戶(hù)。登錄憑據(jù)為admin,密碼為123123。
可選: 如果您希望將一些示例數(shù)據(jù)加載到Taiga中,請(qǐng)執(zhí)行以下命令,該命令使用示例項(xiàng)目和隨機(jī)數(shù)據(jù)填充數(shù)據(jù)庫(kù)(對(duì)于演示非常有用):
python manage.py sample_data
將以下配置復(fù)制粘貼~/taiga-back/settings/local.py并使用您自己的詳細(xì)信息進(jìn)行更新:
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"
驗(yàn)證
(可選)要確保一切正常,請(qǐng)發(fā)出以下命令以在開(kāi)發(fā)模式下運(yùn)行后端以進(jìn)行測(cè)試:
workon taiga python manage.py runserver
然后,您必須能夠在URL上看到表示端點(diǎn)列表的json:http:// localhost:8000 / api / v1 /。
在此階段,后端已成功安裝,但要在生產(chǎn)中運(yùn)行python后端,必須首先配置應(yīng)用程序服務(wù)器。有關(guān)詳細(xì)信息,請(qǐng)參閱本文檔后面的內(nèi)容。
5.前端安裝
從Github下載代碼:
cd ~ git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist cd taiga-front-dist git checkout stable
復(fù)制示例配置文件:
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
按照以下模式編輯示例配置(替換為您自己的詳細(xì)信息):
{ "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": []}
小心使用瀏覽器中的復(fù)制粘貼以避免http://重復(fù)。
有taiga-front-dist,前-dist的下載和配置是不夠的。下一步是在靜態(tài)文件Web服務(wù)器下公開(kāi)代碼(在dist目錄中)。在本教程中,我們使用nginx作為靜態(tài)文件Web服務(wù)器和反向代理。稍后將解釋nginx的配置。
推薦學(xué)習(xí):《linux視頻教程》