Ubuntu 16.04 Üzerinde Tayga Proje Yönetim Aracı Nasıl Kurulur

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.

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

PostgreSQL'i yükleyin

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

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

GPG imzalama anahtarını içe aktarın ve paket listelerini güncelleyin.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

PostgreSQL veritabanı sunucusunu kurun.

sudo apt -y install postgresql

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

sudo systemctl start postgresql
sudo systemctl enable postgresql

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'u yükle

Taiga, Python sürüm 3.4 veya üstünü gerektirir ve Python 3.5, Ubuntu 16.04 dağıtımında önceden yüklenmiş olarak gelir. Birkaç tane daha gerekli paket yükleyin.

sudo apt -y install python3 python3-pip python3-dev python3-dev virtualenvwrapper

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. Python 3 başarıyla kurulduktan sonra sürümünü kontrol edebilmelisiniz.

python3 -V

Aşağıdakileri göreceksiniz.

user@vultr:~$ python3 -V
Python 3.5.2

Yükseltme pip, bir bağımlılık yöneticisi uygulamasıdır.

sudo pip3 install --upgrade setuptools pip 

Ayrıca, bağımlılıkları derlemek için daha sonra gerekli olacak birkaç derleme aracını yükleyin.

sudo apt -y install 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

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 apt -y install erlang

RabbitMQ deposunu ekleyin.

echo 'deb http://www.rabbitmq.com/debian/ stable main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list

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

wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -

Depo bilgilerini güncelleyin.

sudo apt update

RabbitMQ yazılımını kurun.

sudo apt -y install rabbitmq-server

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

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

Bir 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://deb.nodesource.com/setup_8.x | sudo -E bash -

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

sudo apt install -y nodejs pwgen npm

pwgendaha sonra güçlü bir gizli dize oluşturmak için kullanılacaktır. CoffeeScript çerçevesinde 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 adduser 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

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

mkvirtualenv -p /usr/bin/python3 taiga
pip3 install --upgrade setuptools

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

pip3 install -r requirements.txt

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

python3 manage.py migrate --noinput
python3 manage.py loaddata initial_user
python3 manage.py loaddata initial_project_templates
python3 manage.py compilemessages
python3 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 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
fhDfyYVJ4EH3tvAyUzmfWSeCXuf5sy5EEWrMQPaf9t3JSFrpiL6yvUEOWsFOTscP

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"

example domain nameYukarıdaki koddaki gerçek ile 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ğeri 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 28, 2017 - 10:29:38
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 çıktıyı göreceksiniz.

user@vultr:~$ curl http://127.0.0.1:8000/api/v1/
{"webhooks": "http://127.0.0.1:8000/api/v1/webhooks", "invitations": "http://127.0.0.1:8000/api/v1/invitations", "severities": "http://127.0.0.1:8000/api/v1/severities", "memberships": "http://127.0.0.1:8000/api/v1/memberships", "user-storage": "http://127.0.0.1:8000/api/v1/user-storage", "epics/(?P<resource_id>\\d+)/voters": "http://127.0.0.1:8000/api/v1/epics/(?P<resource_id>\\d+)/voters", "wiki": "http://127.0.0.1:8000/api/v1/wiki", "priorities": "http://127.0.0.1:8000/api/v1/priorities", "userstories/attachments": "http://127.0.0.1:8000/api/v1/userstories/attachments", "epics/(?P<epic>[^/.]+)/related_userstories": "http://127.0.0.1:8000/api/v1/epics/(?P<epic>[^/.]+)/related_userstories", "timeline/user": "http://127.0.0.1:8000/api/v1/timeline/user", "userstories/(?P<resource_id>\\d+)/voters": "http://127.0.0.1:8000/api/v1/userstories/(?P<resource_id>\\d+)/voters", "wiki-links": "http://127.0.0.1:8000/api/v1/wiki-links", "epics/attachments": "http://127.0.0.1:8000/api/v1/epics/attachments", "issues/custom-attributes-values": "http://127.0.0.1:8000/api/v1/issues/custom-attributes-values

" 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ı 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
}

İle example domaingerçek alan adını 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 da 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ı doldurun.

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

Generated_Secret_KeyDaha önce 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 .

sudo apt -y install circus

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ı 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.5/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ı doldurun.

[watcher:taiga-events]
working_dir = /home/taiga/taiga-events
cmd = /usr/local/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

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

sudo systemctl restart circusd
sudo systemctl enable circusd

Sirk durumunu kontrol edin.

circusctl status

Circus tüm Tayga işlemlerini doğru bir şekilde başlattıysa, aşağıdaki çıktıyı göreceksiniz.

user@vultr:~$ circusctl status
circusd-stats: active
plugin:flapping: active
taiga: active
taiga-events: active

İşlemlerden herhangi birinin etkin olmadığını görürseniz, sudo chmod -R 777 /home/taiga/logsCircus'u çalıştırın ve yeniden başlatın. Sirk süreçlerinin durumunu tekrar kontrol edin, bu sefer servisin çalıştığını kesinlikle bulacaksınız.

Ş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'i ters proxy olarak kullanacağız. Ayrıca Let's Encrypt'ten SSL sertifikaları alıp yükleyeceğiz.

Certbot, Let's Encrypt CA için resmi sertifika veren istemcidir. Certbot PPA veri havuzunu sisteme ekleyin.

sudo add-apt-repository ppa:certbot/certbot
sudo apt update

Nginx ve Certbot'u yükleyin.

sudo apt -y install nginx certbot

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-Hellman parametresi oluşturun. Ana bilgisayar ve 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/sites-available/taiga

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;

}

Değiştirmek emin olun domain nameve path to the SSL certificates. Sanal ana bilgisayarı etkinleştirin.

sudo ln -s /etc/nginx/sites-available/taiga /etc/nginx/sites-enabled/taiga

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