konfigurasi pemasangan taiga
1. Pengenalan
Dokumen ini memperkenalkan cara menggunakan Perkhidmatan Taiga yang lengkap (setiap modul adalah sebahagian daripada platform Taiga).
Platform Taiga terdiri daripada tiga komponen utama, setiap satu dengan kebergantungan sendiri pada masa penyusunan dan masa jalan:
- taiga-back (backend/api )
- taiga-front-dist (front-end)
- taiga-events (websockets gateway) (pilihan)
Setiap komponen boleh berjalan pada mesin yang unik, atau semua komponen boleh dipasang pada mesin yang berbeza. Dalam tutorial ini, kami akan memasang semuanya pada satu mesin, memasang ketiga-tiga komponen Taiga. Persediaan jenis ini sepatutnya mencukupi untuk persekitaran pengeluaran bersaiz kecil dan sederhana.
2. Gambaran Keseluruhan
Tutorial ini menganggap anda menggunakan imej Ubuntu 16.04 yang bersih dan baru-baru ini.
Disebabkan sifat front-end, Taiga digunakan melalui domain/public-ip kerana aplikasi front-end berjalan dalam penyemak imbas anda. Bahagian hadapan mesti boleh berkomunikasi dengan bahagian belakang/API, jadi kedua-dua bahagian hadapan dan bahagian belakang mesti boleh diakses melalui domain/ip-publik.
Pemasangan Taiga mesti dilakukan oleh pengguna "biasa", bukan pengguna root.
Dalam tutorial ini, kami menganggap butiran berikut:
- IP: 80.88.23.45Nama hos: (example.com menunjuk kepada 80.88.23.45)
- Nama pengguna: taiga
- Ram sistem >=1GB (diperlukan untuk menyusun lxml)
- direktori kerja / rumah /taiga/(Taiga lalai pengguna)
2.1 Penerangan Seni Bina Sistem
Ini ialah penerangan seni bina sistem ringkas untuk membantu anda memahami cara Taiga dibina dan berfungsi . Sebelum meneruskan pemasangan dengan lebih lanjut, pastikan anda membaca penerangan ini untuk mendapatkan gambaran keseluruhan peringkat tinggi.
Taiga terdiri daripada 2 modul teras (wajib):
- taiga-belakang
- taiga-depan
taiga-back ditulis dalam django, python3 dan menyediakan titik akhir API untuk bahagian hadapan.
taiga-depan terutamanya ditulis dalam angularjs dan coffeescript, bergantung pada bahagian belakang.
Ujung belakang python didedahkan oleh gunicorn (port 9001), iaitu pelayan HTTP WSGI Python. Pengurus proses adalah systemd, yang menjalankan gunicorn dan taiga-back bersama-sama. Secara teknikal, bahagian belakang berkomunikasi dengan pangkalan data (postgresql), dan melalui bahagian hadapan, ia membolehkan pengguna menggunakan ciri Taiga. Komunikasi antara front-end dan back-end dilakukan menggunakan API.
Halaman belakang kemudiannya didedahkan secara terbuka oleh nginx, yang bertindak sebagai proksi terbalik dalam kes ini. Bahagian hadapan terletak dalam folder dist dan didedahkan secara terbuka oleh nginx, yang bertindak sebagai pelayan web statik untuk kes ini.
3 Prasyarat
Taiga terdiri daripada tiga modul, setiap satunya memerlukan pakej yang berbeza dan pakej pihak ketiga. Bahagian ini mengumpul pakej yang diperlukan untuk pemasangan dan konfigurasi Taiga yang berjaya. Dalam bahagian ini, kami akan memasang semua kebergantungan untuk semua modul, termasuk modul dan perkhidmatan pilihan.
Pakej asas
Komponen taiga-back menggunakan postgresql (> = 9.4) sebagai pangkalan data:
Mesti dipasang dengan beberapa perpustakaan pihak ketiga Python (3) dan Tingkatkan virtualenvwrapper pip kepada versi terkini
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
Langkah ini diperlukan sebelum meneruskan pemasangan!
Buat pengguna bernama taiga dan berikannya kebenaran root
Jangan tukar kepada pengguna root. Pemasangan mesti diselesaikan dengan pengguna taiga.
sudo adduser taiga sudo adduser taiga sudo sudo su taiga cd ~
3.1 Konfigurasikan kebergantungan
Konfigurasikan postgresql dengan pengguna awal dan pangkalan data:
sudo -u postgres createuser taiga sudo -u postgres createdb taiga -O taiga --encoding='utf-8' --locale=en_US.utf8 --template=template0
Buat pengguna bernama taiga, dan hos maya untuk RabbitMQ ( taiga- acara)
sudo rabbitmqctl add_user taiga PASSWORD_FOR_EVENTS sudo rabbitmqctl add_vhost taiga sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
4. Konfigurasi Bahagian belakang
Bahagian ini membantu mengkonfigurasi perkhidmatan Taiga bahagian belakang (api) dan kebergantungannya.
Muat turun kod
cd ~ git clone https://github.com/taigaio/taiga-back.git taiga-back cd taiga-back git checkout stable
Buat virtualenv baharu bernama taiga
mkvirtualenv -p /usr/bin/python3 taiga
Pasang kebergantungan
pip install -r requirements.txt
Isi dengan Pangkalan Data asas data awal
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
Ini akan mencipta akaun pentadbir. Bukti kelayakan log masuk adalah pentadbir dan kata laluan ialah 123123.
Pilihan: Jika anda ingin memuatkan beberapa data sampel ke dalam Taiga, laksanakan arahan berikut, yang mengisi pangkalan data dengan projek sampel dan data rawak (sangat berguna untuk demonstrasi):
python manage.py sample_data
Salin dan tampal konfigurasi berikut dalam ~/taiga-back/settings/local.py dan kemas kini dengan butiran anda sendiri:
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"
Sahkan
(pilihan) untuk memastikan Semuanya baik, keluarkan arahan berikut untuk menjalankan bahagian belakang dalam mod pembangunan untuk ujian:
workon taiga python manage.py runserver
Kemudian anda mesti dapat melihat json yang mewakili senarai titik akhir pada URL: http://localhost: 8000 /api/v1/.
在此阶段,后端已成功安装,但要在生产中运行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视频教程》