taiga インストール構成
1. はじめに
このドキュメントでは、完全な Taiga サービスをデプロイする方法を紹介します。 (各モジュールは Taiga プラットフォームの一部です)。
Taiga プラットフォームは 3 つの主要コンポーネントで構成されており、それぞれコンパイル時および実行時に独自の依存関係があります:
- taiga-back(backend/api )
- taiga-front-dist(フロントエンド)
- taiga-events(websocket ゲートウェイ)(オプション)
それぞれコンポーネントは固有のマシン上で実行することも、すべてのコンポーネントを別のマシンにインストールすることもできます。このチュートリアルでは、すべてを 1 台のマシンにインストールし、3 つの Taiga コンポーネントをすべてインストールします。このタイプのセットアップは、小規模から中規模の運用環境には十分です。
2. 概要
このチュートリアルでは、最近更新されたクリーンな Ubuntu 16.04 イメージを使用していることを前提としています。
フロントエンドの性質上、フロントエンド アプリケーションがブラウザーで実行されるとき、Taiga はドメイン/パブリック IP 経由で使用されます。フロントエンドはバックエンド/API と通信できる必要があるため、フロントエンドとバックエンドの両方にドメイン/パブリック IP 経由でアクセスできる必要があります。
Taiga のインストールは、root ユーザーではなく、「通常の」ユーザーが行う必要があります。
このチュートリアルでは、次の詳細を想定します:
- IP: 80.88.23.45ホスト名: (example.com は 80.88.23.45 を指します)
- ユーザー名: taiga
- システム RAM >=1GB (lxml のコンパイルに必要)
- 作業ディレクトリ / home /taiga/ (ユーザーデフォルト taiga)
2.1 システム アーキテクチャの説明
これは、Taiga がどのように構築され、機能するかを理解するのに役立つ簡単なシステム アーキテクチャの説明です。インストールを続行する前に、この説明を必ず読んで概要を理解してください。
Taiga は 2 つのコア (必須) モジュールで構成されています:
- taiga-back
- taiga-front
taiga-backdjango、python3 で書かれており、フロントエンドに API エンドポイントを提供します。
taiga-front 主に angularjs と Coffeescript で書かれていますが、バックエンドに依存します。
Python バックエンドは、Python WSGI HTTP サーバーである gunicorn (ポート 9001) によって公開されます。プロセス マネージャーは systemd であり、gunicorn と taiga-back を一緒に実行します。技術的には、バックエンドはデータベース (postgresql) と通信し、フロントエンドを通じてユーザーが Taiga の機能を使用できるようにします。フロントエンドとバックエンド間の通信はAPIを使用して行われます。
バックエンドは nginx によって公開され、この場合はリバース プロキシとして機能します。フロントエンドは dist フォルダーにあり、この場合静的 Web サーバーとして機能する nginx によって公開されます。
3 前提条件
Taiga は 3 つのモジュールで構成されており、それぞれに異なるパッケージとサードパーティ パッケージが必要です。このセクションでは、Taiga のインストールと構成を成功させるために必要なパッケージを収集します。このセクションでは、オプションのモジュールやサービスを含む、すべてのモジュールのすべての依存関係をインストールします。
基本パッケージ
コンポーネント taiga-back はデータベースとして postgresql (> = 9.4) を使用します:
いくつかのサードパーティ ライブラリ Python (3) およびvirtualenvwrapper pip 最新バージョンへのアップグレード
sudo apt-get update sudo apt-get install -y build-essential binutils-doc autoconf flex bison libjpeg-dev libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev automake libtool curl git tmux gettext nginx rabbitmq-server redis-server postgresql-9.5 postgresql-contrib-9.5 postgresql-doc-9.5 postgresql-server-dev-9.5 python3 python3-pip python3-dev virtualenvwrapper libxml2-dev libxslt-dev libssl-dev libffi-dev
この手順は、インストールを続行する前に必要です。
taiga という名前のユーザーを作成し、root 権限を付与します
root ユーザーには変更しないでください。インストールは taiga ユーザーで完了する必要があります。
sudo adduser taiga sudo adduser taiga sudo sudo su taiga cd ~
3.1 依存関係の構成
初期ユーザーとデータベースを使用して postgresql を構成します。
sudo -u postgres createuser taiga sudo -u postgres createdb taiga -O taiga --encoding='utf-8' --locale=en_US.utf8 --template=template0
taiga という名前のユーザーと、RabbitMQ の仮想ホスト (taiga-events)
sudo rabbitmqctl add_user taiga PASSWORD_FOR_EVENTS sudo rabbitmqctl add_vhost taiga sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
4. バックエンド構成
このセクションは、バックエンド (API) Taiga サービスとその依存関係の構成に役立ちます。
コードをダウンロード
cd ~ git clone https://github.com/taigaio/taiga-back.git taiga-back cd taiga-back git checkout stable
taigaという名前の新しい仮想環境を作成します
mkvirtualenv -p /usr/bin/python3 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 にロードする場合は、次のコマンドを実行します。これにより、データベースにサンプル プロジェクトとランダム データが設定されます (デモンストレーションに非常に便利です)。次の設定を ~/taiga-back/settings/local.py に貼り付け、独自の詳細で更新します:
python manage.py sample_data
Verify
(オプション) すべてが適切に動作していることを確認するには、次の手順を実行してください。次のコマンドを発行して、テストのために開発モードでバックエンドを実行します:
from .common import * MEDIA_URL = "http://example.com/media/"STATIC_URL = "http://example.com/static/"SITES["front"]["scheme"] = "http"SITES["front"]["domain"] = "example.com" SECRET_KEY = "theveryultratopsecretkey" DEBUG = FalsePUBLIC_REGISTER_ENABLED = True DEFAULT_FROM_EMAIL = "no-reply@example.com"SERVER_EMAIL = DEFAULT_FROM_EMAIL #CELERY_ENABLED = True EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:PASSWORD_FOR_EVENTS@localhost: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"
これにより、URL: http://localhost:8000/api/v1 でエンドポイントのリストを表す JSON を確認できるようになります。 / 。
在此阶段,后端已成功安装,但要在生产中运行python后端,必须首先配置应用程序服务器。有关详细信息,请参阅本文档后面的内容。
5.前端安装
从Github下载代码:
cd ~ git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist cd taiga-front-dist git checkout stable
复制示例配置文件:
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
按照以下模式编辑示例配置(替换为您自己的详细信息):
{ "api": "http://example.com/api/v1/", "eventsUrl": "ws://example.com/events", "debug": "true", "publicRegisterEnabled": true, "feedbackEnabled": true, "privacyPolicyUrl": null, "termsOfServiceUrl": null, "GDPRUrl": null, "maxUploadFileSize": null, "contribPlugins": []}
小心使用浏览器中的复制粘贴以避免http://重复。
有taiga-front-dist,前-dist的下载和配置是不够的。下一步是在静态文件Web服务器下公开代码(在dist目录中)。在本教程中,我们使用nginx作为静态文件Web服务器和反向代理。稍后将解释nginx的配置。
推荐学习:《linux视频教程》