Taiga Proje Yönetim Aracı CentOS 7 Kurulumu

Tayga proje yönetimi için ücretsiz ve açık kaynak kodlu bir uygulamadır. Diğer proje yönetim araçlarının aksine, Taiga projenin gelişimini yönetmek için artımlı çevik bir yaklaşım kullanır. Tayga çok güçlü ve tamamen özelleştirilebilir bir uygulamadır. Tayga'nın arka ucu Python'da Django çerçevesi kullanılarak yazılmıştır. Ön uç, JavaScript'te CoffeeScript ve AngularJS çerçeveleri kullanılarak yazılmıştır. Tayga, proje işbirliği, Kanban panosu, hata izleme, raporlama, zaman izleme, biriktirme listeleri, wiki ve daha fazlasını içerir.

Ön şartlar

Bu öğreticide, taiga.example.comsunucuya işaret eden etki alanı adı olarak kullanacağız . İle ilgili tüm tekrarlamaları taiga.example.comgerçek alan adınızla değiştirin.

CentOS 7'yi Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendikten sonra PostgreSQL'i kurmaya devam edin.

PostgreSQL'i yükleyin

PostgreSQL, kararlılığı ve hızı ile bilinen bir nesne-ilişkisel veritabanı sistemidir. Tayga veritabanını saklamak için PostgreSQL kullanıyor. PostgreSQL deposunu sisteme ekleyin.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

PostgreSQL veritabanı sunucusunu kurun.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Veritabanını başlatın.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

PostgreSQL sunucusunu başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Varsayılan PostgreSQL kullanıcısının parolasını değiştirin.

sudo passwd postgres

PostgreSQL kullanıcısı olarak oturum açın.

sudo su - postgres

Taiga için yeni bir PostgreSQL kullanıcısı oluşturun.

createuser taiga 

PostgreSQL psql, veritabanında sorgu çalıştırmak için kabuk sağlar . PostgreSQL kabuğuna geçin.

psql

Tayga veritabanı için yeni oluşturulan kullanıcı için bir şifre belirleyin.

ALTER USER taiga WITH ENCRYPTED password 'DBPassword';

DBPasswordGüvenli bir parola ile değiştirin . Tayga kurulumu için yeni bir veritabanı oluşturun.

CREATE DATABASE taiga OWNER taiga;

Kabuktan çıkın psql.

\q

sudoKullanıcıya geçin .

exit

Python 3'ü yükleyin

Python 2.7, bir CentOS 7 sunucusuna önceden yüklenmiş olarak gelir, ancak Taiga, Python sürüm 3.4 veya üstünü gerektirir.

Python 3.6 sürümünü kaynaktan yükleyeceğiz. Gerekli oluşturma araçlarını ve derleyiciyi kurun.

sudo yum -y install gcc autoconf flex bison libjpeg-turbo-devel freetype-devel zlib-devel zeromq3-devel gdbm-devel ncurses-devel automake libtool libffi-devel curl git tmux libxml2-devel libxslt-devel openssl-devel gcc-c++

Python kaynak kodunu indirin.

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

Python kurulumunu ayıklayın ve yapılandırın.

tar xf Python-3.6.3.tar.xz
cd Python-3.6.3
./configure --enable-optimizations --prefix=/usr

Alternatif bir kurulum yapın.

sudo make altinstall

Not : Alternatif yüklemeler, Python'un varsayılan sürümünü değiştirmeden Python 3.6'yı yükler. CentOS 7'de varsayılan Python'u değiştirirseniz, YUMdepo yöneticisini bozabilir .

Artık sürümünü kontrol edebileceksiniz.

python3.6 -V

Aşağıdakileri görmelisiniz.

[user@vultr Python-3.6.3]$ python3.6 -V
Python 3.6.3

Kullanarak Python Sanal Ortamı yükleyin pip.

sudo pip3.6 install virtualenv virtualenvwrapper
sudo pip3.6 install --upgrade setuptools pip 

Python sanal ortamı, bir Python projesi için yalıtılmış bir sanal ortam oluşturmak için kullanılır. Sanal ortam kendi yükleme dizinlerini içerir ve kütüphaneleri genel ve diğer sanal ortamlarla paylaşmaz.

RabbitMQ yükleyin

Tayga, mesaj kuyruğunu işlemek için RabbitMQ kullanır. RabbitMQ, Erlang kütüphanelerinin çalışmasını gerektirir. Erlang'ı yükleyin.

sudo yum -y install erlang

RabbitMQ GPG imzalama anahtarını içe aktarın.

sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

RabbitMQ yazılımını kurun.

sudo yum -y install https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el7.noarch.rpm

RabbitMQ sunucusunu başlatın ve etkinleştirin.

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

RabbitMQ kullanıcısı ve vhost ekleyin. Ayrıca, ana bilgisayar üzerinden kullanıcıya izin verin.

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

StrongMQPasswordGüvenli bir şifre ile değiştirdiğinizden emin olun .

Nodejs'i Yükle

Tayga'nın ön ucunu derlemek için Node.js sürüm 7 veya üstü gerekir. Node.js sürüm 8 deposunu ekleyin.

curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash -

Node.js dosyasını ve pwgenyardımcı programı yükleyin .

sudo yum install -y nodejs pwgen

pwgendaha sonra güçlü bir gizli dize oluşturmak için kullanılacaktır. CoffeeScript çerçevesiyle yazılmış Taiga dosyalarını derlemek için kullanılacağı için CoffeeScript'i yükleyin.

sudo npm install -g coffee-script gulp

Taiga Backend'i yükleyin

Taiga işlemlerinin ayrıcalıklı bir kullanıcı olarak çalışmasını sağlamak için Taiga için yeni bir sistem kullanıcısı ekleyin.

sudo useradd -s /bin/bash taiga
sudo su - taiga

Not : Bundan sonra, kullanıcıya taigageri dönmeniz istenene kadar tüm komutların ayrıcalıksız kullanıcı olarak çalıştırılması gerekir sudo.

Günlük dosyalarını saklamak için yeni bir dizin oluşturun.

mkdir -p ~/logs

GitHub'dan Tayga arka uç deposunu klonlayın ve en son kararlı şubeye göz atın.

git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back
git checkout stable

virtualenvwrapperVarsayılan Python yerine Python 3.6 kullanacak şekilde yapılandırın .

echo "VIRTUALENVWRAPPER_PYTHON='/bin/python3.6'" >> ~/.bashrc
echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc

Son olarak, ~/.bashrcdosyayı kaynaklayın.

source ~/.bashrc

Şimdi Python 3.6'yı kullanarak Taiga için yeni bir sanal ortam yapın.

mkvirtualenv -p /bin/python3.6 taiga
pip3.6 install --upgrade setuptools

Gerekli Python bağımlılıklarını kullanarak yükleyin pip.

pip3.6 install -r requirements.txt

Veritabanını gerekli başlangıç ​​verileriyle doldurun.

python3.6 manage.py migrate --noinput
python3.6 manage.py loaddata initial_user
python3.6 manage.py loaddata initial_project_templates
python3.6 manage.py compilemessages
python3.6 manage.py collectstatic --noinput

Yukarıdaki komutlar PostgreSQL veritabanına veri yazacaktır. Tayga ayrıca ürünü değerlendirmek için yararlı olabilecek bazı demo veya örnek veriler de gönderir. Örnek verileri yüklemek istiyorsanız, aşağıdakileri çalıştırın.

python3.6 manage.py sample_data

Not : Örnek verilerin yüklenmesi isteğe bağlıdır ve yalnızca ürünü değerlendirmek içindir.

Tayga arka ucu için yapılandırma dosyası oluşturmaya başlamadan önce gizli bir dize oluşturmanız gerekir. Bu dize, oturum verilerini şifrelemek için kullanılacaktır.

64 karakterlik rastgele bir dize oluşturun.

pwgen -s -1 64

Çıktıyı rastgele bir dize olarak görmelisiniz.

(taiga) [taiga@vultr taiga-back]$ pwgen -s -1 64
CZfjWjHctPwnLZsDysWqaZcYfRCviHbI4fVRwfhpbtAHPNBtmkcegpwpYjTtEziJ

Tayga Arka Uç için yeni bir yapılandırma dosyası oluşturun.

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

Dosyayı aşağıdaki kodla doldurun.

from .common import *

MEDIA_URL = "https://taiga.example.com/media/"
STATIC_URL = "https://taiga.example.com/static/"
SITES["front"]["scheme"] = "https"
SITES["front"]["domain"] = "taiga.example.com"

SECRET_KEY = "Generated_Secret_Key"

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:StrongMQPassword@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 = "mail.example.com"
#EMAIL_HOST_USER = "[email protected]"
#EMAIL_HOST_PASSWORD = "SMTPPassword"
#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"

Örnek alan adını yukarıdaki koddaki gerçek adla değiştirdiğinizden emin olun. Ayrıca, Generated_Secret_Keygerçek gizli anahtarla ve StrongMQPasswordTayga ileti kuyruğu kullanıcısı için gerçek parolayla değiştirin. Hazır bir SMTP sunucunuz varsa ve e-posta gönderme özelliklerini hemen kullanmak istiyorsanız, e-posta seçeneklerini kaldırabilir ve uygun değerleri ayarlayabilirsiniz. Hazır bir posta sunucunuz yoksa, şimdilik e-posta özelliğini ayarlamayı atlayabilir ve daha sonra bu yapılandırma dosyasında ayarlayabilirsiniz.

GitHub girişini etkinleştirmek istiyorsanız, GitHub'da bir uygulama oluşturun ve API istemci kimliğini ve istemci sırrını sağlayın.

Tayga arka ucunun başlatılıp başlatılmayacağını hemen kontrol etmek için yerleşik Django sunucusunu çalıştırın.

workon taiga
python manage.py runserver

Sunucu başarıyla başlatıldıysa aşağıdaki çıktıyı göreceksiniz.

(taiga) [taiga@vultr taiga-back]$ workon taiga
(taiga) [taiga@vultr taiga-back]$ python manage.py runserver
Trying import local.py settings...
Trying import local.py settings...
Performing system checks...

System check identified no issues (0 silenced).
October 25, 2017 - 07:07:28
Django version 1.10.6, using settings 'settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

API'ya erişilip erişilemeyeceğini doğrulamak için başka bir terminal oturumu açın ve aşağıdakileri çalıştırın.

curl http://127.0.0.1:8000/api/v1/

API çağrısı tarafından döndürülen benzer bir çıktı görürsünüz.

[user@vultr ~]$ curl http://127.0.0.1:8000/api/v1/
{"locales": "http://127.0.0.1:8000/api/v1/locales", "auth": "http://127.0.0.1:8000/api/v1/auth", "users": "http://127.0.0.1:8000/api/v1/users", "roles": "http://127.0.0.1:8000/api/v1/roles", "user-storage": "http://127.0.0.1:8000/api/v1/user-storage", "notify-policies": "http://127.0.0.1:8000/api/v1/notify-policies", "projects": "http://127.0.0.1:8000/api/v1/projects", "projects/(?P<resource_id>\\d+)/fans": "http://127.0.0.1:8000/api/v1/projects/(?P<resource_id>\\d+)/fans", "projects/(?P<resource_id>\\d+)/watchers": "http://127.0.0.1:8000/api/v1/projects/(?P<resource_id>\\d+)/watchers", "project-templates": "http://127.0.0.1:8000/api/v1/project-templates",

" Ctrl + C" Tuşuna basarak Tayga arka uç sunucusunu durdurun ve sanal ortamı devre dışı bırakın .

deactivate

Kullanıcı Arabirimini Yükle

Taiga ön ucu, Taiga'nın İnternet kullanıcı arayüzüne hizmet eden bileşenidir. Taiga ön uç deposunu Github'dan klonlayın ve en son kararlı şubeye göz atın.

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

Tayga ön ucu için yeni bir yapılandırma dosyası oluşturun.

nano ~/taiga-front-dist/dist/conf.json

Dosyayı bununla doldurun.

{
    "api": "https://taiga.example.com/api/v1/",
    "eventsUrl": "wss://taiga.example.com/events",
    "eventsMaxMissedHeartbeats": 5,
    "eventsHeartbeatIntervalTime": 60000,
    "eventsReconnectTryInterval": 10000,
    "debug": true,
    "debugInfo": false,
    "defaultLanguage": "en",
    "themes": ["taiga"],
    "defaultTheme": "taiga",
    "publicRegisterEnabled": true,
    "feedbackEnabled": true,
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": [],
    "tribeHost": null,
    "importers": [],
    "gravatar": true
}

exampleAlan adını gerçek alan adıyla değiştirdiğinizden emin olun . Yukarıdaki yapılandırmada varsayılan dili ve diğer parametreleri de değiştirebilirsiniz.

Tayga Olaylarını Yükle

Ön uç ve arka uç dışında Taiga etkinliklerini de kurmamız gerekiyor. Taiga etkinlikleri bir web soket sunucusudur ve Taiga ön ucunun biriktirme listesi, Kanban ve daha fazlası gibi modüllerde gerçek zamanlı değişiklikler göstermesini sağlar. İleti işleme için RabbitMQ sunucusunu kullanır.

Tayga olay deposunu Github'dan kopyalayın.

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

Kullanarak Node.js bağımlılıklarını yükleyin npm.

npm install

Tayga olayları için yeni bir yapılandırma dosyası oluşturun.

nano ~/taiga-events/config.json

Dosyayı aşağıdakilerle doldurun.

{
    "url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga",
    "secret": "Generated_Secret_Key",
    "webSocketServer": {
        "port": 8888
    }
}

Generated_Secret_KeyGeçmişte oluşturduğunuz gerçek 64 karakter uzunluğunda gizli anahtarla değiştirin . Gizli anahtar, Tayga arka uç yapılandırma dosyasında sağladığınız anahtarla tamamen aynı olmalıdır. Ayrıca, StrongMQPasswordTaiga ileti kuyruğu kullanıcısı için gerçek parolayla güncelleyin .

Sirki Yapılandır

Circus Python uygulamaları için bir süreç yöneticisidir. Taiga arka ucunu ve olaylarını yönetmek için Circus'u kullanacağız.

sudoKullanıcıya geri dönün .

exit

Not : Artık komutları sudokullanıcı kullanarak çalıştırmanız gerekecektir .

Kullanarak Circus'i kurun pip.

sudo pip3.6 install circus

Circus yapılandırmalarını saklamak için yeni dizinler oluşturun.

sudo mkdir /etc/circus
sudo mkdir /etc/circus/conf.d

Circus için varsayılan yapılandırma dosyasını oluşturun.

sudo nano /etc/circus/circus.ini

Dosyayı aşağıdaki yapılandırmayla doldurun.

[circus]
check_delay = 5
endpoint = tcp://127.0.0.1:5555
pubsub_endpoint = tcp://127.0.0.1:5556
include = /etc/circus/conf.d/*.ini

Tayga arka ucunu çalıştırmak için yeni bir Circus yapılandırma dosyası oluşturun.

sudo nano /etc/circus/conf.d/taiga.ini

Dosyayı aşağıdakilerle doldurun.

[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.6/site-packages

Tayga Olaylarını çalıştırmak için yeni bir Sirk yapılandırması oluşturun.

sudo nano /etc/circus/conf.d/taiga-events.ini

Dosyayı aşağıdakilerle doldurun.

[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

Şimdi systemdCircus'u çalıştırmak için bir servis dosyası oluşturmamız gerekecek . Kullanmak systemd, Circus'un yeniden başlatma ve arızalar sırasında otomatik olarak başlatılmasını sağlayacaktır.

sudo nano /etc/systemd/system/circus.service

Dosyayı doldurun.

[Unit]
Description=Circus process manager
After=syslog.target network.target nss-lookup.target
[Service]
Type=simple
ExecReload=/usr/bin/circusctl reload
ExecStart=/usr/bin/circusd /etc/circus/circus.ini
Restart=always
RestartSec=5

[Install]
WantedBy=default.target

Circus'u başlatın ve önyükleme zamanında otomatik olarak başlamayı etkinleştirin.

sudo systemctl start circus
sudo systemctl enable circus

Sirk durumunu kontrol edin.

circusctl status

Aşağıdaki çıktıyı göreceksiniz.

[user@vultr ~]$ circusctl status
taiga: active
taiga-events: active

Şimdi, Taiga başarıyla kuruldu ve çalışıyor. Kullanmadan önce, herhangi bir üretim web sunucusunu kullanarak kurulumu açığa çıkarmamız gerekir.

Nginx'i Ters Proxy olarak yükleyin

Uygulamayı kullanıcılara sunmak için Nginx web sunucusunu ters proxy olarak kullanacağız. Ayrıca Let's Encrypt'ten SSL sertifikaları alıp yükleyeceğiz.

Nginx ve Certbot'u yükleyin. Certbot, Let's Encrypt CA için resmi sertifika veren istemcidir.

sudo yum -y install nginx certbot

Güvenlik duvarı ayarınızı , Certbot'un etki alanı yetkilisini doğrulamak için bir HTTP bağlantısı yapması gerektiğinden , standart HTTPve HTTPSgüvenlik duvarı üzerinden bağlantı noktalarına izin verecek şekilde ayarlayın .

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Not : Let's Encrypt CA'dan sertifika almak için, sertifika oluşturmak istediğiniz etki alanının sunucuya yönlendirildiğinden emin olmalısınız. Değilse, alan adınızın DNS kayıtlarında gerekli değişiklikleri yapın ve sertifika isteğini tekrar yapmadan önce DNS'nin yayılmasını bekleyin. Certbot, sertifikaları vermeden önce etki alanı yetkilisini denetler.

Şimdi alan adınız için sertifikalar oluşturmak üzere Certbot'taki yerleşik web sunucusunu kullanın.

sudo certbot certonly --standalone -d taiga.example.com

Oluşturulan sertifikaların /etc/letsencrypt/live/taiga.example.com/dizinde depolanması muhtemeldir . SSL sertifikası olarak tutulur fullchain.pemve özel anahtar olarak kaydedilir privkey.pem.

Sertifikaların şifrelenmesini 90 gün içinde sona erdirelim, bu nedenle Cron işlerini kullanan sertifikalar için otomatik yenileme ayarlamanız önerilir. Cron, periyodik görevleri yürütmek için kullanılan bir sistem hizmetidir.

Cron iş dosyasını açın.

sudo crontab -e

Aşağıdaki satırı ekleyin.

0 0 * * * /usr/bin/certbot renew --quiet

Yukarıdaki cron işi her gün gece yarısı çalışır. Sertifikanın geçerlilik süresi dolmuşsa, sertifikaları otomatik olarak yeniler.

Güçlü bir Diffie-Hellmanparametre oluşturun . Ana bilgisayar ile sunucu arasında veri alışverişi için ekstra bir güvenlik katmanı sağlar.

sudo openssl dhparam -out /etc/ssl/dhparam.pem 2048 

Tayga ön ucuna hizmet vermek için yeni bir Nginx sunucu bloğu oluşturun.

sudo nano /etc/nginx/conf.d/taiga.conf

Dosyayı aşağıdakilerle doldurun.

server {
    listen 80;
    server_name taiga.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name taiga.example.com;

    access_log /home/taiga/logs/nginx.access.log;
    error_log /home/taiga/logs/nginx.error.log;

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

    index index.html;

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

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

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

    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
    add_header Public-Key-Pins 'pin-sha256="klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY="; pin-sha256="633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q="; max-age=2592000; includeSubDomains';

    ssl on;
    ssl_certificate /etc/letsencrypt/live/taiga.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/taiga.example.com/privkey.pem;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';
    ssl_session_cache shared:SSL:10m;
    ssl_dhparam /etc/ssl/dhparam.pem;
    ssl_stapling on;
    ssl_stapling_verify on;

}

Etki alanı adını ve SSL sertifikalarının yolunu değiştirdiğinizden emin olun.

Artık Nginx web sunucusunu yeniden başlatabilir ve önyüklemede otomatik olarak başlamasını sağlayabilirsiniz.

sudo systemctl restart nginx
sudo systemctl status nginx

Son olarak, Taiga dosyalarındaki sahipliği ve izni düzeltin.

sudo chown -R taiga:taiga /home/taiga/
sudo chmod o+x /home/taiga/

Sonuç

Şimdi Taiga kurulumuna adresine giderek erişebilirsiniz https://taiga.example.com. " admin" Kullanıcı adı ve " 123123" şifresi ile ilk yönetici hesabını kullanarak giriş yapın . Kurulumunuz artık üretim kullanımına hazırdır. Yeni bir proje oluşturarak veya ürünü değerlendirerek başlayın. Github, Jira veya Trello'da zaten bir proje yönetiyorsanız, ithalatçıları kullanarak projeleri kolayca Taiga'ya aktarabilirsiniz .



Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun