GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Sistem Manajemen Proyek Taiga di Ubuntu 20.04

Taiga adalah alat manajemen proyek gratis, open-source, sederhana namun kuat untuk startup, pengembang Agile, dan desainer. Ini mendukung tim yang bekerja dengan Agile di kedua kerangka kerja Scrum dan Kanban. Frontend ditulis dalam JavaScript sedangkan backend ditulis dengan Python dan Django. Ini adalah aplikasi yang sangat kuat dan sepenuhnya dapat disesuaikan dan dapat menangani proyek sederhana dan kompleks untuk pengembang dan tim. Itu dapat diintegrasikan dengan mudah dengan banyak layanan termasuk, Kanban, Scrum, Talky.io, dan Appear.in.

Dalam tutorial ini, kami akan menunjukkan cara menginstal Alat Manajemen Proyek Taiga di server Ubuntu 20.04.

Prasyarat

  • Server yang menjalankan Ubuntu 20.04.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Sandi root dikonfigurasi untuk server.

Memulai

Pertama, perbarui paket sistem Anda ke versi terbaru dengan perintah berikut:

apt-get update -y

Setelah semua paket diperbarui, instal dependensi lain yang diperlukan untuk Taiga dengan menjalankan perintah berikut:

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

Selanjutnya, Anda perlu menyiapkan nama host yang sepenuhnya memenuhi syarat untuk sistem Anda. Anda dapat mengaturnya dengan perintah berikut:

hostnamectl set-hostname taiga.example.com

Selanjutnya, Anda harus mengikat nama host Anda dengan alamat IP Anda. Anda dapat melakukannya dengan mengedit file /etc/hosts:

nano /etc/hosts

Tambahkan baris berikut:

your-server-ip taiga.example.com

Simpan dan tutup file setelah Anda selesai.

Instal Node.js

Selanjutnya, Anda perlu menginstal Node.js ke sistem Anda. Secara default, versi terbaru Node.js tidak tersedia di repositori default Ubuntu 20.04. Jadi, Anda perlu menambahkan repositori Node.js ke sistem Anda. Anda dapat menambahkannya dengan perintah berikut:

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

Setelah repositori ditambahkan, instal Node.js versi terbaru dengan perintah berikut:

apt-get install nodejs -y

Setelah menginstal Node.js, verifikasi versi Node.js yang diinstal dengan perintah berikut:

node -v

Anda akan mendapatkan output berikut:

v12.19.0

Instal dan Konfigurasi PostgreSQL

Taiga menggunakan server PostgreSQL sebagai backend database. Jadi, Anda perlu menginstalnya di sistem Anda. Pertama, tambahkan kunci GPG PostgreSQL dengan perintah berikut:

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

Selanjutnya, tambahkan repositori PostgreSQL dengan perintah berikut:

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

Selanjutnya, perbarui repositori dan instal PostgreSQL versi terbaru dengan perintah berikut:

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

Selanjutnya, ubah kata sandi PostgreSQL dengan perintah berikut:

passwd postgres

Anda akan mendapatkan output berikut:

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

Selanjutnya, alihkan pengguna ke postgres dan buat pengguna untuk Taiga:

su - postgres
[email protected]:~$ createuser taiga

Selanjutnya, login ke shell PostgreSQL dengan perintah berikut:

[email protected]:~$ psql

Keluaran:

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

Setelah login, buat user dan database dengan perintah berikut:

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

Selanjutnya, keluar dari shell PostgreSQL dan pengguna dengan perintah berikut:

postgres=# \q
[email protected]:~$ exit

Instal RabbitMQ dan Redis

Taiga menggunakan RabbitMQ sebagai perantara pesan dan Redis untuk caching. Jadi, Anda perlu menginstal kedua paket di sistem Anda. Anda dapat menginstal kedua paket dengan perintah berikut:

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

Selanjutnya, buat user baru dan virtual host untuk RabbitMQ dengan perintah berikut:

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

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal dan Konfigurasi Taiga Backend

Pertama, buat pengguna terpisah untuk Taiga dengan perintah berikut:

adduser taiga

Selanjutnya, tambahkan pengguna Taiga ke grup sudo menggunakan perintah berikut:

adduser taiga sudo

Selanjutnya, ubah pengguna menjadi taiga dan buat direktori untuk menyimpan log taiga:

su - taiga
mkdir -p ~/logs

Selanjutnya, unduh backend Taiga dari repositori Git dengan perintah berikut:

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

Selanjutnya, ubah direktori ke direktori yang diunduh dan periksa cabang terbaru:

cd taiga-back
git checkout stable

Selanjutnya, aktifkan perintah mkvirtualenv dengan perintah berikut:

nano ~/.bashrc

Tambahkan baris berikut:

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

Aktifkan profil baru dengan perintah berikut:

source ~/.bashrc

Selanjutnya, buat lingkungan virtual Python untuk Taiga:

mkvirtualenv -p /usr/bin/python3 taiga_venv

Selanjutnya, instal semua dependensi yang diperlukan dengan perintah berikut:

pip3 install -r requirements.txt

Selanjutnya, migrasi dan muat data dengan perintah berikut:

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

Selanjutnya, Anda perlu mengedit file local.py dan menentukan pengaturan aplikasi dan database Anda:

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

Tambahkan baris berikut:

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 = "[email protected]"
SERVER_EMAIL = DEFAULT_FROM_EMAIL

#CELERY_ENABLED = True

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

Simpan dan tutup file, lalu jalankan server backend Taiga dengan perintah berikut:

workon taiga_venv
python manage.py runserver

Setelah server berhasil dimulai, Anda akan mendapatkan output berikut:

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.

Tekan CTRL + C untuk menghentikan server.

Selanjutnya, nonaktifkan lingkungan virtual dengan perintah berikut:

deactivate

Instal dan Konfigurasikan Taiga Forntend

Pertama, ubah pengguna ke Taiga dan unduh versi terbaru dari frontend Taiga dari repositori Git:

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

Ubah direktori ke direktori yang diunduh dan periksa cabang stabil terbaru dengan perintah berikut:

cd taiga-front-dist
git checkout stable

Selanjutnya, salin file konfigurasi sampel dengan perintah berikut:

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

Selanjutnya, edit file konfigurasi dengan perintah berikut:

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

Ubah baris berikut:

{
    "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"]
}

Simpan dan tutup file setelah Anda selesai.

Instal dan Konfigurasikan Acara Taiga

Selanjutnya, buka direktori home Anda dan unduh versi terbaru acara Taiga dengan perintah berikut:

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

Selanjutnya, ubah direktori ke direktori yang diunduh dan instal semua modul NPM dengan perintah berikut:

cd taiga-events
npm install

Selanjutnya, salin file konfigurasi sampel dengan perintah berikut:

cp config.example.json config.json

Selanjutnya, edit file config.json dan atur URL rabbitmq dan kunci rahasianya::

nano config.json

Tambahkan / ubah baris berikut:

{
    "url": "amqp://taiga:[email protected]:5672/taiga",
    "secret": "OQOEJNSJIQHDBQNSUQEJSNNANsqQPAASQLSMSOQND",
    "webSocketServer": {
        "port": 8888
    }
}

Simpan dan tutup file kemudian logout dari pengguna Taiga dengan perintah berikut:

exit

Buat File Layanan Systemd

Selanjutnya, Anda perlu membuat file layanan systemd untuk acara Taiga dan Taiga. Pertama, buat file layanan systemd untuk acara Taiga dengan perintah berikut:

nano /etc/systemd/system/taiga_events.service

Tambahkan baris berikut:

[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

Simpan dan tutup file kemudian muat ulang layanan systemd dengan perintah berikut:

systemctl daemon-reload

Selanjutnya, mulai layanan acara Taiga dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:

systemctl start taiga_events
systemctl enable taiga_events

Selanjutnya, buat file layanan systemd untuk Taiga dengan perintah berikut:

nano /etc/systemd/system/taiga.service

Tambahkan baris berikut:

[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

Simpan dan tutup file kemudian muat ulang layanan systemd dengan perintah berikut:

systemctl daemon-reload

Selanjutnya, mulai layanan Taiga dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:

systemctl start taiga
systemctl enable taiga

Selanjutnya, verifikasi status event Taiga dan layanan Taiga dengan perintah berikut:

systemctl status taiga_events taiga

Anda akan melihat output berikut:

? 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...

Konfigurasikan Nginx sebagai Proxy Terbalik

Sebaiknya konfigurasikan Nginx sebagai proxy terbalik untuk Taiga. Pertama, instal Nginx dengan perintah berikut:

apt-get install nginx -y

Setelah terinstal, buat file konfigurasi virtual host Nginx dengan perintah berikut:

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

Tambahkan baris berikut:

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;
    }
}

Simpan dan tutup file kemudian restart Nginx untuk menerapkan perubahan:

systemctl restart nginx

Mengakses UI Web Tails

Sekarang, buka browser web Anda dan akses antarmuka web Taiga menggunakan URL http://taiga.example.com . Anda akan diarahkan ke halaman berikut:

Klik Masuk tombol. Anda akan diarahkan ke halaman berikut:

Berikan nama pengguna default sebagai admin dan sandi sebagai 123123 klik MASUK tombol. Anda akan melihat dasbor Taiga di halaman berikut:

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengonfigurasi alat manajemen proyek Taiga dengan Nginx di Ubuntu 20.04. Sekarang Anda dapat menerapkan Taiga di lingkungan pengembangan Anda dan mulai mengerjakannya.


Ubuntu
  1. Instal Perangkat Lunak Manajemen Proyek Agile Taiga.io di Ubuntu 16.04

  2. Cara Menginstal Logstash di Ubuntu 18.04

  3. Cara menginstal Manajemen Proyek Taiga di CentOS 8

  1. Cara Menginstal OpenProject di Ubuntu 16.04

  2. Cara Menginstal Sistem Manajemen Aset Ralph di Ubuntu 20.04

  3. Cara Menginstal Alat Manajemen Proyek GitScrum Agile di Ubuntu 20.04 LTS

  1. Cara Menginstal Sistem Pesan Tim Mattermost di Ubuntu 20.04

  2. Cara Menginstal Alat Manajemen Proyek Jira Agile di Ubuntu 20.04

  3. Cara menginstal Perangkat Lunak Manajemen Proyek Redmine di Ubuntu 20.04