Taiga
尽管官方推荐使用Ubuntu,但是实际上这个项目可以较为容易的部署在其他系统上,前提是你对这个项目有所了解
Taiga是一个项目管理器,官网上简介说的是各种奖励拿到手软,但是也是出了名的难以安装,docker上没有官方镜像,也没有可以直接使用民间大神镜像,Taiga项目前后端分离,前端使用angular.js后端使用django尽管安装过程非常复杂,但是在简单了解项目架构后,还是很容易安装的,这里记录安装时遇到的错误以及容易出错的地方
原文中(optional)选装的我们都没有涉及,选装模块是提升taiga性能的,对于中小型企业来说暂时没有第一安装的必要,第二对项目更加熟悉后,再次进行提升性能也不迟
先行条件
这里先行条件容易踩坑的地方就是pip,在安装完各种依赖包之后务必升级pip,保守建议使用pip install --upgrade pip先升级python2的pip 然后使用pip3 install --upgrade pip升级pip3
安装依赖包
这里根据自己的系统类型简单调整同时请务必对照官方文档操作
sudo apt-get update
sudo apt-get install -y build-essential binutils-doc autoconf flex bison libjpeg-dev
sudo apt-get install -y libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev
sudo apt-get install -y automake libtool curl git tmux gettext
sudo apt-get install -y nginx
sudo apt-get install -y rabbitmq-server redis-server
# taiga-back所使用的数据库类型为postgresql
sudo apt-get install -y postgresql-9.5 postgresql-contrib-9.5
sudo apt-get install -y postgresql-doc-9.5 postgresql-server-dev-9.5
# 安装python3依赖
sudo apt-get install -y python3 python3-pip python3-dev virtualenvwrapper
sudo apt-get install -y libxml2-dev libxslt-dev
sudo apt-get install -y libssl-dev libffi-dev
请务必在这里升级pip
如果pip升级过慢的话请百度pip换源方法很多,就不再赘述了
pip install --upgrade pip
pip3 install --upgrade pip
创建taiga用户(在这一步之后的操作均在此用户下进行)
sudo adduser taiga
sudo adduser taiga sudo
sudo su taiga
cd ~
创建数据库(用户名依旧是taiga)
sudo -u postgres createuser taiga
sudo -u postgres createdb taiga -O taiga --encoding='utf-8' --locale=en_US.utf8 --template=template0
sudo rabbitmqctl add_user taiga PASSWORD_FOR_EVENTS
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
后端安装
接下来的所有安装都在您之前创建的用户下执行
下载taiga
git clone太慢的话或者完全clone不下来的话可以使用这个链接但不完全保证最新版
https://gitee.com/qingyangongzuoshi/taiga-back.git
cd ~
git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back
git checkout stable
创建虚拟环境
mkvirtualenv -p /usr/bin/python3 taiga
# 这一步pip安装可能会很慢,打开这个文档后你会看到头部临时使用了一个源(链接)修改为国内源即可
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
在这里你可以选择加入演示内容(给别人看的时候很有用)
python manage.py sample_data
修改配置文件
路径在~/taiga-back/settings/local.py
把其中的example.com替换为你服务器的可访问地址,本机127.0.0.1公网自己填写即可
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"
上述所有步骤完成后在~/taiga-back下执行
workon taiga
python manage.py runserver 0.0.0.0:8000
runserver后面的ip地址可以更换为自己的可访问ip
查看到返回的json后表示安装成功了
前端安装
这一步就较为简单了一般不会再这里出问题
下载源码
git clone过慢的话可以换这个地址但不保证最新https://gitee.com/qingyangongzuoshi/taiga-front-dist.git
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
这里的example.com调整为你刚才访问后台地址的链接即可
{
"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": []}
随后重启nginx访问首页即可看到效果