如何在 Ubuntu 20.04 上安装 Taiga 项目管理系统如何在 Ubuntu 20.04 上安装 Taiga 项目管理系统如何在 Ubuntu 20.04 上安装 Taiga 项目管理系统如何在 Ubuntu 20.04 上安装 Taiga 项目管理系统
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Ubuntu 20.04 上安装 Taiga 项目管理系统

发表 admin at 2025年2月28日
类别
  • 未分类
标签

在此页

  1. 先决条件
  2. 开始
  3. 安装 Node.js
  4. 安装和配置 PostgreSQL
  5. 安装 RabbitMQ 和 Redis
  6. 安装和配置 Taiga 后端
  7. 安装和配置 Taiga Forntend
  8. 安装和配置 Taiga 事件
  9. 创建系统服务文件
  10. 将 Nginx 配置为反向代理
  11. 访问 Tails 网络用户界面
  12. 结论

Taiga 是一款免费、开源、简单但功能强大的项目管理工具,适用于初创公司、敏捷开发人员和设计师。它支持跨 Scrum 和看板框架开展敏捷工作的团队。前端是用 JavaScript 编写的,而后端是用 Python 和 Django 编写的。它是非常强大且完全可定制的应用程序,可以为开发人员和团队处理简单和复杂的项目。它可以轻松地与许多服务集成,包括看板、Scrum、Talky.io 和 Appear.in。

在本教程中,我们将向您展示如何在 Ubuntu 20.04 服务器上安装 Taiga 项目管理工具。

先决条件

  • 一台运行 Ubuntu 20.04 的服务器。
  • 用您的服务器 IP 指向的有效域名。
  • 为服务器配置了根密码。

入门

首先,使用以下命令将系统包更新到最新版本:

apt-get update -y

更新所有包后,通过运行以下命令安装 Taiga 所需的其他依赖项:

apt-get install git gnupg2 pwgen automake wget curl gettext python3 virtualenvwrapper python3-dev python3-pip python3-dev libssl-dev tmux build-essential libgdbm-dev binutils-doc autoconf flex gunicorn bison libjpeg-dev libzmq3-dev libfreetype6-dev zlib1g-dev libncurses5-dev libtool libxslt-dev libxml2-dev libffi-dev

接下来,您需要为您的系统设置一个完全限定的主机名。您可以使用以下命令进行设置:

hostnamectl set-hostname taiga.example.com

接下来,您需要将您的主机名与您的 IP 地址绑定。您可以通过编辑文件 /etc/hosts 来完成此操作:

nano /etc/hosts

添加以下行:

your-server-ip taiga.example.com

完成后保存并关闭文件。

安装 Node.js

接下来,您需要将 Node.js 安装到您的系统中。默认情况下,最新版本的 Node.js 在 Ubuntu 20.04 默认存储库中不可用。因此,您需要将 Node.js 存储库添加到您的系统中。您可以使用以下命令添加它:

curl -sL https://deb.nodesource.com/setup_12.x | bash -

添加存储库后,使用以下命令安装最新版本的 Node.js:

apt-get install nodejs -y

安装 Node.js 后,使用以下命令验证安装的 Node.js 版本:

node -v

您应该得到以下输出:

v12.19.0

安装和配置 PostgreSQL

Taiga 使用 PostgreSQL 服务器作为数据库后端。所以你需要在你的系统中安装它。首先,使用以下命令添加 PostgreSQL GPG 密钥:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

接下来,使用以下命令添加 PostgreSQL 存储库:

echo "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list

接下来,使用以下命令更新存储库并安装最新版本的 PostgreSQL:

apt-get update -y
apt-get install postgresql -y

接下来,使用以下命令更改 PostgreSQL 密码:

passwd postgres

您应该得到以下输出:

New password: 
Retype new password: 
passwd: password updated successfully

接下来,将用户切换到 postgres 并为 Taiga 创建一个用户:

su - postgres
:~$ createuser taiga

接下来,使用以下命令登录到 PostgreSQL shell:

:~$ psql

输出:

psql (13.0 (Ubuntu 13.0-1.pgdg20.04+1))
Type "help" for help.

登录后,使用以下命令创建用户和数据库:

postgres=# ALTER USER taiga WITH ENCRYPTED password 'yourpassword';
postgres=# CREATE DATABASE taiga OWNER taiga;

接下来,使用以下命令退出 PostgreSQL shell 和用户:

postgres=# \q
:~$ exit

安装 RabbitMQ 和 Redis

Taiga 使用 RabbitMQ 作为消息代理,使用 Redis 进行缓存。所以你需要在你的系统中安装这两个包。您可以使用以下命令安装这两个包:

apt-get install rabbitmq-server redis-server -y

接下来,使用以下命令为 RabbitMQ 创建一个新的用户和虚拟主机:

rabbitmqctl add_user taiga yourpassword
rabbitmqctl add_vhost taiga
rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"

完成后,您可以继续下一步。

安装和配置 Taiga 后端

首先,使用以下命令为 Taiga 创建一个单独的用户:

adduser taiga

接下来,使用以下命令将 Taiga 用户添加到 sudo 组:

adduser taiga sudo

接下来,将用户更改为 taiga 并创建一个目录来存储 taiga 日志:

su - taiga
mkdir -p ~/logs

接下来,使用以下命令从 Git 存储库下载 Taiga 后端:

git clone https://github.com/taigaio/taiga-back.git

接下来,将目录更改为下载的目录并查看最新的分支:

cd taiga-back
git checkout stable

接下来,使用以下命令激活 mkvirtualenv 命令:

nano ~/.bashrc

添加以下行:

source '/usr/share/virtualenvwrapper/virtualenvwrapper.sh'

使用以下命令激活新配置文件:

source ~/.bashrc

接下来,为 Taiga 创建一个 Python 虚拟环境:

mkvirtualenv -p /usr/bin/python3 taiga_venv

接下来,使用以下命令安装所有必需的依赖项:

pip3 install -r requirements.txt

接下来,使用以下命令迁移和加载数据:

python3 manage.py migrate --noinput
python3 manage.py loaddata initial_user
python3 manage.py loaddata initial_project_templates
python3 manage.py compilemessages
python3 manage.py collectstatic --noinput

接下来,您需要编辑 local.py 文件并定义您的应用程序和数据库设置:

nano ~/taiga-back/settings/local.py

添加以下行:

from .common import *

MEDIA_URL = "http://taiga.example.com/media/"
STATIC_URL = "http://taiga.example.com/static/"
SITES["front"]["scheme"] = "http"
SITES["front"]["domain"] = "taiga.example.com"

SECRET_KEY = "OQOEJNSJIQHDBQNSUQEJSNNANsqQPAASQLSMSOQND"

DEBUG = False
PUBLIC_REGISTER_ENABLED = True

DEFAULT_FROM_EMAIL = ""
SERVER_EMAIL = DEFAULT_FROM_EMAIL

#CELERY_ENABLED = True

EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga::5672/taiga"}

保存并关闭文件,然后使用以下命令启动 Taiga 后端服务器:

workon taiga_venv
python manage.py runserver

服务器成功启动后,您应该获得以下输出:

System check identified no issues (0 silenced).
November 02, 2020 - 09:24:41
Django version 2.2.16, using settings 'settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

按 CTRL + C 停止服务器。

接下来,使用以下命令停用虚拟环境:

deactivate

安装和配置 Taiga Forntend

首先,将用户更改为 Taiga 并从 Git 存储库下载最新版本的 Taiga 前端:

su - taiga
git clone https://github.com/taigaio/taiga-front-dist.git

将目录更改为下载的目录,并使用以下命令查看最新的稳定分支:

cd taiga-front-dist
git checkout stable

接下来,使用以下命令复制示例配置文件:

cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json

接下来,使用以下命令编辑配置文件:

nano ~/taiga-front-dist/dist/conf.json

更改以下行:

{
    "api": "http://taiga.example.com/api/v1/",
    "eventsUrl": "ws://taiga.example.com/events",
    "eventsMaxMissedHeartbeats": 5,
    "eventsHeartbeatIntervalTime": 60000,
    "eventsReconnectTryInterval": 10000,
    "debug": true,
    "debugInfo": false,
    "defaultLanguage": "en",
    "themes": ["taiga"],
    "defaultTheme": "taiga",
    "publicRegisterEnabled": true,
    "feedbackEnabled": true,
    "supportUrl": "https://tree.taiga.io/support",
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "GDPRUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": [],
    "tribeHost": null,
    "importers": [],
    "gravatar": true,
    "rtlLanguages": ["fa"]
}

完成后保存并关闭文件。

安装和配置 Taiga 事件

接下来,转到您的主目录并使用以下命令下载最新版本的 Taiga 事件:

cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events

接下来,将目录更改为下载的目录并使用以下命令安装所有 NPM 模块:

cd taiga-events
npm install

接下来,使用以下命令复制示例配置文件:

cp config.example.json config.json

接下来,编辑 config.json 文件并设置 rabbitmq URL 和密钥:

nano config.json

添加/修改以下行:

{
    "url": "amqp://taiga::5672/taiga",
    "secret": "OQOEJNSJIQHDBQNSUQEJSNNANsqQPAASQLSMSOQND",
    "webSocketServer": {
        "port": 8888
    }
}

保存并关闭文件,然后使用以下命令从 Taiga 用户注销:

exit

创建系统服务文件

接下来,您需要为 Taiga 和 Taiga 事件创建一个 systemd 服务文件。首先,使用以下命令为 Taiga 事件创建一个 systemd 服务文件:

nano /etc/systemd/system/taiga_events.service

添加以下行:

[Unit]
Description=taiga_events
After=network.target

[Service]
User=taiga
WorkingDirectory=/home/taiga/taiga-events
ExecStart=/bin/bash -c "node_modules/coffeescript/bin/coffee index.coffee"
Restart=always
RestartSec=3

[Install]
WantedBy=default.target

保存并关闭文件,然后使用以下命令重新加载 systemd 服务:

systemctl daemon-reload

接下来,启动 Taiga 事件服务并使用以下命令使其在系统重启时启动:

systemctl start taiga_events
systemctl enable taiga_events

接下来,使用以下命令为 Taiga 创建一个 systemd 服务文件:

nano /etc/systemd/system/taiga.service

添加以下行:

[Unit]
Description=taiga_back
After=network.target

[Service]
User=taiga
Environment=PYTHONUNBUFFERED=true
WorkingDirectory=/home/taiga/taiga-back
ExecStart=/home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 -b 127.0.0.1:8001 taiga.wsgi
Restart=always
RestartSec=3

[Install]
WantedBy=default.target

保存并关闭文件,然后使用以下命令重新加载 systemd 服务:

systemctl daemon-reload

接下来,启动 Taiga 服务并使用以下命令使其在系统重启时启动:

systemctl start taiga
systemctl enable taiga

接下来,使用以下命令验证 Taiga 事件和 Taiga 服务的状态:

systemctl status taiga_events taiga

您应该看到以下输出:

? taiga_events.service - taiga_events
     Loaded: loaded (/etc/systemd/system/taiga_events.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-11-02 09:30:21 UTC; 46s ago
   Main PID: 26383 (node)
      Tasks: 7 (limit: 2353)
     Memory: 15.2M
     CGroup: /system.slice/taiga_events.service
             ??26383 node node_modules/coffeescript/bin/coffee index.coffee

Nov 02 09:30:21 taiga.example.com systemd[1]: Started taiga_events.

? taiga.service - taiga_back
     Loaded: loaded (/etc/systemd/system/taiga.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-11-02 09:30:55 UTC; 13s ago
   Main PID: 26478 (gunicorn)
      Tasks: 5 (limit: 2353)
     Memory: 266.4M
     CGroup: /system.slice/taiga.service
             ??26478 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >
             ??26494 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >
             ??26495 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >
             ??26496 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >
             ??26497 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >

Nov 02 09:30:55 taiga.example.com gunicorn[26495]: [2020-11-02 09:30:55 +0000] [26495] [INFO] Booting worker with pid: 26495
Nov 02 09:30:55 taiga.example.com gunicorn[26496]: [2020-11-02 09:30:55 +0000] [26496] [INFO] Booting worker with pid: 26496
Nov 02 09:30:55 taiga.example.com gunicorn[26494]: Trying import local.py settings...
Nov 02 09:30:55 taiga.example.com gunicorn[26495]: Trying import local.py settings...
Nov 02 09:30:55 taiga.example.com gunicorn[26497]: Trying import local.py settings...
Nov 02 09:30:55 taiga.example.com gunicorn[26497]: 2020-11-02 09:30:55 +0000] [26497] [INF
Nov 02 09:30:55 taiga.example.com gunicorn[26495]: 2
Nov 02 09:30:55 taiga.example.com gunicorn[26496]: 2
Nov 02 09:30:55 taiga.example.com gunicorn[26496]: rying import local.py settings...
Nov 02 09:30:55 taiga.example.com gunicorn[26497]: rying import local.py settings...

配置 Nginx 作为反向代理

将 Nginx 配置为 Taiga 的反向代理是个好主意。首先,使用以下命令安装 Nginx:

apt-get install nginx -y

安装后,使用以下命令创建 Nginx 虚拟主机配置文件:

nano /etc/nginx/conf.d/taiga.conf

添加以下行:

server {
    listen 80;
    server_name taiga.example.com;

    large_client_header_buffers 4 32k;
    client_max_body_size 50M;
    charset utf-8;

    access_log /home/taiga/logs/nginx.access.log;
    error_log /home/taiga/logs/nginx.error.log;

    # Frontend
    location / {
        root /home/taiga/taiga-front-dist/dist/;
        try_files $uri $uri/ /index.html;
    }

    # Backend
    location /api {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8001/api;
        proxy_redirect off;
    }

    # Admin access (/admin/)
    location /admin {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8001$request_uri;
        proxy_redirect off;
    }

    # Static files
    location /static {
        alias /home/taiga/taiga-back/static;
    }

    # Media files
    location /media {
        alias /home/taiga/taiga-back/media;
    }

    # Events
    location /events {
        proxy_pass http://127.0.0.1:8888/events;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_connect_timeout 7d;
        proxy_send_timeout 7d;
        proxy_read_timeout 7d;
    }
}

保存并关闭文件,然后重新启动 Nginx 以应用更改:

systemctl restart nginx

访问 Tails 网页用户界面

现在,打开您的 Web 浏览器并使用 URL http://taiga.example.com 访问 Taiga Web 界面。您将被重定向到以下页面:

点击登录按钮。您将被重定向到以下页面:

提供默认用户名 admin 和密码 123123 单击登录按钮。您应该在以下页面中看到 Taiga 仪表板:

结论

恭喜!您已经在 Ubuntu 20.04 上成功安装并配置了带有 Nginx 的 Taiga 项目管理工具。您现在可以在您的开发环境中部署 Taiga 并开始使用它。

©2015-2025 Norria support@norria.com