Pasang Perisian Pengurusan Proga Taiga.io pada Ubuntu 16.04

Taiga.io adalah sistem pengurusan projek sumber terbuka untuk pemaju, pereka tangkapan, dan pengurus projek. Ia adalah alat pengurusan projek yang indah yang boleh mengendalikan kedua-dua projek mudah dan rumit untuk startup, pemaju perisian dan lain-lain.

Platform Taiga mempunyai tiga komponen utama, dan setiap komponen mempunyai kebergantungan sendiri.

  1. taiga-back: Backend aplikasi yang menyediakan API. Ditulis dalam Python dan Django.
  2. taiga-depan-dist: Taiga Frontend ditulis dalam AngularJS dan CoffeeScript.
  3. taiga-events: Pelayan WebSocket Taiga untuk menunjukkan perubahan masa nyata dalam aplikasi. Dan menggunakan RabbitMQ sebagai broker mesej.

Dalam tutorial ini, saya akan menunjukkan kepada anda step-by-step cara memasang alat pengurusan projek Taiga.io pada pelayan Ubuntu 16.04. Kami akan mempelajari bagaimana menyediakan pelayan Ubuntu untuk pemasangan Taiga.io.

Prasyarat

  • Ubuntu 16.04
  • Keistimewaan Root

Apa yang akan kita lakukan

  1. Pasang Prasyarat
  2. Tambah Pengguna Taiga
  3. Pasang dan Konfigurkan Taiga Backend
  4. Pasang dan Konfigurasikan Taiga Frontend
  5. Pasang dan Konfigurasikan Acara Taiga
  6. Konfigurasikan Circus dan Gunicorn
  7. Konfigurasi Taiga Nginx Virtualhost
  8. Ujian

Langkah 1 - Pasang Prasyarat

Sebelum memasang semua komponen Taiga.io, kita perlu menyediakan sistem dengan memasang pakej yang diperlukan. Dalam langkah pertama ini, kami akan memasang pakej yang diperlukan untuk semua komponen dan modul Taiga, termasuk Nginx, RabitMQ, Redis dan lain-lain.

Untuk bermula, kemas kini repositori dan tingkatkan sistem.

kemas kini sudo apt
sudo apt upgrade -y

- Pasang Ketergantungan

Pakej berikut akan digunakan untuk menyusun beberapa modul python. Jalankan arahan yang betul di bawah untuk memasang semua pada 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

- Pasang Nginx

Taiga.io adalah alat aplikasi berasaskan web. Ia berjalan di pelayan web. Dan untuk panduan ini, kami akan menggunakan pelayan web Nginx untuk pemasangan.

Pasang Nginx menggunakan arahan apt di bawah.

sudo apt install nginx -y

Selepas pemasangan selesai, mulakan perkhidmatan Nginx dan dayakannya dilancarkan pada boot sistem, sesuatu yang boleh anda lakukan menggunakan perintah systemctl.

systemctl start nginx
systemctl enable nginx

Sekarang periksa menggunakan netstat dan pastikan pelabuhan HTTP berada dalam senarai.

netstat -plntu

Nginx berjaya dipasang

- Pasang Redis dan RabbitMQ

Ini adalah pakej pilihan jika anda tidak mahu pemberitahuan async. Pasang Redis dan RabbitMQ menggunakan arahan apt di bawah.

sudo apt install -y redis-server rabbitmq-server

Selepas pemasangan selesai, mulakan perkhidmatan redis dan rabbitmq dan tambahkan perkhidmatan tersebut pada masa boot.

sistematik mula redis
systemctl start rabbitmq-server
systemctl enable rabbitmq-server

Seterusnya, kita perlu membuat pengguna baru dan tuan rumah maya yang dinamakan 'taiga' untuk RabbitMQ - ia akan digunakan untuk 'taiga-events'.

Jalankan perintah di bawah untuk membuat pengguna baru dan vhost bernama taiga dengan kata laluan 'aqwe123', kemudian tetapkan kebenaran untuk pengguna 'taiga'.

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

Pasang Redis dan RabbitMQ

- Pasang Python

'taiga-back' dibuat dengan Django Web Framework, dan ia menggunakan 'Python 3.5'. Oleh itu, kita perlu memasang Python 3.5 pada sistem.

Jalankan arahan berikut untuk memasang Python 3.5 dengan semua ketergantungan yang diperlukan.

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

- Pasang Sirkus

Circus adalah pengurus proses dan pengurus soket. Ia boleh digunakan untuk memantau dan mengendalikan proses dan soket pada sistem Linux.

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

Pasang sarkas dengan arahan yang sesuai di bawah.

sudo apt memasang sarkas

Selepas pemasangan selesai, mulakan perkhidmatan 'sirkus' dan membolehkan pelancaran setiap kali pada boot sistem.

systemctl start circusd
systemctl membolehkan sirkus

Sekarang semak perkhidmatan menggunakan arahan berikut.

sistematik status sirkus
status circusctl

Dan anda akan mendapat keputusan seperti di bawah.

Pasang Syurga

- Pasang dan Konfigurasikan Pangkalan Data PostgreSQL

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

Pasang PostgreSQL 9.5 dengan menjalankan perintah 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 pemasangan pangkalan data selesai, mulakan perkhidmatan PostgreSQL dan membolehkannya dilancarkan setiap kali pada boot sistem.

systemctl start postgresql
systemctl enabled postgresql

Seterusnya, kami akan membuat pangkalan data dan pengguna baru untuk pemasangan Taiga.io.

Masuk ke pengguna 'postgres'.

su - postgres

Buat pangkalan data baru dan pengguna bernama 'taiga' dengan menggunakan arahan di bawah.

pembuat taiga
createdb taiga -O taiga

Pangkalan data PostgreSQL telah dipasang, dan pangkalan data untuk Taiga.io telah dibuat.

Konfigurasikan Postgres

- Pasang Nodej

Node diperlukan oleh 'taiga-events' - tambah repositori nodesjs nodesource dan pasang dengan perintah apt.

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

Semua pakej yang diperlukan untuk pemasangan Taiga.io telah berjaya dipasang.

Langkah 2 - Tambah Taiga Pengguna Baru

Dalam langkah ini, kami akan mencipta pengguna sistem baru bernama 'taiga', dan kemudian menambahnya ke kumpulan sudo.

Jalankan arahan untuk mencipta pengguna 'taiga' baharu.

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

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

usermod -a -G sudo taiga

Kini log masuk sebagai 'taiga' dan cuba gunakan perintah sudo.

su - taiga
sudo su

Taip kata laluan anda dan pastikan anda mendapat keistimewaan root.

Tambah pengguna taiga

Pengguna 'taiga' telah dibuat.

Langkah 3 - Konfigurasi Taiga Backend

Taiga-back adalah backend Taiga.io yang menyediakan API. Ia ditulis dalam Rangka Kerja Python dan Django.

Dalam langkah ini, kami akan memasang dan mengkonfigurasi komponen 'taiga-back' taiga sebagai backend yang menyediakan API.

Masuk ke pengguna 'taiga' dan muat turun kod sumber 'taiga-back' dari GitHub.

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

Sekarang pergi ke direktori 'taiga-back' dan tukar cawangan ke cawangan 'stabil'.

cd taiga-back /
checkout git stabil

Seterusnya, kita perlu membuat persekitaran python baru 'taiga' menggunakan virtualenv.

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

Konfigurasikan Taiga Backend

Log masuk ke persekitaran maya 'taiga' baru dan pasang semua modul python yang diperlukan oleh 'taiga-back' menggunakan arahan pip seperti ditunjukkan di bawah.

workon taiga
paip memasang -r requirements.txt

Selepas pemasangan semua modul yang diperlukan selesai, kita perlu mengisi pangkalan data dengan data asas awal.

Jalankan semua arahan permulaan di bawah.

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 membuat akaun pentadbir secara automatik 'admin'dengan kata laluan'123123'.

Seterusnya, buat konfigurasi baharu untuk menggunakan 'taiga-back' VIM.

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

Tampalkan konfigurasi berikut di sana.

dari import biasa. * MEDIA_URL = "http://taiga.hakase-labs.co/media/" STATIC_URL = "http://taiga.hakase-labs.co/static/" SITES ["front"] ["skema "" "http" SITES ["front"] ["domain"] = "taiga.hakase-labs.co" SECRET_KEY = "myverysecretkey" DEBUG = False PUBLIC_REGISTER_ENABLED = Benar DEFAULT_FROM_EMAIL = "[email protected]" SERVER_EMAIL = DEFAULT_FROM_EMAIL # CELERY_ENABLED = Benar EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend" EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp: // taiga: [email protected]: 5672 / taiga"} # Uncomment and populate with parameters connection properly # for membolehkan penghantaran e-mel. EMAIL_HOST_USER harus ditamatkan oleh @ domain.tld #EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" #EMAIL_USE_TLS = Palsu #EMAIL_HOST = "localhost" #EMAIL_HOST_USER = "" #EMAIL_HOST_PASSWORD = "" #EMAIL_PORT = 25 # Pengumuman dan mengisi dengan parameter sambungan yang betul # untuk mendayakan login / singin github. #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.
  • Tukar 'SECRET_KEY' dengan kunci rahsia anda sendiri.
  • Tukar nilai kata laluan EVENTS_PUSH_BACKEND_OPTIONS ke nilai RabbitMQ anda sendiri. Untuk panduan ini, kami menggunakan kata laluan 'aqwe123'.

Sekarang ujian 'taiga-back' dengan arahan di bawah.

workon taiga
python manage.py runserver 0.0.0.0: 8000

Perintah akan menjalankan taiga-back di bawah IP awam pelayan dengan port 8000.

jalankan taiga-back di bawah IP awam pelayan

Buka penyemak imbas web dan lawati alamat berikut. Saya adalah: http://192.168.33.10:8000/api/v1/

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

API dalam format json

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

Langkah 4 - Konfigurasikan Taiga Frontend

Dalam langkah ini, kami akan memuat turun dan mengkonfigurasi tayur depan. Frontend akan mengendalikan semua antara muka taiga.

Log masuk sebagai pengguna taiga.

su - taiga

Muat turun skrip 'taiga-depan-dist' dengan menggunakan arahan git.

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

Selepas ini, pergi ke direktori 'taiga-depan-dist' dan tukar cawangan menjadi 'stabil'.

cd taiga-depan-dist /
checkout git stabil

Sekarang salin sampel konfigurasi 'taiga-depan-dist' ke 'conf.json' dan editnya menggunakan editor vim.

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

Buat semua konfigurasi seperti di bawah 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.

Konfigurasikan Taiga Frontend

Konfigurasi depan Taiga telah selesai.

Langkah 5 - Konfigurasi Acara Taiga

Acara Taiga adalah pelayan WebSocket yang membolehkan anda menunjukkan perubahan masa nyata dalam Papan Pemuka Taiga.io, dan menggunakan RabbitMQ sebagai broker mesej. Dalam langkah ini, kami akan memuat turun dan mengkonfigurasi 'taiga-events'.

Log masuk sebagai pengguna 'taiga'.

su - taiga

Muat turun kod sumber 'taiga-events' dari GitHub menggunakan arahan git dan pergi ke direktori 'taiga-events'.

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

Sekarang pasang semua modul javascript yang diperlukan oleh 'taiga-events' menggunakan npm dan kemudian pasangkan pakej 'skrip kopi' ke sistem.

npm memasang
sudo npm install -g coffee-script

Konfigurasikan acara Taiga

Seterusnya, salin konfigurasi lalai 'taiga-events' ke 'config.json' dan editnya menggunakan editor vim.

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

Jadikan konfigurasi seperti di bawah.

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

Simpan dan keluar.

Catatan:

  • Tukar nilai 'url' dengan pengguna dan kata laluan rabbitmq anda sendiri.
  • Untuk nilai 'rahsia', pastikan ia sepadan dengan 'SECRET_KEY' pada 'local.py' fail konfigurasi 'taiga-back'.

Konfigurasi acara Taiga telah selesai.

Langkah 6 - Konfigurasikan Circus dan Gunicorn

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

Dalam langkah ini, kami akan menambah taiga-events dan taiga-bac baru kepada sirkus.

Untuk 'taiga-events', buat fail 'taiga-events.ini' dengan menggunakan vim.

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

Tampal konfigurasi di bawah.

[watcher: taiga-events] work_dir = / home / taiga / taiga-events cmd = / usr / bin / args coffee = 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 fail baru 'taiga.ini'.

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

Tampalkan 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 /

Simpan dan keluar.

Seterusnya, kita perlu mencipta direktori 'log' baru untuk proses 'taiga-events' dan 'taiga-back'.

su - taiga
mkdir -p ~ / log

Sekarang mulakan semula perkhidmatan sirkus dan periksa semua proses yang ada.

systemctl restart circusd
status circusctl

Dan pastikan 'taiga-events' dan 'taiga-back' aktif dalam senarai proses, seperti ditunjukkan di bawah.

Konfigurasikan Circus dan Gunicorn

Langkah 7 - Konfigurasi Taiga Nginx Virtual Host

Dalam langkah ini, kami akan mengkonfigurasi tuan rumah maya Nginx untuk Taiga.io. Kami akan mencipta fail hos maya baru di bawah direktori 'conf.d' untuk pemasangan Taiga.io kami.

Pergi ke direktori konfigurasi nginx dan padamkan fail tuan rumah 'default'.

cd / etc / nginx /
sudo rm -f enabled laman / lalai

Sekarang buat fail tuan rumah maya 'taiga.conf' di bawah direktori 'conf.d'.

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

Tampalkan konfigurasi berikut di sana.

pelayan {mendengar default default 80; nama pelayan _; big_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; # Lokasi frontend / {root / home / taiga / taiga-depan-dist / dist /; try_files $ uri $ uri / /index.html; } # Backend lokasi / api {proxy_set_header Host $ http_host; proxy_set_header X-Real-IP $ remote_addr; skim $ Skim proksi_set_header; proxy_set_header X-Forwarded-Proto $ skema; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_pass http: // 127.0.0.1: 8001 / api; proksi_redirect; } # Django akses admin (/ admin /) lokasi / admin {proxy_set_header Host $ http_host; proxy_set_header X-Real-IP $ remote_addr; skim $ Skim proksi_set_header; proxy_set_header X-Forwarded-Proto $ skema; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_pass http: // 127.0.0.1: 8001 $ request_uri; proksi_redirect; } # Fail statik lokasi / statik {alias / home / taiga / taiga-back / statik; } # Lokasi fail media / media {alias / home / taiga / taiga-back / media; } # Lokasi / peristiwa Taiga-peristiwa {proxy_pass http: // 127.0.0.1: 8888 / events; proxy_http_version 1.1; proxy_set_header Upgrade $ http_upgrade; proxy_set_header Sambungan "naik taraf"; proxy_connect_timeout 7d; proxy_send_timeout 7d; proxy_read_timeout 7d; }}

Simpan dan keluar.

Sekarang jalankan ujian nginx ujian dan pastikan tiada ralat. Kemudian mulakan semula perkhidmatan pelayan web.

nginx -t
systemctl restart nginx

Konfigurasi host maya Nginx untuk Taiga.io telah selesai.

Konfigurasi Host Virtual Taiga Nginx

Langkah 8 - Ujian

Buka penyemak imbas web anda dan lawati nama domain Taiga.io. Tambang adalah: http://taiga.hakase-labs.co

Dan anda akan mendapat halaman utama taiga lalai.

Uji taiga.io

Sekarang klik butang 'Masuk' di sebelah kanan atas dan anda akan mendapat halaman login admin.

Masuk Taiga.io

Masuk dengan pengguna lalai 'admin'dan kata laluan'123123'.

Dan anda akan mendapat keputusan seperti di bawah.

Akaun admin

Seterusnya, kami akan menetapkan semula kata laluan admin lalai.

Klik butang 'pentadbir' di bahagian atas sebelah kanan, kemudian klik 'Tukar Kata Laluan'.

Tukar kata laluan pentadbir

Sekarang taip kata laluan lama '123123' dan kata laluan baru yang anda mahu, kemudian klik 'Simpan'.

Menukar kata laluan

Pemasangan dan konfigurasi untuk Taiga.io pada Ubuntu 16.04 telah berjaya diselesaikan.

Rujukan

Source

Tinggalkan Komen

Laman web ini menggunakan Akismet untuk mengurangkan spam. Ketahui bagaimana data komen anda diproses.