Cách cài đặt Taiga Project Management System trên Ubuntu 20.04

theanh

Administrator
Nhân viên
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.

Đ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
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:
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
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:
Mã:
hostnamectl set-hostname taiga.example.com
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:
Mã:
nano /etc/hosts
Thêm các dòng sau:
Mã:
your-server-ip taiga.example.com
Lưu và đóng tệp khi bạn hoàn tất.

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 -
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:
Mã:
apt-get install nodejs -y
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:
Mã:
node -v
Bạn sẽ nhận được kết quả sau:
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 -
Tiếp theo, thêm kho lưu trữ PostgreSQL bằng lệnh sau:
Mã:
echo "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list
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:
Mã:
apt-get update -y
apt-get install postgresql -y
Tiếp theo, thay đổi mật khẩu PostgreSQL bằng lệnh sau:
Mã:
passwd postgres
Bạn sẽ nhận được kết quả sau:
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
Tiếp theo, chuyển người dùng sang postgres và tạo người dùng cho Taiga:
Mã:
su - postgres
postgres@taiga:~$ createuser taiga
Tiếp theo, đăng nhập vào shell PostgreSQL bằng lệnh sau:
Mã:
postgres@taiga:~$ psql
Đầu ra:
Mã:
psql (13.0 (Ubuntu 13.0-1.pgdg20.04+1))Nhập "help" để được trợ giúp.
Sau khi đăng nhập, hãy tạo người dùng và cơ sở dữ liệu bằng lệnh sau:
Mã:
postgres=# ALTER USER taiga WITH ENCRYPTED password 'yourpassword';
postgres=# CREATE DATABASE taiga OWNER taiga;
Tiếp theo, thoát khỏi shell PostgreSQL và người dùng bằng lệnh sau:
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
Tiếp theo, tạo người dùng và máy chủ ảo mới cho RabbitMQ bằng lệnh sau:
Mã:
rabbitmqctl add_user taiga yourpassword
rabbitmqctl add_vhost taiga
rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

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
Tiếp theo, thêm người dùng Taiga vào nhóm sudo bằng lệnh sau:
Mã:
adduser taiga sudo
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:
Mã:
su - taiga
mkdir -p ~/logs
Tiếp theo, tải xuống Backend Taiga từ kho lưu trữ Git bằng lệnh sau:
Mã:
git clone https://github.com/taigaio/taiga-back.git
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:
Mã:
cd taiga-back
git checkout stable
Tiếp theo, hãy kích hoạt lệnh mkvirtualenv bằng lệnh sau:
Mã:
nano ~/.bashrc
Thêm dòng sau:
Mã:
source '/usr/share/virtualenvwrapper/virtualenvwrapper.sh'
Kích hoạt cấu hình mới bằng lệnh sau:
Mã:
source ~/.bashrc
Tiếp theo, hãy tạo môi trường ảo Python cho Taiga:
Mã:
mkvirtualenv -p /usr/bin/python3 taiga_venv
Tiếp theo, cài đặt tất cả các phụ thuộc cần thiết bằng lệnh sau:
Mã:
pip3 install -r requirements.txt
Tiếp theo, di chuyển và tải dữ liệu bằng lệnh sau:
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
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:
Mã:
nano ~/taiga-back/settings/local.py
Thêm các dòng sau:
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"}
Lưu và đóng tệp sau đó bắt đầu Máy chủ phụ trợ Taiga với lệnh sau:
Mã:
workon taiga_venv
python manage.py runserver
Sau khi máy chủ khởi động thành công, bạn sẽ nhận được kết quả sau:
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.
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:
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
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:
Mã:
cd taiga-front-dist
git checkout stable
Tiếp theo, sao chép tệp cấu hình mẫu bằng lệnh sau:
Mã:
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
Tiếp theo, chỉnh sửa tệp cấu hình bằng lệnh sau:
Mã:
nano ~/taiga-front-dist/dist/conf.json
Thay đổi các dòng sau:
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"]}
Lưu và đóng tệp khi bạn hoàn tất.

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
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:
Mã:
cd taiga-events
npm install
Tiếp theo, hãy sao chép tệp cấu hình mẫu bằng lệnh sau:
Mã:
cp config.example.json config.json
Tiếp theo, hãy chỉnh sửa tệp config.json và đặt URL rabbitmq và khóa bí mật::
Mã:
nano config.json
Thêm/sửa đổi các dòng sau:
Mã:
{ "url": "amqp://taiga:yourpassword@localhost:5672/taiga", "secret": "OQOEJNSJIQHDBQNSUQEJSNNANsqQPAASQLSMSOQND", "webSocketServer": { "port": 8888 }}
Lưu và đóng tệp, sau đó đăng xuất khỏi người dùng Taiga bằng lệnh sau:
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
Thêm các dòng sau:
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
Lưu và đóng tệp, sau đó tải lại dịch vụ systemd bằng lệnh sau:
Mã:
systemctl daemon-reload
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:
Mã:
systemctl start taiga_events
systemctl enable taiga_events
Tiếp theo, tạo tệp dịch vụ systemd cho Taiga bằng lệnh sau:
Mã:
nano /etc/systemd/system/taiga.service
Thêm các dòng sau:
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
Lưu và đóng tệp sau đó tải lại dịch vụ systemd bằng lệnh sau lệnh:
Mã:
systemctl daemon-reload
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:
Mã:
systemctl start taiga
systemctl enable taiga
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:
Mã:
systemctl status taiga_events taiga
Bạn sẽ thấy đầu ra sau:
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
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:
Mã:
nano /etc/nginx/conf.d/taiga.conf
Thêm các dòng sau:
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; }}
Lưu và đóng tệp, sau đó khởi động lại Nginx để áp dụng các thay đổi:
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:


Kết luận​

Xin chúc mừng! bạn đã cài đặt và cấu hình thành công công cụ quản lý dự án Taiga với Nginx trên Ubuntu 20.04. Bây giờ bạn có thể triển khai Taiga trong môi trường phát triển của mình và bắt đầu làm việc trên đó.
 
Back
Bên trên