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.
CentOS 7'yi Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendikten sonra PostgreSQL'i kurmaya devam edin.
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';
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
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, YUM
depo 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.
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 ".*" ".*" ".*"
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://rpm.nodesource.com/setup_8.x | sudo -E bash -
Node.js dosyasını ve pwgen
yardımcı programı yükleyin .
sudo yum install -y nodejs pwgen
pwgen
daha 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 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 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
virtualenvwrapper
Varsayı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, ~/.bashrc
dosyayı 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_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ğ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
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
}
example
Alan 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.
Ö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_Key
Geç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, 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 .
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 systemd
Circus'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.
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 HTTP
ve HTTPS
gü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.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
parametre 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/
Ş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