Taiga là một công cụ quản lý dự án miễn phí, mã nguồn mở, đơn giản nhưng mạnh mẽ dành cho các công ty khởi nghiệp, nhà phát triển Agile và nhà thiết kế. Công cụ này hỗ trợ các nhóm làm việc theo Agile trên cả khuôn khổ Scrum và Kanban. Giao diện được viết bằng JavaScript trong khi giao diện được viết bằng Python và Django. Đây là ứng dụng rất mạnh mẽ và hoàn toàn có thể tùy chỉnh, có thể xử lý cả các dự án đơn giản và phức tạp cho các nhà phát triển và nhóm. Nó có thể được tích hợp dễ dàng với nhiều dịch vụ bao gồm Kanban, Scrum, Talky.io và Appear.in.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Taiga Project Management Tool trên máy chủ Ubuntu 20.04.
Sau khi tất cả các gói được cập nhật, hãy cài đặt các phụ thuộc khác cần thiết cho Taiga bằng cách chạy lệnh sau:
Tiếp theo, bạn sẽ cần thiết lập tên máy chủ đủ điều kiện cho hệ thống của mình. Bạn có thể thiết lập nó bằng lệnh sau:
Tiếp theo, bạn sẽ cần liên kết tên máy chủ với địa chỉ IP của mình. Bạn có thể thực hiện bằng cách chỉnh sửa tệp /etc/hosts:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Sau khi kho lưu trữ được thêm vào, hãy cài đặt phiên bản mới nhất của Node.js bằng lệnh sau:
Sau khi cài đặt Node.js, hãy xác minh phiên bản Node.js đã cài đặt bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, thêm kho lưu trữ PostgreSQL bằng lệnh sau:
Tiếp theo, cập nhật kho lưu trữ và cài đặt phiên bản PostgreSQL mới nhất bằng lệnh sau:
Tiếp theo, thay đổi mật khẩu PostgreSQL bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, chuyển người dùng sang postgres và tạo người dùng cho Taiga:
Tiếp theo, đăng nhập vào shell PostgreSQL bằng lệnh sau:
Đầu ra:
Sau khi đăng nhập, hãy tạo người dùng và cơ sở dữ liệu bằng lệnh sau:
Tiếp theo, thoát khỏi shell PostgreSQL và người dùng bằng lệnh sau:
Tiếp theo, tạo người dùng và máy chủ ảo mới cho RabbitMQ bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, thêm người dùng Taiga vào nhóm sudo bằng lệnh sau:
Tiếp theo, đổi tên người dùng thành taiga và tạo một thư mục để lưu trữ nhật ký taiga:
Tiếp theo, tải xuống Backend Taiga từ kho lưu trữ Git bằng lệnh sau:
Tiếp theo, hãy thay đổi thư mục thành thư mục đã tải xuống và kiểm tra nhánh mới nhất:
Tiếp theo, hãy kích hoạt lệnh mkvirtualenv bằng lệnh sau:
Thêm dòng sau:
Kích hoạt cấu hình mới bằng lệnh sau:
Tiếp theo, hãy tạo môi trường ảo Python cho Taiga:
Tiếp theo, cài đặt tất cả các phụ thuộc cần thiết bằng lệnh sau:
Tiếp theo, di chuyển và tải dữ liệu bằng lệnh sau:
Tiếp theo, bạn sẽ cần chỉnh sửa tệp local.py và xác định cài đặt ứng dụng và cơ sở dữ liệu của mình:
Thêm các dòng sau:
Lưu và đóng tệp sau đó bắt đầu Máy chủ phụ trợ Taiga với lệnh sau:
Sau khi máy chủ khởi động thành công, bạn sẽ nhận được kết quả sau:
Nhấn CTRL + C để dừng máy chủ.
Tiếp theo, hủy kích hoạt môi trường ảo bằng lệnh sau:
Thay đổi thư mục thành thư mục đã tải xuống và kiểm tra nhánh ổn định mới nhất bằng lệnh sau:
Tiếp theo, sao chép tệp cấu hình mẫu bằng lệnh sau:
Tiếp theo, chỉnh sửa tệp cấu hình bằng lệnh sau:
Thay đổi các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, hãy thay đổi thư mục thành thư mục đã tải xuống và cài đặt tất cả các mô-đun NPM bằng lệnh sau:
Tiếp theo, hãy sao chép tệp cấu hình mẫu bằng lệnh sau:
Tiếp theo, hãy chỉnh sửa tệp config.json và đặt URL rabbitmq và khóa bí mật::
Thêm/sửa đổi các dòng sau:
Lưu và đóng tệp, sau đó đăng xuất khỏi người dùng Taiga bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tải lại dịch vụ systemd bằng lệnh sau:
Tiếp theo, khởi động dịch vụ sự kiện Taiga và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Tiếp theo, tạo tệp dịch vụ systemd cho Taiga bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp sau đó tải lại dịch vụ systemd bằng lệnh sau lệnh:
Tiếp theo, khởi động dịch vụ Taiga và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Tiếp theo, xác minh trạng thái của sự kiện Taiga và dịch vụ Taiga bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Sau khi cài đặt, hãy tạo tệp cấu hình máy chủ ảo Nginx bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó khởi động lại Nginx để áp dụng các thay đổi:
Nhấp vào nút Đăng nhập. Bạn sẽ được chuyển hướng đến trang sau:
Cung cấp tên người dùng mặc định là admin và mật khẩu là 123123 rồi nhấp vào nút ĐĂNG NHẬP. Bạn sẽ thấy bảng điều khiển Taiga ở trang sau:
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Taiga Project Management Tool trên máy chủ Ubuntu 20.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
- Một mật khẩu gốc được cấu hình cho máy chủ.
Bắt đầu
Trước tiên, hãy cập nhật các gói hệ thống của bạn lên phiên bản mới nhất bằng lệnh sau:
Mã:
apt-get update -y
Mã:
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
Mã:
hostnamectl set-hostname taiga.example.com
Mã:
nano /etc/hosts
Mã:
your-server-ip taiga.example.com
Cài đặt Node.js
Tiếp theo, bạn sẽ cần cài đặt Node.js vào hệ thống của mình. Theo mặc định, phiên bản mới nhất của Node.js không có trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ Node.js vào hệ thống của mình. Bạn có thể thêm nó bằng lệnh sau:
Mã:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Mã:
apt-get install nodejs -y
Mã:
node -v
Mã:
v12.19.0
Cài đặt và cấu hình PostgreSQL
Taiga sử dụng máy chủ PostgreSQL làm cơ sở dữ liệu phụ trợ. Vì vậy, bạn sẽ cần cài đặt nó vào hệ thống của mình. Trước tiên, hãy thêm khóa GPG PostgreSQL bằng lệnh sau:
Mã:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
Mã:
echo "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list
Mã:
apt-get update -y
apt-get install postgresql -y
Mã:
passwd postgres
Mã:
Mật khẩu mới:Nhập lại mật khẩu mới:passwd: mật khẩu đã cập nhật thành công
Mã:
su - postgres
postgres@taiga:~$ createuser taiga
Mã:
postgres@taiga:~$ psql
Mã:
psql (13.0 (Ubuntu 13.0-1.pgdg20.04+1))Nhập "help" để được trợ giúp.
Mã:
postgres=# ALTER USER taiga WITH ENCRYPTED password 'yourpassword';
postgres=# CREATE DATABASE taiga OWNER taiga;
Mã:
postgres=# \q
postgres@taiga:~$ exit
Cài đặt RabbitMQ và Redis
Taiga sử dụng RabbitMQ làm môi giới tin nhắn và Redis để lưu trữ đệm. Vì vậy, bạn sẽ cần cài đặt cả hai gói trong hệ thống của mình. Bạn có thể cài đặt cả hai gói bằng lệnh sau:
Mã:
apt-get install rabbitmq-server redis-server -y
Mã:
rabbitmqctl add_user taiga yourpassword
rabbitmqctl add_vhost taiga
rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
Cài đặt và cấu hình Taiga Backend
Trước tiên, tạo một người dùng riêng cho Taiga bằng lệnh sau:
Mã:
adduser taiga
Mã:
adduser taiga sudo
Mã:
su - taiga
mkdir -p ~/logs
Mã:
git clone https://github.com/taigaio/taiga-back.git
Mã:
cd taiga-back
git checkout stable
Mã:
nano ~/.bashrc
Mã:
source '/usr/share/virtualenvwrapper/virtualenvwrapper.sh'
Mã:
source ~/.bashrc
Mã:
mkvirtualenv -p /usr/bin/python3 taiga_venv
Mã:
pip3 install -r requirements.txt
Mã:
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
Mã:
nano ~/taiga-back/settings/local.py
Mã:
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 = FalsePUBLIC_REGISTER_ENABLED = TrueDEFAULT_FROM_EMAIL = "[emailprotected]"SERVER_EMAIL = DEFAULT_FROM_EMAIL#CELERY_ENABLED = TrueEVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:yourpassword@localhost:5672/taiga"}
Mã:
workon taiga_venv
python manage.py runserver
Mã:
Kiểm tra hệ thống không phát hiện ra vấn đề nào (0 bị tắt tiếng).Ngày 02 tháng 11 năm 2020 - 09:24:41Django phiên bản 2.2.16, sử dụng cài đặt 'settings'Khởi động máy chủ phát triển tại http://127.0.0.1:8000/Thoát khỏi máy chủ bằng CONTROL-C.
Tiếp theo, hủy kích hoạt môi trường ảo bằng lệnh sau:
Mã:
hủy kích hoạt
Cài đặt và cấu hình Taiga Forntend
Trước tiên, hãy đổi người dùng thành Taiga và tải xuống phiên bản mới nhất của giao diện Taiga từ kho lưu trữ Git:
Mã:
su - taiga
git clone https://github.com/taigaio/taiga-front-dist.git
Mã:
cd taiga-front-dist
git checkout stable
Mã:
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
Mã:
nano ~/taiga-front-dist/dist/conf.json
Mã:
{ "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"]}
Cài đặt và cấu hình Taiga Event
Tiếp theo, hãy vào thư mục gốc của bạn và tải xuống phiên bản mới nhất của Taiga event với lệnh sau:
Mã:
cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events
Mã:
cd taiga-events
npm install
Mã:
cp config.example.json config.json
Mã:
nano config.json
Mã:
{ "url": "amqp://taiga:yourpassword@localhost:5672/taiga", "secret": "OQOEJNSJIQHDBQNSUQEJSNNANsqQPAASQLSMSOQND", "webSocketServer": { "port": 8888 }}
Mã:
exit
Tạo tệp dịch vụ Systemd
Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd cho Taiga và sự kiện Taiga. Trước tiên, tạo một tệp dịch vụ systemd cho sự kiện Taiga bằng lệnh sau:
Mã:
nano /etc/systemd/system/taiga_events.service
Mã:
[Unit]Description=taiga_eventsAfter=network.target[Service]User=taigaWorkingDirectory=/home/taiga/taiga-eventsExecStart=/bin/bash -c "node_modules/coffeescript/bin/coffee index.coffee"Restart=alwaysRestartSec=3[Install]WantedBy=default.target
Mã:
systemctl daemon-reload
Mã:
systemctl start taiga_events
systemctl enable taiga_events
Mã:
nano /etc/systemd/system/taiga.service
Mã:
[Unit]Description=taiga_backAfter=network.target[Service]User=taigaEnvironment=PYTHONUNBUFFERED=trueWorkingDirectory=/home/taiga/taiga-backExecStart=/home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 -b 127.0.0.1:8001 taiga.wsgiRestart=alwaysRestartSec=3[Install]WantedBy=default.target
Mã:
systemctl daemon-reload
Mã:
systemctl start taiga
systemctl enable taiga
Mã:
systemctl status taiga_events taiga
Mã:
? taiga_events.service - taiga_events Đã tải: đã tải (/etc/systemd/system/taiga_events.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ Hai 2020-11-02 09:30:21 UTC; 46 giây trước PID chính: 26383 (nút) Nhiệm vụ: 7 (giới hạn: 2353) Bộ nhớ: 15,2M CGroup: /system.slice/taiga_events.service ??26383 nút node_modules/coffeescript/bin/coffee index.coffee02/11 09:30:21 taiga.example.com systemd[1]: Đã bắt đầu taiga_events.? taiga.service - taiga_back Đã tải: đã tải (/etc/systemd/system/taiga.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) từ Thứ Hai 2020-11-02 09:30:55 UTC; 13 giây trước PID chính: 26478 (gunicorn) Nhiệm vụ: 5 (giới hạn: 2353) Bộ nhớ: 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 --hết giờ 60 > ??26495 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --hết giờ 60 > ??26496 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --hết giờ 60 > ??26497 /home/taiga/.virtualenvs/taiga_venv/bin/python /home/taiga/.virtualenvs/taiga_venv/bin/gunicorn --workers 4 --timeout 60 >02/11 09:30:55 taiga.example.com gunicorn[26495]: [02/11/2020 09:30:55 +0000] [26495] [THÔNG TIN] Đang khởi động công nhân với pid: 2649502/11 09:30:55 taiga.example.com gunicorn[26496]: [02/11/2020 09:30:55 +0000] [26496] [THÔNG TIN] Đang khởi động công nhân với pid: 2649602/11 09:30:55 taiga.example.com gunicorn[26494]: Đang thử nhập cài đặt local.py...02/11 09:30:55 taiga.example.com gunicorn[26495]: Đang thử nhập cài đặt local.py...11 02 09:30:55 taiga.example.com gunicorn[26497]: Đang thử nhập cài đặt local.py...02-11 09:30:55 taiga.example.com gunicorn[26497]: 2020-11-02 09:30:55 +0000] [26497] [INF02-11 09:30:55 taiga.example.com gunicorn[26495]: 202-11 09:30:55 taiga.example.com gunicorn[26496]: 202-11 09:30:55 taiga.example.com gunicorn[26496]: Đang thử nhập cài đặt local.py...02-11 09:30:55 taiga.example.com gunicorn[26497]: rying import local.py settings...
Cấu hình Nginx làm Proxy ngược
Bạn nên cấu hình Nginx làm proxy ngược cho Taiga. Trước tiên, hãy cài đặt Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Mã:
nano /etc/nginx/conf.d/taiga.conf
Mã:
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; # Vị trí giao diện người dùng / { root /home/taiga/taiga-front-dist/dist/; try_files $uri $uri/ /index.html; } # Vị trí giao diện người dùng /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; } # Vị trí quyền truy cập của quản trị viên (/admin/) /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; } # Vị trí tệp tĩnh /static { alias /home/taiga/taiga-back/static; } # Vị trí tệp phương tiện /media { alias /home/taiga/taiga-back/media; } # Vị trí sự kiện /events { proxy_pass http://127.0.0.1:8888/events; proxy_http_version 1.1; proxy_set_header Nâng cấp $http_upgrade; proxy_set_header Kết nối "nâng cấp"; proxy_connect_timeout 7 ngày; proxy_send_timeout 7 ngày; proxy_read_timeout 7 ngày; }}
Mã:
systemctl restart nginx
Truy cập Tails Web UI
Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web Taiga bằng URL . Bạn sẽ được chuyển hướng đến trang sau:Nhấp vào nút Đăng nhập. Bạn sẽ được chuyển hướng đến trang sau:
Cung cấp tên người dùng mặc định là admin và mật khẩu là 123123 rồi nhấp vào nút ĐĂNG NHẬP. Bạn sẽ thấy bảng điều khiển Taiga ở trang sau: