当前位置: 首页 > Linux

在linux上安装taiga

时间:2023-04-06 04:17:27 Linux

taiga安装配置1.简介本文档描述了如何部署一个完整的Taiga服务(每个模块都是Taiga平台的一部分)。Taiga平台由三个主要组件组成,每个组件在编译时和运行时都有自己的依赖关系:taiga-back(backend/api)taiga-front-dist(frontend)taiga-events(websocketsgateway)(availableOptional)每个组件可以在一台独特的机器上运行,或者所有组件都可以安装在不同的机器上。在本教程中,我们将在一台机器上安装所有东西,安装所有三个Taiga组件。这种类型的设置对于中小型生产环境应该足够了。2.概述本教程假设您使用的是干净的、最近更新的Ubuntu16.04映像。由于前端的性质,当前端应用程序在您的浏览器中运行时,Taiga通过domain/public-ip使用。前端必须能够与后端/API通信,因此前端和后端都必须可以通过域/公共IP访问。Taiga的安装必须由“普通”用户完成,而不是root。在本教程中,我们假设以下详细信息:IP:80.88.23.45主机名:(example.com指向80.88.23.45)用户名:taiga系统ram>=1GB(编译lxml需要)工作目录/home/taiga/(用户defaulttaiga)2.1系统架构描述这是一个简短的系统架构描述,可帮助您了解Taiga的构建和工作方式。在继续安装之前,请务必阅读本说明以获得高级概述。Taiga由2个核心(强制)模块组成:taiga-backtaiga-fronttaiga-back用django、python3编写,并为前端提供API端点。taiga-front主要是用angularjs和coffeescript编写的,具体取决于后端。python后端由gunicorn(端口9001)公开,它是一个PythonWSGIHTTP服务器。进程管理器是systemd,它同时运行gunicorn和taiga-back。从技术上讲,后端与数据库(postgresql)通信,并通过前端允许用户使用Taiga的功能。前端和后端之间的通信是使用API完成的。然后后端由nginx公开公开,nginx充当此场景的反向代理。前端位于dist文件夹中,由nginx公开公开,nginx在本例中充当静态Web服务器。3先决条件Taiga由三个模块组成,每个模块需要不同的包和第三方包。本节将收集成功安装和配置Taiga所需的包。在本节中,我们将为所有模块安装所有依赖项,包括可选模块和服务。基础包taiga-back组件使用postgresql(>=9.4)作为数据库:Python(3)和virtualenvwrapper必须与几个第三方库一起安装pip升级到最新版本sudoapt-getupdatesudoapt-getinstall-ybuild-essentialbinutils-docautoconfflexbisonlibjpeg-devlibfreetype6-devzlib1g-devlibzmq3-devlibgdbm-devlibncurses5-devautomakelibtoolcurlgittmuxgettextnginxrabbitmq-serverredis-serverpostgresql-9.5postgre9sql-contrib-doc9.5postgresql-server-dev-9.5python3python3-pippython3-devvirtualenvwrapperlibxml2-devlibxslt-devlibssl-devlibffi-dev在继续安装之前需要执行此步骤!创建一个名为taiga的用户并赋予其root权限不要更改为root用户。安装必须由taiga用户完成。sudoaddusertaigassudoaddusertaigasudosudosutaigacd~3.1配置依赖项使用初始用户和数据库配置postgresql:sudo-upostgrescreateusertaigasudo-upostgrescreatedbtaiga-Otaiga--encoding='utf-8'--locale=en_US.utf8--template=template0创建一个名为taiga的用户和一个RabbitMQ虚拟主机(taiga-events)4.后端配置本节帮助配置后端(api)Taiga服务及其依赖项。下载代码cd~gitclonehttps://github.com/taigaio/taiga-back.gittaiga-backcdtaiga-backgitcheckoutstable创建名为taiga-p/usr/bin/python3taiga安装依赖项的新virtualenvmkvirtualenvpipinstall-rrequirements.txt用初始基础数据填充数据库pythonmanage.pymigrate--noinputpythonmanage.pyloaddatainitial_userpythonmanage.pyloaddatainitial_project_templatespythonmanage.pycompilemessagespythonmanage.pycollectstatic--noinput这将创建管理员帐户.登录凭据是admin,密码是123123。可选:如果您希望将一些示例数据加载到Taiga中,请执行以下命令,该命令使用示例项目和随机数据(对演示有用)填充数据库:pythonmanage.pysample_data将以下配置复制粘贴到~/taiga-返回/settings/local.py并更新您自己的详细信息:from.commonimport*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=TrueDEFAULT_FROM_EMAIL="no-reply@example.com"SERVER_EMAIL=DEFAULT_FROM_EMAIL#CELERY_ENABLED=TrueEVENTS_PUSH_BACKEND="taiga.events.backends.rabbitmq.EventsPushBackend"EVENTS_PUSH_BACKEND_OPTIONS={"url":"amqp://taiga:PASSWORD_FOR_EVENTS@localhost:567}2/ta正确的连接参数#用于启用电子邮件发送.EMAIL_HOST_USER应该以@domain.tld#EMAIL_BACKEND="django.core.mail.backends.smtp.EmailBackend"#EMAIL_USE_TLS=False#EMAIL_HOST="localhost"#EMAIL_HOST_USER=""#EMAIL_HOST_PASS=""#EMAIL_PORT=25#取消注释并填充适当的连接参数#以启用github登录/登录。#GITHUB_API_CLIENT_ID="yourgithubclientid"#GITHUB_API_CLIENT_SECRET="yourgithubclientsecret"验证(可选)为确保一切正常,发出以下命令以在开发模式下运行后端测试:workontaigapythonmanage.pyrunserver然后你必须能够看到json表示URL上的端点列表:http://localhost:8000/api/v1/在此阶段后端已成功安装,但要在生产中运行python后端,必须首先配置应用程序服务器。有关详细信息,请参阅本文档的后面部分。5.前端安装从Github下载代码:cd~gitclonehttps://github.com/taigaio/taiga-front-dist.gittaiga-front-distcdtaiga-front-distgitcheckoutstable复制样例配置文件: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,front-dist的下载和配置是不够的。下一步是在静态文件Web服务器下公开代码(在dist目录中)。在本教程中,我们使用nginx作为静态文件Web服务器和反向代理。nginx的配置后面会讲到。