GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にTaiga.ioプロジェクト管理ソフトウェアをインストールする方法

Taiga.io アジャイル開発者、設計者、およびプロジェクトマネージャー向けのオープンソースプロジェクト管理システムです。これは、スタートアップ、ソフトウェア開発者などの単純なプロジェクトと複雑なプロジェクトの両方を処理できる美しいプロジェクト管理ツールです。

Taigaプラットフォームには3つの主要なコンポーネントがあり、各コンポーネントには独自の依存関係があります。

  1. タイガバック :APIを提供するアプリケーションのバックエンド。 PythonとDjangoで書かれています。
  2. タイガ-フロント-ディスト :AngularJSとCoffeeScriptで記述されたTaigaフロントエンド。
  3. タイガ-イベント :アプリの変更をリアルタイムで表示するTaigaWebSocketサーバー。そして、RabbitMQをメッセージブローカーとして使用します。

このチュートリアルでは、CentOS7サーバーにTaiga.ioプロジェクト管理ツールをインストールする方法を段階的に説明します。また、Taiga.ioインストール用にCentOS7サーバーをセットアップおよび構成する方法についても学習します。

前提条件
  1. CentOS 7
  2. root権限
何をするか
  1. パッケージのインストール
  2. PostgreSQLのインストールと構成
  3. Taigaユーザーを追加
  4. TaigaBackを構成する
  5. Taigaフロントエンドを構成する
  6. タイガイベントの設定
  7. Circusプロセス管理の構成
  8. Taiga.io用にNginx仮想ホストを構成する
  9. NginxにTaigaフロントエンドへのアクセスを許可する
  10. テスト
ステップ1-パッケージをインストールする

すべてのTaiga.ioコンポーネントをインストールする前に、いくつかのパッケージをインストールしてシステムを準備する必要があります。この最初のステップでは、Nginx、RabitMQ、Redisなどを含むすべてのTaigaコンポーネントとモジュールに必要なパッケージをインストールします。

-依存関係をインストールする

一部のPythonモジュールのコンパイルに使用されるCentOS7用の「開発ツール」が必要です。

以下のyumコマンドを使用して必要なパッケージをインストールします。

sudo yum -y install gcc gcc-c++ make openssl-devel binutils autoconf flex bison libjpeg-devel freetype-devel zlib-devel perl-ZMQ-LibZMQ3 gdbm-devel ncurses-devel automake libtool libffi-devel curl git tmux gettext

-EPELリポジトリをインストールします

次に、EPEL(Enterprise Linux用の追加パッケージ)リポジトリをインストールする必要があります。 Nginx Webサーバー、RabbitMQ、Redisをインストールするために必要です。

次のコマンドを使用して、CentOS7システムにEPELリポジトリをインストールします。

sudo yum -y install epel-release

-Pythonをインストールする

Taiga.ioのインストールにはPython3.5が必要です。サードパーティのリポジトリである「iuscommunity」を使用してPython3.5をインストールします。

次の方法で「iuscommunity」リポジトリを追加します。

sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm

次に、次のyumコマンドを使用してPython3.5をインストールします。

sudo yum -y install python35u python35u-pip python35u-devel python-devel python-pip python-virtualenvwrapper libxml2-devel libxslt-devel

-Nginxをインストールします

Taiga.ioはWebアプリケーションツールであり、Webサーバーの下で実行されます。このガイドでは、NginxをWebサーバーとして使用します。

以下のyumコマンドを使用して、EPELリポジトリからNginxをインストールします。

sudo yum -y install nginx

インストールが完了したら、サービスを開始し、システムの起動時に起動できるようにします。

systemctl start nginx
systemctl enable nginx

次に、netstatコマンドを使用して開いているポートを確認します。

netstat -plntu

そして、以下に示すように、リストにHTTPポート80が含まれていることを確認してください。

-RedisとRabbitMQをインストールします

これらのパッケージがなくてもTaiga.ioを実行できるため、これはオプションです。基本的に、RedisおよびRabbitMQパッケージはtaiga-eventsによって使用されます。

以下のyumコマンドを使用して、EPELリポジトリからRedisとRabbitMQをインストールします。

yum -y install rabbitmq-server redis

インストールが完了したら、RedisサービスとRabbitMQサービスの両方を開始し、システムの起動時に起動できるようにします。

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

systemctl start redis
systemctl enable redis

次に、RabbitMQ用に「taiga」という名前の新しいユーザーと仮想ホストを作成する必要があります。これは「taiga-events」に使用されます。

次のコマンドを実行して、パスワード「aqwe123」で「taiga」という名前の新しいユーザーと仮想ホストを作成し、「taiga」ユーザーの権限を設定します。

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

-Nodejsをインストールします

ノードは「taiga-events」で必要です-nodejsnodesourceリポジトリを追加し、yumコマンドでインストールします。

curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum -y install nodejs

Taiga.ioのインストールに必要なすべての基本パッケージがシステムにインストールされています。

ステップ2-PostgreSQLのインストールと構成

Taiga.ioは、Python Django Webフレームワークに基づくWebアプリケーションであり、データベースとしてPostgreSQLを使用します。 Taiga.ioのインストールにはPostgreSQLバージョン9.5が必要です。

PostgreSQL9.5リポジトリをシステムに追加します。

sudo rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm

次に、以下のyumコマンドを使用してPostgreSQL9.5をインストールします。

sudo yum -y install postgresql95 postgresql95-devel postgresql95-contrib postgresql95-docs postgresql95-server

インストールが完了したら、PostgreSQLデータベースを初期化する必要があります。

sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb

次に、PostgreSQLサービスを開始し、システムの起動時に毎回起動できるようにします。

systemctl start postgresql-9.5
systemctl enable postgresql-9.5

次に、Taiga.ioをインストールするための新しいデータベースを作成する必要があります。新しいデータベースと「taiga」という名前のユーザーを作成する必要があります。

'postgres'ユーザーとしてログインします。

su - postgres

次に、次のコマンドを使用して、Taiga.ioの新しいデータベースとユーザーを作成します。

createuser taiga
createdb taiga -O taiga

Taiga.ioインストール用の新しいPostgreSQLデータベースが作成されました。

ステップ3-Taigaユーザーを追加

このステップでは、「taiga」という名前の新しいシステムユーザーとグループを作成し、それをsudoコマンドアクセス用のホイールグループに追加します。

以下の「useradd」コマンドを使用して、「taiga」ユーザーとグループを作成します。

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

次に、「taiga」ユーザーを「wheel」グループに追加します。

usermod -a -G wheel taiga

'taiga'ユーザーのsudoアクセスをテストします。

su - taiga
sudo su

パスワードを入力し、「taiga」ユーザーのroot権限を取得していることを確認してください。

ステップ4-TaigaBackを構成する

Taiga-backは、TaigaフロントエンドにAPIを提供するTaiga.ioのバックエンドです。 PythonとDjangoWebFrameworkで書かれています。

このステップでは、taigaコンポーネント「taiga-back」をインストールして構成します。

「taiga」ユーザーにログインし、GitHubから「taiga-back」ソースコードをダウンロードします。

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

次に、「taiga-back」ディレクトリに移動し、ブランチを「stable」ブランチに変更します。

cd taiga-back
git checkout stable

先に進む前に、virtualenvパッケージを更新する必要があります。

sudo pip install --upgrade virtualenv

次に、mkvirtualenvコマンドを使用して新しいPython環境「taiga」を作成します。

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

'taiga-back'の新しいvirtualenvが作成されました。

taiga-backのすべてのモジュールをインストールする前に、「pg_config」コマンドの「/ usr/bin」ディレクトリへの新しいリンクを作成する必要があります。

sudo ln -s /usr/pgsql-9.5/bin/pg_config /usr/bin/pg_config

次に、以下のコマンドを使用して、「taiga-back」に必要なすべてのPythonモジュールをインストールします。

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 '。

次に、vimを使用して「taiga-back」の新しい構成を作成します。

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

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"

保存して終了します。

注:

  • 「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

このコマンドは、ポート8000​​のサーバーパブリックIPでtaiga-backを実行します。

Webブラウザを開き、次のアドレスにアクセスします。

http://192.168.33.10:8000/api/v1/

そして、以下のようにJSON形式の「taiga-back」APIを取得します。

「タイガバック」のインストールと構成が完了しました。

ステップ5-Taigaフロントエンドを構成する

このステップでは、taigaフロントエンドをダウンロードして構成します。フロントエンドはすべてのタイガインターフェースを処理します。

taigaユーザーにログインします。

su - taiga

gitを使用して「Taigaフロントエンド」ソースコードをダウンロードします。

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

'taiga-front-dist'ディレクトリに移動し、ブランチを'stable'に変更します。

cd taiga-front-dist
git checkout stable

デフォルトの設定ファイルをコピーし、vimを使用して編集します。

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

次の構成をコピーします:

{
    "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フロントエンド」の構成が完了しました。

ステップ6-Taigaイベントを設定する

Taiga-eventsは、Taiga.ioダッシュボードにリアルタイムの変更を表示できるWebSocketサーバーであり、RabbitMQをメッセージブローカーとして使用します。このステップでは、「taiga-events」をダウンロードして構成します。

'taiga'ユーザーにログインします。

su - taiga

「タイガイベント」のソースコードをダウンロードして、ディレクトリに移動します。

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

次に、次の方法でnpmコマンドを使用して、「taiga-events」に必要なすべてのjavascriptライブラリをダウンロードしてインストールする必要があります。

npm install
sudo npm install -g coffee-script

注: ルートシステムの下に「coffee-script」をインストールする必要があります。

次に、JSON構成ファイルを「config.json」にコピーし、vimを使用して編集します。

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

次の構成をそこに貼り付けます。

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

保存して終了します。

注:

  • 「url」の値を自分のrabbitmqユーザーとパスワードで変更します。
  • 「secret」の値は、「local.py」の「SECRET_KEY」(「taiga-back」の構成ファイル)と一致していることを確認してください。

Taiga-eventsの構成が完了しました。

ステップ7-Circusのインストールと構成

Circusは、「taiga-back」および「taiga-events」プロセスの制御と管理に使用されます。 「taiga-events」はコーヒースクリプトとして実行され、「taiga-back」はGunicornの下で実行されています。

このステップでは、ソースコードからCircusを手動でインストールします。

taigaユーザーとしてログインします。

su - taiga

次に、gitを使用してサーカスのソースコードをダウンロードします。

cd ~/
git clone https://github.com/circus-tent/circus.git circus

システムにサーカスをインストールする前に、サーカス構成用の新しいディレクトリを作成する必要があります。

taigaユーザーの下に新しい「conf」ディレクトリを作成します。

mkdir -p ~/conf

そして、「taiga.ini」という名前のTaiga.ioの新しいサーカス構成を作成します。

vim ~/conf/taiga.ini

次の構成を貼り付けます。

[circus]
check_delay = 5
endpoint = tcp://127.0.0.1:5555
pubsub_endpoint = tcp://127.0.0.1:5556
statsd = true

[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

[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

保存して終了します。

次に、サーカスログファイル用のディレクトリを作成します。

mkdir -p ~/logs

サーカスディレクトリに移動し、root権限でソフトウェアをインストールします。

cd ~/circus
sudo python3.5 setup.py install

インストールが完了したら、サーカスをシステム上のサービスとして構成します。

sudoコマンドを実行してから、新しいサービスファイル「circusd.service」を作成します。

sudo su
vim /usr/lib/systemd/system/circusd.service

次の構成をそこに貼り付けます。

[Unit]
Description=circus

[Service]
ExecStart=/usr/bin/circusd /home/taiga/conf/taiga.ini

保存して終了します。

次に、以下のコマンドを使用してsystemdシステムをリロードします。

systemctl daemon-reload

エラーがないことを確認してから、circusdサービスを開始し、システムの起動時に毎回起動できるようにします。

systemctl start circusd
systemctl enable circusd

Taiga.ioのサーカスのインストールと構成が完了しました。以下のcircusctlコマンドを使用して確認してください。

circusctl status

そして、サーカスプロセスリストにタイガバックイベントとタイガイベントが含まれていることを確認してください。

または、以下のようにsystemctlコマンドを使用できます。

systemctl status circusd

ステップ8-TaigaNginx仮想ホストを構成する

このステップでは、Taiga.io用にNginx仮想ホストを構成します。 Taiga.ioインストール用に「conf.d」ディレクトリの下に新しい仮想ホストファイルを作成します。

nginx構成ディレクトリに移動し、「conf.d」ディレクトリの下に新しいファイル「taiga.conf」を作成します。

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

次の構成をそこに貼り付けます。

server {
    listen 80;
    server_name taiga.hakase-labs.co;

    large_client_header_buffers 4 32k;
    client_max_body_size 50M;
    charset utf-8;

    access_log /var/log/nginx/taiga.access.log;
    error_log /var/log/nginx/taiga.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構成を実行し、エラーがないことを確認します。次に、Webサーバーサービスを再起動します。

nginx -t
systemctl restart nginx

Taiga.ioの仮想ホスト構成が完了しました。

ステップ9-NginxにTaigaフロントエンドへのアクセスを許可する

Nginx Webサーバーがtaiga-frontendファイルにアクセスできないというエラーが表示される場合があります。この場合、Nginxの「500内部サーバーエラー」が表示されます。

この問題を解決するには、すべてのtaiga-frontendファイルの所有者またはグループを変更し、Nginxにすべてのファイルへのアクセスを許可する必要があります。

CentOS 7のデフォルトでは、Nginx Webサーバーは「nginx」ユーザーで実行されており、Taiga.ioインストールは「taiga」ユーザーで実行されています。

以下は、私たちが話しているNginxエラーの例です。

NginxWebサーバーは「/home/ taiga / taiga-front-dist/dist」ディレクトリのすべてのコンテンツを読み取ることができません。

以下のコマンドを使用してこれを確認してください。

sudo -u nginx stat /home/taiga/taiga-front-dist/dist

そして、許可が拒否された結果が表示されます。

次に、「nginx」ユーザーを「taiga」グループに追加し、nginxユーザーにtaiga-front-distディレクトリに必要な権限を付与する必要があります。

'nginx'ユーザーを'taiga'グループに追加します。

sudo gpasswd -a nginx taiga

taiga-front-distディレクトリのすべてのコンテンツを読み取るためのアクセス許可をWebサーバーに付与します。

sudo chmod g+x /home/taiga
sudo chmod g+x /home/taiga/taiga-front-dist
sudo chmod g+x /home/taiga/taiga-front-dist/dist

そして、NginxWebサーバーを再起動します。

systemctl restart nginx
ステップ10-テスト

ウェブブラウザを開き、Taigaのインストールドメイン名にアクセスします。私の名前は http://taiga.hakase-labs.co

そして、以下に示すTaigaのデフォルトのホームページを取得する必要があります。

ここに、デフォルトのユーザー' adminを入力します 'パスワード付き'123123 'をクリックし、[ログイン]ボタンをクリックします。

そして、管理ダッシュボードが表示されます。

NginxWebサーバーを使用したCentOS7へのTaiga.ioのインストールが正常に完了しました。


Cent OS
  1. CentOS7にMyCollabプロジェクト管理ソフトウェアをインストールする方法

  2. CentOSにWeBidオークションソフトウェアをインストールする方法

  3. CentOS8にTaigaProjectManagementをインストールする方法

  1. CentOS7にPHP7、7.2、7.3をインストールする方法

  2. CentOS7にJava11および12をインストールする方法

  3. CentOS7にWine4.0をインストールする方法

  1. CentOS7にVim8.2をインストールする方法

  2. CentOS7にVirtualBoxをインストールする方法

  3. RHEL 8 / CentOS8Linuxにphpをインストールする方法