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.