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
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.
Bu öğreticide, taiga.example.com
sunucuya işaret eden etki alanı adı olarak kullanacağız . İle ilgili tüm tekrarlamaları taiga.example.com
gerç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 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';
DBPassword
Gü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
sudo
Kullanıcıya geçin .
exit
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
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 ".*" ".*" ".*"
StrongMQPassword
Güvenli bir şifre ile değiştirdiğinizden emin olun .
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 pwgen
yardımcı programı yükleyin .
sudo apt install -y nodejs pwgen npm
pwgen
daha 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 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 taiga
geri 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 name
Yukarıdaki koddaki gerçek ile değiştirdiğinizden emin olun . Ayrıca, Generated_Secret_Key
gerçek gizli anahtarla ve StrongMQPassword
Tayga 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
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 domain
gerç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.
Ö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_Key
Daha ö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, StrongMQPassword
Taiga ileti kuyruğu kullanıcısı için gerçek parolayla güncelleyin .
Circus Python uygulamaları için bir süreç yöneticisidir. Taiga arka ucunu ve olaylarını yönetmek için Circus'u kullanacağız.
sudo
Kullanıcıya geri dönün .
exit
Not : Artık komutları sudo
kullanı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/logs
Circus'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.
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.pem
ve ö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 name
ve 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/
Ş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 .
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
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.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
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, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek 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, 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!
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.
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