GNU/Linux >> Belajar Linux >  >> Ubuntu

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

Taiga.io adalah sistem manajemen proyek sumber terbuka untuk pengembang, perancang, dan manajer proyek yang gesit. Ini adalah alat manajemen proyek yang indah yang dapat menangani proyek sederhana dan kompleks untuk pemula, pengembang perangkat lunak, dll.

Platform Taiga memiliki tiga komponen utama, dan setiap komponen memiliki ketergantungannya sendiri.

  1. taiga-back :Backend aplikasi yang menyediakan API. Ditulis dalam Python dan Django.
  2. taiga-front-dist :Taiga Frontend ditulis dalam AngularJS dan CoffeeScript.
  3. acara-taiga :Server Taiga WebSocket untuk menampilkan perubahan waktu nyata dalam aplikasi. Dan menggunakan RabbitMQ sebagai perantara pesan.

Dalam tutorial ini, saya akan menunjukkan kepada Anda langkah demi langkah cara menginstal alat manajemen proyek Taiga.io di server Ubuntu 16.04. Kita akan mempelajari cara menyiapkan server Ubuntu untuk instalasi Taiga.io.

Prasyarat

  • Ubuntu 16.04
  • Keistimewaan Root

Apa yang akan kami lakukan

  1. Instal Prasyarat
  2. Tambahkan Pengguna Taiga
  3. Instal dan Konfigurasikan Taiga Backend
  4. Instal dan Konfigurasikan Taiga Frontend
  5. Menginstal dan Mengonfigurasi Acara Taiga
  6. Mengonfigurasi Sirkus dan Gunicorn
  7. Konfigurasi Taiga Nginx Virtualhost
  8. Pengujian

Langkah 1 - Instal Prasyarat

Sebelum menginstal semua komponen Taiga.io, kita perlu mempersiapkan sistem dengan menginstal paket-paket yang diperlukan. Pada langkah pertama ini, kita akan menginstal paket yang diperlukan untuk semua komponen dan modul Taiga, termasuk Nginx, RabitMQ, Redis dll.

Untuk memulainya, perbarui repositori dan perbarui sistem.

sudo apt update
sudo apt upgrade -y

- Instal Dependensi

Paket-paket berikut akan digunakan untuk mengkompilasi beberapa modul python. Jalankan perintah apt di bawah ini untuk menginstal semuanya di sistem.

sudo apt install -y build-essential binutils-doc autoconf flex bison libjpeg-dev libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev automake libtool libffi-dev curl git tmux gettext

- Instal Nginx

Taiga.io adalah alat aplikasi berbasis web. Itu berjalan di server web. Dan untuk panduan ini, kita akan menggunakan server web Nginx untuk instalasi.

Instal Nginx menggunakan perintah apt di bawah ini.

sudo apt install nginx -y

Setelah penginstalan selesai, mulai layanan Nginx dan aktifkan untuk diluncurkan saat boot sistem, sesuatu yang dapat Anda lakukan menggunakan perintah systemctl.

systemctl start nginx
systemctl enable nginx

Sekarang periksa menggunakan netstat dan pastikan port HTTP ada dalam daftar.

netstat -plntu

- Instal Redis dan RabbitMQ

Ini adalah paket opsional jika Anda tidak ingin notifikasi asinkron. Instal Redis dan RabbitMQ menggunakan perintah apt di bawah ini.

sudo apt install -y redis-server rabbitmq-server

Setelah penginstalan selesai, mulai layanan redis dan rabbitmq dan tambahkan layanan tersebut ke waktu boot.

systemctl start redis

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

Selanjutnya, kita perlu membuat pengguna baru dan host virtual bernama 'taiga' untuk RabbitMQ - ini akan digunakan untuk 'taiga-events'.

Jalankan perintah di bawah ini untuk membuat pengguna baru dan vhost bernama taiga dengan kata sandi 'aqwe123', lalu setel izin untuk pengguna 'taiga'.

sudo rabbitmqctl add_user taiga aqwe123
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"

- Instal Python

'taiga-back' dibuat dengan Django Web Framework, dan menggunakan 'Python 3.5'. Jadi kita perlu menginstal Python 3.5 pada sistem.

Jalankan perintah berikut untuk menginstal Python 3.5 dengan semua dependensi yang diperlukan.

sudo apt install -y python3 python3-pip python-dev python3-dev python-pip virtualenvwrapper libxml2-dev libxslt-dev

- Instal Sirkus

Circus adalah manajer proses dan manajer soket. Ini dapat digunakan untuk memantau dan mengontrol proses dan soket pada sistem Linux.

Untuk panduan ini, kami akan menggunakan sirkus untuk mengelola proses 'taiga-events' yang dibuat dengan CoffeeScript.

Instal sirkus dengan perintah apt di bawah ini.

sudo apt install -y circus

Setelah penginstalan selesai, jalankan layanan 'circusd' dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start circusd
systemctl enable circusd

Sekarang periksa layanan menggunakan perintah berikut.

systemctl status circusd
circusctl status

Dan Anda akan mendapatkan hasil seperti di bawah ini.

- Instal dan Konfigurasikan Database PostgreSQL

Taiga.io menggunakan PostgreSQL sebagai database, dan komponen 'taiga-back' menggunakan PostgreSQL (>=9.4) sebagai database.

Instal PostgreSQL 9.5 dengan menjalankan perintah apt berikut.

sudo apt install -y postgresql-9.5 postgresql-contrib-9.5
sudo apt install -y postgresql-doc-9.5 postgresql-server-dev-9.5

Jika instalasi database selesai, mulai layanan PostgreSQL dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start postgresql
systemctl enable postgresql

Selanjutnya, kita akan membuat database dan pengguna baru untuk instalasi Taiga.io.

Masuk ke pengguna 'postgres'.

su - postgres

Buat database baru dan nama pengguna 'taiga' menggunakan perintah di bawah ini.

createuser taiga
createdb taiga -O taiga

Basis data PostgreSQL telah diinstal, dan basis data untuk Taiga.io telah dibuat.

- Instal Nodejs

Node diperlukan oleh 'taiga-events' - tambahkan repositori nodejs nodesource dan instal dengan perintah apt.

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install -y nodejs

Semua paket yang diperlukan untuk instalasi Taiga.io telah berhasil diinstal.

Langkah 2 - Tambahkan Pengguna Baru Taiga

Pada langkah ini, kita akan membuat pengguna sistem baru bernama 'taiga', lalu menambahkannya ke grup sudo.

Jalankan perintah untuk membuat pengguna 'taiga' baru.

useradd -m -s /bin/bash taiga
passwd taiga

Sekarang tambahkan pengguna 'taiga' ke grup 'sudo'.

usermod -a -G sudo taiga

Sekarang login sebagai 'taiga' dan coba gunakan perintah sudo.

su - taiga
sudo su

Ketik kata sandi Anda dan pastikan Anda mendapatkan hak akses root.

Pengguna 'taiga' baru telah dibuat.

Langkah 3 - Konfigurasikan Taiga Backend

Taiga-back adalah backend dari Taiga.io yang menyediakan API. Itu ditulis dalam Python dan Django Web Framework.

Pada langkah ini, kita akan menginstal dan mengonfigurasi komponen taiga 'taiga-back' sebagai backend yang menyediakan API.

Masuk ke pengguna 'taiga' dan unduh kode sumber 'taiga-back' dari GitHub.

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

Sekarang buka direktori 'taiga-back' dan ubah cabang menjadi cabang 'stabil'.

cd taiga-back/
git checkout stable

Selanjutnya, kita perlu membuat lingkungan python baru 'taiga' menggunakan virtualenv.

mkvirtualenv -p /usr/bin/python3.5 taiga

Masuk ke lingkungan virtual 'taiga' baru dan instal semua modul python yang dibutuhkan oleh 'taiga-back' menggunakan perintah pip seperti yang ditunjukkan di bawah ini.

workon taiga
pip install -r requirements.txt

Setelah instalasi semua modul yang diperlukan selesai, kita perlu mengisi database dengan data dasar awal.

Jalankan semua perintah inisialisasi di bawah ini.

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

Perintah akan secara otomatis membuat akun administrator 'admin ' dengan sandi '123123 '.

Selanjutnya, buat konfigurasi baru untuk 'taiga-back' menggunakan vim.

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

Tempelkan konfigurasi berikut di sana.

from .common import *

MEDIA_URL = "http://taiga.hakase-labs.co/media/"
STATIC_URL = "http://taiga.hakase-labs.co/static/"
SITES["front"]["scheme"] = "http"
SITES["front"]["domain"] = "taiga.hakase-labs.co"

SECRET_KEY = "myverysecretkey"

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

# Uncomment and populate with proper connection parameters
# for enable email sending. EMAIL_HOST_USER should end by @domain.tld
#EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
#EMAIL_USE_TLS = False
#EMAIL_HOST = "localhost"
#EMAIL_HOST_USER = ""
#EMAIL_HOST_PASSWORD = ""
#EMAIL_PORT = 25

# Uncomment and populate with proper connection parameters
# for enable github login/singin.
#GITHUB_API_CLIENT_ID = "yourgithubclientid"
#GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"

Simpan dan keluar.

Catatan:

  • Ubah 'MEDIA_URL' dan 'STATIC_URL' dengan nama domain Anda sendiri.
  • Ubah 'SECRET_KEY' dengan kunci rahasia Anda sendiri.
  • Ubah nilai sandi EVENTS_PUSH_BACKEND_OPTIONS ke nilai RabbitMQ Anda sendiri. Untuk panduan ini, kami menggunakan kata sandi 'aqwe123'.

Sekarang uji 'taiga-back' dengan perintah di bawah ini.

workon taiga
python manage.py runserver 0.0.0.0:8000

Perintah akan menjalankan taiga-back di bawah IP publik server dengan port 8000.

Buka browser web dan kunjungi alamat berikut. Milik saya adalah:http://192.168.33.10:8000/api/v1/

Dan Anda harus mendapatkan 'taiga-back' API dengan format JSON seperti di bawah ini.

Instalasi dan konfigurasi 'taiga-back' sebagai backend telah selesai.

Langkah 4 - Konfigurasikan Taiga Frontend

Pada langkah ini, kita akan mengunduh dan mengkonfigurasi frontend taiga. Frontend akan menangani semua antarmuka taiga.

Login sebagai pengguna taiga.

su - taiga

Unduh skrip 'taiga-front-dist' menggunakan perintah git.

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

Setelah ini, buka direktori 'taiga-front-dist' dan ubah cabang menjadi 'stable'.

cd taiga-front-dist/
git checkout stable

Sekarang salin contoh konfigurasi 'taiga-front-dist' ke 'conf.json' dan edit menggunakan editor vim.

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

Buat semua konfigurasi seperti di bawah ini dan ubah 'api' dan 'eventsUrl' dengan nama domain Anda sendiri.

{
    "api": "http://taiga.hakase-labs.co/api/v1/",
    "eventsUrl": "ws://taiga.hakase-labs.co/events",
    "debug": "true",
    "publicRegisterEnabled": true,
    "feedbackEnabled": true,
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": []
}

Simpan dan keluar.

Konfigurasi frontend Taiga telah selesai.

Langkah 5 - Konfigurasikan Acara Taiga

Taiga-events adalah server WebSocket yang memungkinkan Anda menampilkan perubahan waktu nyata di Dasbor Taiga.io, dan menggunakan RabbitMQ sebagai perantara pesan. Pada langkah ini, kita akan mengunduh dan mengonfigurasi 'taiga-events'.

Masuk sebagai pengguna 'taiga'.

su - taiga

Unduh kode sumber 'taiga-events' dari GitHub menggunakan perintah git dan buka direktori 'taiga-events'.

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

Sekarang instal semua modul javascript yang dibutuhkan oleh 'taiga-events' menggunakan npm dan kemudian instal paket 'coffee-script' ke sistem.

npm install
sudo npm install -g coffee-script

Selanjutnya, salin konfigurasi default 'taiga-events' ke 'config.json' dan edit menggunakan editor vim.

cp config.example.json config.json
vim config.json

Buat konfigurasi seperti di bawah ini.

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

Simpan dan keluar.

Catatan:

  • Ubah nilai 'url' dengan pengguna dan sandi rabbitmq Anda sendiri.
  • Untuk nilai 'secret', pastikan cocok dengan 'SECRET_KEY' di 'local.py' file konfigurasi 'taiga-back'.

Konfigurasi acara Taiga telah selesai.

Langkah 6 - Konfigurasikan Circus dan Gunicorn

Circus akan digunakan untuk mengontrol dan mengelola proses 'taiga-back' dan 'taiga-events'. 'taiga-events' berjalan sebagai skrip kopi, dan 'taiga-back' berjalan di bawah Gunicorn.

Pada langkah ini, kami akan menambahkan acara taiga dan taiga-bac baru ke sirkus.

Untuk 'taiga-events', buat file baru 'taiga-events.ini' menggunakan vim.

vim /etc/circus/conf.d/taiga-events.ini

Tempelkan konfigurasi di bawah.

[watcher:taiga-events]
working_dir = /home/taiga/taiga-events
cmd = /usr/bin/coffee
args = index.coffee
uid = taiga
numprocesses = 1
autostart = true
send_hup = true
stdout_stream.class = FileStream
stdout_stream.filename = /home/taiga/logs/taigaevents.stdout.log
stdout_stream.max_bytes = 10485760
stdout_stream.backup_count = 12
stderr_stream.class = FileStream
stderr_stream.filename = /home/taiga/logs/taigaevents.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 12

Simpan dan keluar.

Dan untuk taiga-back, buat file baru 'taiga.ini'.

vim /etc/circus/conf.d/taiga.ini

Tempelkan konfigurasi berikut di sana.

[watcher:taiga]
working_dir = /home/taiga/taiga-back
cmd = gunicorn
args = -w 3 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi
uid = taiga
numprocesses = 1
autostart = true
send_hup = true
stdout_stream.class = FileStream
stdout_stream.filename = /home/taiga/logs/gunicorn.stdout.log
stdout_stream.max_bytes = 10485760
stdout_stream.backup_count = 4
stderr_stream.class = FileStream
stderr_stream.filename = /home/taiga/logs/gunicorn.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 4

[env:taiga]
PATH = /home/taiga/.virtualenvs/taiga/bin:$PATH
TERM=rxvt-256color
SHELL=/bin/bash
USER=taiga
LANG=en_US.UTF-8
HOME=/home/taiga
PYTHONPATH=/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages

Simpan dan keluar.

Selanjutnya, kita perlu membuat direktori 'logs' baru untuk proses 'taiga-events' dan 'taiga-back'.

su - taiga
mkdir -p ~/logs

Sekarang restart layanan sirkus dan periksa semua proses yang tersedia.

systemctl restart circusd
circusctl status

Dan pastikan 'taiga-events' dan 'taiga-back' aktif pada daftar proses, seperti yang ditunjukkan di bawah ini.

Langkah 7 - Konfigurasikan Taiga Nginx Virtual Host

Pada langkah ini, kita akan mengkonfigurasi virtual host Nginx untuk Taiga.io. Kami akan membuat file host virtual baru di bawah direktori 'conf.d' untuk instalasi Taiga.io kami.

Buka direktori konfigurasi nginx dan hapus file host virtual 'default'.

cd /etc/nginx/
sudo rm -f sites-enabled/default

Sekarang buat file host virtual baru 'taiga.conf' di bawah direktori 'conf.d'.

vim /etc/nginx/conf.d/taiga.conf

Tempelkan konfigurasi berikut di sana.

server {
    listen 80 default_server;
    server_name _;

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

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

    # Taiga-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 keluar.

Sekarang jalankan uji konfigurasi nginx dan pastikan tidak ada kesalahan. Kemudian restart layanan server web.

nginx -t
systemctl restart nginx

Konfigurasi virtual host Nginx untuk Taiga.io telah selesai.

Langkah 8 - Pengujian

Buka browser web Anda dan kunjungi nama domain Taiga.io. Milik saya adalah:http://taiga.hakase-labs.co

Dan Anda akan mendapatkan halaman utama taiga default.

Sekarang klik tombol 'Login' di kanan atas dan Anda akan mendapatkan halaman login admin.

Masuk dengan pengguna default 'admin ' dan sandi '123123 '.

Dan Anda akan mendapatkan hasil seperti di bawah ini.

Selanjutnya kita akan mereset password default admin.

Klik tombol 'administrator' di kanan atas, lalu klik 'Ubah Kata Sandi'.

Sekarang ketikkan kata sandi lama '123123' dan kata sandi baru sesuai keinginan Anda, lalu klik 'Simpan'.

Instalasi dan konfigurasi untuk Taiga.io di Ubuntu 16.04 telah berhasil diselesaikan.


Ubuntu
  1. Cara Menginstal Perangkat Lunak Manajemen Proyek Taiga.io di CentOS 7

  2. Cara Menginstal Perangkat Lunak Manajemen Proyek MyCollab di CentOS 7

  3. Cara menginstal Manajemen Proyek Taiga di CentOS 8

  1. Cara menginstal Perangkat Lunak ERP Odoo di Ubuntu 15.04

  2. Cara menginstal Perangkat Lunak ERP Odoo di Ubuntu 16.04

  3. Cara Menginstal Alat Manajemen Proyek Trac di Ubuntu 18.04 LTS

  1. Cara Menginstal Alat Manajemen Proyek Redmine di Ubuntu 18.04 LTS

  2. Cara Menginstal Perangkat Lunak Manajemen Proyek Kanboard di Debian 10

  3. Cara Menginstal Perangkat Lunak Manajemen Acara Attendize di Ubuntu 18.04 LTS