Установите программное обеспечение для управления гибкими проектами Taiga.io на Ubuntu 16.04
На этой странице
- Шаг 1. Установите предварительные требования
- Шаг 2. Добавьте нового пользователя Тайга
- Шаг 3. Настройка серверной части Taiga
- Шаг 4. Настройка внешнего интерфейса Taiga
- Шаг 5. Настройка событий Taiga
- Шаг 6. Настройка Circus и Gunicorn
- Шаг 7. Настройка виртуального хоста Taiga Nginx
- Шаг 8. Тестирование
- Справочник
Taiga.io — это система управления проектами с открытым исходным кодом для гибких разработчиков, дизайнеров и менеджеров проектов. Это прекрасный инструмент управления проектами, который может обрабатывать как простые, так и сложные проекты для стартапов, разработчиков программного обеспечения и т. д.
Платформа Taiga состоит из трех основных компонентов, и каждый компонент имеет свои зависимости.
- taiga-back: серверная часть приложения, предоставляющая API. Написан на Python и Django.
- taiga-front-dist: Taiga Frontend написан на AngularJS и CoffeeScript.
- taiga-events: сервер Taiga WebSocket для отображения изменений в приложениях в режиме реального времени. И использование RabbitMQ в качестве брокера сообщений.
В этом руководстве я пошагово покажу вам, как установить инструмент управления проектами Taiga.io на сервер Ubuntu 16.04. Мы узнаем, как настроить сервер Ubuntu для установки Taiga.io.
Предпосылки
- Убунту 16.04
- Привилегии root
Что мы будем делать
- Установка предварительных требований
- Добавить пользователя тайги
- Установка и настройка серверной части Taiga
- Установка и настройка внешнего интерфейса Taiga
- Установка и настройка событий Taiga
- Настройка Circus и Gunicorn
- Настройка виртуального хоста Taiga Nginx
- Тестирование
Шаг 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/