Поиск по сайту:

Установите программное обеспечение для управления гибкими проектами Taiga.io на Ubuntu 16.04


На этой странице

  1. Шаг 1. Установите предварительные требования
  2. Шаг 2. Добавьте нового пользователя Тайга
  3. Шаг 3. Настройка серверной части Taiga
  4. Шаг 4. Настройка внешнего интерфейса Taiga
  5. Шаг 5. Настройка событий Taiga
  6. Шаг 6. Настройка Circus и Gunicorn
  7. Шаг 7. Настройка виртуального хоста Taiga Nginx
  8. Шаг 8. Тестирование
  9. Справочник

Taiga.io — это система управления проектами с открытым исходным кодом для гибких разработчиков, дизайнеров и менеджеров проектов. Это прекрасный инструмент управления проектами, который может обрабатывать как простые, так и сложные проекты для стартапов, разработчиков программного обеспечения и т. д.

Платформа Taiga состоит из трех основных компонентов, и каждый компонент имеет свои зависимости.

  1. taiga-back: серверная часть приложения, предоставляющая API. Написан на Python и Django.
  2. taiga-front-dist: Taiga Frontend написан на AngularJS и CoffeeScript.
  3. taiga-events: сервер Taiga WebSocket для отображения изменений в приложениях в режиме реального времени. И использование RabbitMQ в качестве брокера сообщений.

В этом руководстве я пошагово покажу вам, как установить инструмент управления проектами Taiga.io на сервер Ubuntu 16.04. Мы узнаем, как настроить сервер Ubuntu для установки Taiga.io.

Предпосылки

  • Убунту 16.04
  • Привилегии root

Что мы будем делать

  1. Установка предварительных требований
  2. Добавить пользователя тайги
  3. Установка и настройка серверной части Taiga
  4. Установка и настройка внешнего интерфейса Taiga
  5. Установка и настройка событий Taiga
  6. Настройка Circus и Gunicorn
  7. Настройка виртуального хоста Taiga Nginx
  8. Тестирование

Шаг 1. Установите необходимые компоненты

Перед установкой всех компонентов Taiga.io нам необходимо подготовить систему, установив необходимые пакеты. На этом первом шаге мы установим пакеты, необходимые для всех компонентов и модулей Taiga, включая Nginx, RabitMQ, Redis и т. д.

Для начала обновите репозиторий и обновите систему.

sudo apt update
sudo apt upgrade -y

- Установить зависимости

Следующие пакеты будут использоваться для компиляции некоторых модулей Python. Запустите приведенную ниже команду apt, чтобы установить их все в системе.

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

- Установить Нгинкс

Taiga.io — это веб-приложение. Он работает на веб-сервере. И в этом руководстве мы будем использовать веб-сервер Nginx для установки.

Установите Nginx с помощью приведенной ниже команды apt.

sudo apt install nginx -y

После завершения установки запустите службу Nginx и включите ее запуск при загрузке системы, что вы можете сделать с помощью команды systemctl.

systemctl start nginx
systemctl enable nginx

Теперь проверьте с помощью netstat и убедитесь, что порт HTTP есть в списке.

netstat -plntu

- Установите Redis и RabbitMQ

Это необязательный пакет, если вы не хотите получать асинхронные уведомления. Установите Redis и RabbitMQ с помощью приведенной ниже команды apt.

sudo apt install -y redis-server rabbitmq-server

После завершения установки запустите службы redis и rabbitmq и добавьте эти службы во время загрузки.

systemctl start redis

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

Далее нам нужно создать нового пользователя и виртуальный хост с именем taiga для RabbitMQ — он будет использоваться для taiga-событий.

Запустите приведенные ниже команды для создания нового пользователя и виртуального хоста с именем taiga и паролем aqwe123, затем установите разрешение для пользователя taiga.

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

- Установить Питон

taiga-back создан с помощью Django Web Framework и использует Python 3.5. Итак, нам нужно установить Python 3.5 в систему.

Выполните следующую команду, чтобы установить Python 3.5 со всеми необходимыми зависимостями.

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

- Установить Цирк

Circus — это менеджер процессов и менеджер сокетов. Его можно использовать для мониторинга и управления процессами и сокетами в системе Linux.

В этом руководстве мы будем использовать circus для управления процессом taiga-events, созданным с помощью CoffeeScript.

Установите цирк с помощью приведенной ниже команды apt.

sudo apt install -y circus

После завершения установки запустите службу circusd и разрешите запуск при каждой загрузке системы.

systemctl start circusd
systemctl enable circusd
systemctl status circusd
circusctl status

- Установка и настройка базы данных PostgreSQL.

Taiga.io использует PostgreSQL в качестве базы данных, а компонент taiga-back использует PostgreSQL (>= 9.4) в качестве базы данных.

Установите PostgreSQL 9.5, выполнив следующие команды 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

Если установка базы данных завершена, запустите службу PostgreSQL и включите ее запуск каждый раз при загрузке системы.

systemctl start postgresql
systemctl enable postgresql

Далее мы создадим новую базу данных и пользователя для установки Taiga.io.

Войдите под пользователем postgres.

su - postgres

Создайте новую базу данных и пользователя с именем taiga, используя приведенные ниже команды.

createuser taiga
createdb taiga -O taiga

Установлена база данных PostgreSQL и создана база данных для Taiga.io.

- Установить нодейс

Node нужен для taiga-events — добавьте репозиторий nodejs nodesource и установите его командой apt.

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

Все пакеты, необходимые для установки Taiga.io, успешно установлены.

Шаг 2. Добавьте нового пользователя Тайга

На этом шаге мы создадим нового системного пользователя с именем taiga, а затем добавим его в группу sudo.

Запустите команду, чтобы создать нового пользователя taiga.

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

Теперь добавьте пользователя taiga в группу sudo.

usermod -a -G sudo taiga

Теперь войдите как taiga и попробуйте использовать команду sudo.

su - taiga
sudo su

Введите свой пароль и убедитесь, что у вас есть привилегии root.

Создан новый пользователь тайги.

Шаг 3 — Настройте серверную часть Taiga

Taiga-back — это серверная часть Taiga.io, предоставляющая API. Он написан на Python и Django Web Framework.

На этом этапе мы установим и настроим компонент taiga taiga-back в качестве серверной части, предоставляющей API.

Войдите в систему под пользователем taiga и загрузите исходный код taiga-back с GitHub.

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

Теперь перейдите в каталог taiga-back и измените ветку на стабильную ветку.

cd taiga-back/
git checkout stable

Далее нам нужно создать новую тайгу среды Python, используя файл virtualenv.

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

Войдите в новую виртуальную среду taiga и установите все модули Python, необходимые для taiga-back, с помощью команды pip, как показано ниже.

workon taiga
pip install -r requirements.txt

После завершения установки всех необходимых модулей нам необходимо заполнить базу исходными исходными данными.

Запустите все команды инициализации ниже.

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

Команды автоматически создадут учетную запись администратора admin с паролем 123123.

Далее создайте новую конфигурацию для taiga-back с помощью vim.

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

Вставьте туда следующую конфигурацию.

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 = ":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"

Сохранить и выйти.

Примечание:

  • Измените MEDIA_URL и STATIC_URL на собственное доменное имя.
  • Замените SECRET_KEY на свой секретный ключ.
  • Измените значение пароля EVENTS_PUSH_BACKEND_OPTIONS на собственное значение RabbitMQ. В этом руководстве мы используем пароль aqwe123.

Теперь протестируйте taiga-back с помощью приведенной ниже команды.

workon taiga
python manage.py runserver 0.0.0.0:8000

Команда запустит taiga-back под общедоступным IP-адресом сервера с портом 8000.

Откройте веб-браузер и перейдите по следующему адресу. Мой: http://192.168.33.10:8000/api/v1/

И вы должны получить API taiga-back в формате JSON, как показано ниже.

Установка и настройка taiga-back в качестве бэкенда завершена.

Шаг 4 — Настройте интерфейс Taiga

На этом шаге мы загрузим и настроим интерфейс Taiga. Фронтенд будет обрабатывать все таежные интерфейсы.

Войдите в систему как пользователь taiga.

su - taiga

Загрузите скрипт taiga-front-dist с помощью команды git.

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

После этого перейдите в директорию taiga-front-dist и измените ветку на стабильную.

cd taiga-front-dist/
git checkout stable

Теперь скопируйте пример конфигурации taiga-front-dist в conf.json и отредактируйте его с помощью редактора vim.

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

Выполните все настройки, как показано ниже, и измените API и EventUrl на свое собственное доменное имя.

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

Сохранить и выйти.

Настройка интерфейса Taiga завершена.

Шаг 5. Настройка событий тайги

Taiga-events — это сервер WebSocket, который позволяет отображать изменения в реальном времени на панели инструментов Taiga.io и использует RabbitMQ в качестве брокера сообщений. На этом шаге мы загрузим и настроим taiga-events.

Войдите как пользователь тайги.

su - taiga

Загрузите исходный код taiga-events с GitHub с помощью команды git и перейдите в каталог taiga-events.

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

Теперь установите все модули javascript, необходимые для taiga-events, используя npm, а затем установите пакет coffee-script в систему.

npm install
sudo npm install -g coffee-script

Далее скопируйте конфигурацию taiga-events по умолчанию в config.json и отредактируйте ее с помощью редактора vim.

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

Сделайте конфигурацию, как показано ниже.

{
    "url": "amqp://taiga::5672/taiga",
    "secret": "myverysecretkey",
    "webSocketServer": {
        "port": 8888
    }
}

Сохранить и выйти.

Примечание:

  • Измените значение URL, указав своего пользователя и пароль rabbitmq.
  • Что касается значения секрета, убедитесь, что оно совпадает с SECRET_KEY в файле конфигурации taiga-back local.py.

Настройка Taiga-событий завершена.

Шаг 6 — Настройте Circus и Gunicorn

Цирк будет использоваться для контроля и управления процессом тайги и тайги. taiga-events работает как кофейный скрипт, а taiga-back работает под Gunicorn.

На этом этапе мы добавим в circusd новые события taiga и taiga-bac.

Для taiga-events создайте новый файл taiga-events.ini с помощью vim.

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

Вставьте конфигурацию ниже.

[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

Сохранить и выйти.

А для taiga-back создайте новый файл taiga.ini.

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

Вставьте туда следующую конфигурацию.

[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

Сохранить и выйти.

Далее нам нужно создать новый каталог журналов как для taiga-events, так и для taiga-back процессов.

su - taiga
mkdir -p ~/logs

Теперь перезапустите службу circusd и проверьте все доступные процессы.

systemctl restart circusd
circusctl status

И убедитесь, что taiga-events и taiga-back активны в списке процессов, как показано ниже.

Шаг 7. Настройте виртуальный хост Taiga Nginx

На этом этапе мы настроим виртуальный хост Nginx для Taiga.io. Мы создадим новый файл виртуального хоста в каталоге conf.d для нашей установки Taiga.io.

Перейдите в каталог конфигурации nginx и удалите файл виртуального хоста по умолчанию.

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

Теперь создайте новый файл виртуального хоста taiga.conf в каталоге conf.d.

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

Вставьте туда следующую конфигурацию.

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

Сохранить и выйти.

Теперь запустите тестовую конфигурацию nginx и убедитесь, что ошибок нет. Затем перезапустите службу веб-сервера.

nginx -t
systemctl restart nginx

Настройка виртуального хоста Nginx для Taiga.io завершена.

Шаг 8 — Тестирование

Откройте веб-браузер и перейдите на доменное имя Taiga.io. Мой: http://taiga.hakase-labs.co

И вы получите домашнюю страницу тайги по умолчанию.

Теперь нажмите кнопку «Войти» в правом верхнем углу, и вы получите страницу входа администратора.

Войдите в систему с пользователем admin по умолчанию и паролем 123123.

И вы получите результат, как показано ниже.

Далее мы сбросим пароль администратора по умолчанию.

Нажмите кнопку администратора в правом верхнем углу, затем нажмите «Изменить пароль».

Теперь введите старый пароль 123123 и новый пароль, как хотите, затем нажмите Сохранить.

Установка и настройка Taiga.io на Ubuntu 16.04 успешно завершена.

Ссылка

  • https://taigaio.github.io/