Zainstaluj oprogramowanie Taiga.io Agile Project Management na Ubuntu 16.04

 

Taiga.io to system zarządzania projektami typu open source dla zwinnych programistów, projektantów i menedżerów projektów. To piękne narzędzie do zarządzania projektami, które może obsłużyć zarówno proste, jak i złożone projekty dla startupów, programistów itp.

Platforma Taiga ma trzy główne komponenty, a każdy składnik ma swoje własne zależności.

  1. tajga-powrót: Backend aplikacji udostępniającej interfejs API. Napisane w Pythonie i Django.
  2. tajga-front-dist: Taiga Frontend jest napisana w AngularJS i CoffeeScript.
  3. tajga-wydarzenia: Serwer Taiga WebSocket wyświetla zmiany w aplikacjach w czasie rzeczywistym. I używanie RabbitMQ jako brokera wiadomości.

W tym samouczku pokażę krok po kroku, jak zainstalować narzędzie do zarządzania projektami Taiga.io na serwerze Ubuntu 16.04. Dowiemy się, jak skonfigurować serwer Ubuntu do instalacji Taiga.io.

Wymagania wstępne

  • Ubuntu 16.04
  • Uprawnienia root

Co zrobimy

  1. Zainstaluj wymagania wstępne
  2. Dodaj użytkownika tajgi
  3. Zainstaluj i skonfiguruj Backend tajgi
  4. Zainstaluj i skonfiguruj Frontend Tajgi
  5. Zainstaluj i skonfiguruj zdarzenia tajgi
  6. Skonfiguruj Circus i Gunicorn
  7. Skonfiguruj Taiga Nginx Virtualhost
  8. Testowanie

Krok 1 - Zainstaluj wymagania wstępne

Przed instalacją wszystkich komponentów Taiga.io musimy przygotować system, instalując wymagane pakiety. W tym pierwszym kroku zainstalujemy pakiety, które będą potrzebne dla wszystkich komponentów i modułów Taiga, w tym Nginx, RabitMQ, Redis itp.

Na początek zaktualizuj repozytorium i uaktualnij system.

sudo apt update
sudo apt upgrade -y

- Zainstaluj zależności

Poniższe pakiety będą używane do kompilowania niektórych modułów Pythona. Uruchom poniższe polecenie apt, aby zainstalować je wszystkie w systemie.

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

- Zainstaluj Nginx

Taiga.io to internetowe narzędzie aplikacyjne. Działa na serwerze sieciowym. W tym przewodniku będziemy używać serwera WWW Nginx do instalacji.

Zainstaluj Nginx za pomocą poniższego polecenia apt.

sudo apt install nginx -y

Po zakończeniu instalacji uruchom usługę Nginx i włącz ją, aby uruchomić przy uruchomieniu systemu, coś, co możesz zrobić przy użyciu polecenia systemctl.

systemctl start nginx
systemctl włącz nginx

Teraz sprawdź przy użyciu netstat i upewnij się, że port HTTP znajduje się na liście.

netstat -plntu

Nginx został pomyślnie zainstalowany

- Zainstaluj Redis i RabbitMQ

To jest opcjonalny pakiet, jeśli nie chcesz powiadomienia asynchronicznego. Zainstaluj Redis i RabbitMQ za pomocą poniższego polecenia apt.

sudo apt install -y redis-server rabbitmq-server

Po zakończeniu instalacji uruchom usługi redis i rabbitmq i dodaj te usługi do czasu rozruchu.

systemctl start redis
systemctl start rabbitmq-server
systemctl włącza serwer rabbitmq

Następnie musimy stworzyć nowego użytkownika i wirtualnego hosta o nazwie "tajga" dla RabbitMQ - będzie on używany do "tajga-zdarzeń".

Wykonaj poniższe polecenia, aby utworzyć nowego użytkownika i vhost o nazwie tajga z hasłem "aqwe123", a następnie ustaw uprawnienia dla użytkownika "tajga".

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

Zainstaluj Redis i RabbitMQ

- Zainstaluj Pythona

"tajiga-back" jest tworzona za pomocą Django Web Framework i używa "Python 3.5". Dlatego musimy zainstalować Python 3.5 w systemie.

Uruchom następującą komendę, aby zainstalować Python 3.5 ze wszystkimi wymaganymi zależnościami.

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

- Zainstaluj Circus

Cyrk jest menedżerem procesów i menedżerem gniazd. Może służyć do monitorowania i kontrolowania procesu i gniazd w systemie Linux.

W tym przewodniku będziemy używać cyrku do zarządzania procesem "tajga-zdarzenia" stworzonym za pomocą CoffeeScript.

Zainstaluj cyrku za pomocą komendy apt poniżej.

sudo apt install -y circus

Po zakończeniu instalacji uruchom usługę "cyrk" i uruchom ją przy każdym uruchomieniu systemu.

systemctl start circusd
systemctl umożliwia cyrk

Teraz sprawdź usługę, używając następujących poleceń.

systemctl status circusd
status cyrkula

Otrzymasz wynik jak poniżej.

Zainstaluj Circus

- Zainstaluj i skonfiguruj bazę danych PostgreSQL

Taiga.io używa PostgreSQL jako bazy danych, a komponent "tajga-back" używa PostgreSQL (> = 9.4) jako bazy danych.

Zainstaluj PostgreSQL 9.5, uruchamiając następujące polecenia apt.

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

Jeśli instalacja bazy danych jest zakończona, uruchom usługę PostgreSQL i włącz ją, aby była uruchamiana za każdym razem przy uruchomieniu systemu.

systemctl start postgresql
systemctl enable postgresql

Następnie utworzymy nową bazę danych i użytkownika dla instalacji Taiga.io.

Zaloguj się do użytkownika "postgres".

su - postgres

Utwórz nową bazę danych i użytkownika o nazwie "tajga" za pomocą poniższych poleceń.

createuser tajga
createdb tajga -O tajga

Baza danych PostgreSQL została zainstalowana, a baza danych dla Taiga.io została utworzona.

Skonfiguruj PostgreSQL

- Zainstaluj Nodejs

Węzeł jest wymagany przez "tajiga-events" - dodaj repozytorium węzłów nodejs i zainstaluj go za pomocą polecenia apt.

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

Wszystkie pakiety potrzebne do instalacji Taiga.io zostały pomyślnie zainstalowane.

Krok 2 - Dodaj nową tajgę użytkownika

W tym kroku utworzymy nowego użytkownika systemu o nazwie "tajga", a następnie dodamy go do grupy sudo.

Uruchom polecenie, aby utworzyć nowego użytkownika "tajga".

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

Teraz dodaj użytkownika "tajga" do grupy "sudo".

usermod -a -G sudo tajga

Teraz zaloguj się jako "tajga" i spróbuj użyć polecenia sudo.

su - tajga
sudo su

Wpisz swoje hasło i upewnij się, że uzyskasz uprawnienia root'a.

Dodaj użytkownika tajgi

Utworzono nowego użytkownika "tajga".

Krok 3 - Konfiguruj backend tajgi

Taiga-back to backend Taiga.io, który zapewnia API. Jest napisany w Pythonie i Django Web Framework.

W tym kroku zainstalujemy i skonfigurujemy składnik tajga "tajiga-back" jako backend, który zapewnia interfejs API.

Zaloguj się do użytkownika "tajga" i pobierz kod źródłowy "tajga-back" z GitHub.

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

Teraz przejdź do katalogu "tajga-back" i zmień gałąź na gałąź "stabilna".

cd tajiga-back /
git checkout stabilny

Następnie musimy stworzyć nowe środowisko Pythona "tajga" za pomocą virtualenv.

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

Skonfiguruj backend tajgi

Zaloguj się do nowego wirtualnego środowiska "tajga" i zainstaluj wszystkie moduły python wymagane przez polecenie "tajiga-back" za pomocą polecenia pip, jak pokazano poniżej.

workon tajga
pip install -r requirements.txt

Po zakończeniu instalacji wszystkich wymaganych modułów musimy wypełnić bazę danych początkowymi danymi podstawowymi.

Uruchom wszystkie polecenia inicjalizacji poniżej.

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

Polecenia automatycznie utworzą konto administratora "Admin"z hasłem"123123'.

Następnie utwórz nową konfigurację dla "tajgi-back" za pomocą vim.

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

Wklej tam następującą konfigurację.

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"

Zapisz i wyjdź.

Uwaga:

  • Zmień "MEDIA_URL" i "STATIC_URL" na własną nazwę domeny.
  • Zmień "SECRET_KEY" za pomocą własnego tajnego klucza.
  • Zmień wartość hasła EVENTS_PUSH_BACKEND_OPTIONS na własną wartość RabbitMQ. W tym przewodniku używamy hasła "aqwe123".

Teraz przetestuj "tajga-back" za pomocą poniższego polecenia.

workon tajga
python manage.py runserver 0.0.0.0: 8000

Polecenie uruchomi tajigę pod publicznym adresem IP serwera za pomocą portu 8000.

uruchomić tajigę pod publicznym adresem IP serwera

Otwórz przeglądarkę i odwiedź następujący adres. Mój jest: http://192.168.33.10:8000/api/v1/

Powinieneś otrzymać API "tajga-back" z formatem JSON, jak poniżej.

API w formacie json

Instalacja i konfiguracja "tajga-back" jako backend została zakończona.

Krok 4 - Skonfiguruj frontend tajgi

W tym kroku pobierzemy i skonfigurujemy frontend tajgi. Frontend obsłuży wszystkie interfejsy tajgi.

Zaloguj się jako użytkownik tajgi.

su - tajga

Pobierz skrypt "tajiga-front-dist" za pomocą polecenia git.

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

Następnie przejdź do katalogu "tajga-front-dist" i zmień gałąź na "stabilną".

cd taiga-front-dist /
git checkout stabilny

Teraz skopiuj próbkę konfiguracji "tajiga-front-dist" do "conf.json" i edytuj ją za pomocą edytora vim.

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

Wykonaj całą konfigurację jak poniżej i zmień "api" i "eventsUrl" na własną nazwę domeny.

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

Zapisz i wyjdź.

Skonfiguruj frontend tajgi

Konfiguracja frontendu Taiga została zakończona.

Krok 5 - Konfiguruj wydarzenia tajgi

Taiga-events to serwer WebSocket, który pozwala wyświetlać zmiany w czasie rzeczywistym na Dashboard Taiga.io i używa RabbitMQ jako brokera wiadomości. W tym kroku pobierzemy i skonfigurujemy "tajiga-wydarzenia".

Zaloguj się jako użytkownik "tajga".

su - tajga

Pobierz kod źródłowy "tajga-zdarzenia" z GitHub za pomocą polecenia git i przejdź do katalogu "tajga-wydarzenia".

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

Teraz zainstaluj wszystkie moduły javascript wymagane przez "tajiga-events" używając npm, a następnie zainstaluj pakiet "coffee-script" w systemie.

npm zainstalować
sudo npm install -g skrypt kawowy

Skonfiguruj wydarzenia tajgi

Następnie skopiuj domyślną konfigurację "tajiga-events" do "config.json" i edytuj ją za pomocą edytora vim.

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

Wykonaj konfigurację jak poniżej.

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

Zapisz i wyjdź.

Uwaga:

  • Zmień wartość "url" za pomocą własnego użytkownika i hasła rabbitmq.
  • Dla "tajnej" wartości, upewnij się, że pasuje do "SECRET_KEY" na "local.py" pliku konfiguracyjnego "tajga-back".

Konfiguracja wydarzeń tajwańskich została zakończona.

Krok 6 - Konfiguruj Cyrk i Gunicorn

Cyrk będzie używany do kontrolowania i zarządzania procesem "tajga-back" i "tajga-wydarzenia". "tajga-wydarzenia" są uruchamiane jako scenariusz kawowy, a "tajga-powrót" działa pod Gunicornem.

W tym kroku dodamy nowe tajgi-wydarzenia i tajga-bac do cyrku.

Dla "tajga-zdarzeń" utwórz nowy plik "tajiga-events.ini" używając vim.

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

Wklej konfigurację poniżej.

[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

Zapisz i wyjdź.

A dla tajga-back, utwórz nowy plik "tajga.ini".

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

Wklej tam następującą konfigurację.

[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

Zapisz i wyjdź.

Następnie musimy stworzyć nowy katalog "dzienników" dla procesów "tajga-zdarzeń" i "tajga-back".

su - tajga
mkdir -p ~ / logs

Teraz uruchom ponownie usługę cyrkową i sprawdź wszystkie dostępne procesy.

systemctl restart circusd
status cyrkula

Upewnij się, że "tajgi-wydarzenia" i "tajga-back" są aktywne na liście procesów, jak pokazano poniżej.

Skonfiguruj Circus i Gunicorn

Krok 7 - Konfiguracja hosta wirtualnego Taiga Nginx

W tym kroku skonfigurujemy wirtualnego hosta Nginx dla Taiga.io. Stworzymy nowy wirtualny plik hosta w katalogu 'conf.d' dla naszej instalacji Taiga.io.

Przejdź do katalogu konfiguracyjnego nginx i usuń "domyślny" plik hosta wirtualnego.

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

Teraz utwórz nowy wirtualny plik hosta "tajiga.conf" w katalogu "conf.d".

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

Wklej tam następującą konfigurację.

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

Zapisz i wyjdź.

Teraz uruchom testową konfigurację nginx i upewnij się, że nie ma błędu. Następnie zrestartuj usługę serwera WWW.

nginx -t
systemctl restart nginx

Konfiguracja wirtualnego hosta Nginx dla Taiga.io została zakończona.

Skonfiguruj wirtualny host Taiga Nginx

Krok 8 - Testowanie

Otwórz przeglądarkę internetową i odwiedź domenę Taiga.io. Mój jest: http://taiga.hakase-labs.co

Otrzymasz domyślną stronę główną tajgi.

Przetestuj tajiga.io

Teraz kliknij przycisk "Zaloguj" w prawym górnym rogu, a otrzymasz stronę logowania administratora.

Taiga.io Zaloguj się

Zaloguj się z domyślnym użytkownikiem "Admin' i hasło '123123'.

Otrzymasz wynik jak poniżej.

Konto administratora

Następnie zresetujemy domyślne hasło administratora.

Kliknij przycisk "administrator" w prawym górnym rogu, a następnie kliknij "Zmień hasło".

Zmień hasło administratora

Teraz wpisz stare hasło "123123" i nowe hasło, a następnie kliknij "Zapisz".

Zmień hasło

Instalacja i konfiguracja Taiga.io na Ubuntu 16.04 została zakończona pomyślnie.

referencje

Źródło

Reklamy

Dodaj komentarz

GTranslate Your license is inactive or expired, please subscribe again!