Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Taiga adalah aplikasi sumber terbuka dan gratis untuk manajemen proyek. Tidak seperti alat manajemen proyek lainnya, Taiga menggunakan pendekatan gesit tambahan untuk mengelola pengembangan proyek. Taiga adalah aplikasi yang sangat kuat dan sepenuhnya dapat disesuaikan. Backend dari Taiga ditulis dalam Python menggunakan kerangka Django. Frontend ditulis dalam JavaScript menggunakan kerangka kerja CoffeeScript dan AngularJS. Taiga mencakup fitur seperti kolaborasi proyek, papan Kanban, pelacakan bug, pelaporan, pelacakan waktu, backlog, wiki, dan lainnya.
Dalam tutorial ini, kita akan menggunakan taiga.example.com
nama domain yang menunjuk ke server. Ganti semua kemunculan taiga.example.com
dengan nama domain Anda yang sebenarnya.
Perbarui sistem basis Anda menggunakan panduan Cara Memperbarui CentOS 7 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal PostgreSQL.
PostgreSQL adalah sistem basis data objek-relasional yang dikenal dengan stabilitas dan kecepatannya. Taiga menggunakan PostgreSQL untuk menyimpan databasenya. Tambahkan repositori PostgreSQL ke dalam sistem.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Instal server database PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Inisialisasi basis data.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Mulai server PostgreSQL dan aktifkan untuk memulai secara otomatis saat boot.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Ubah kata sandi untuk pengguna PostgreSQL default.
sudo passwd postgres
Masuk sebagai pengguna PostgreSQL.
sudo su - postgres
Buat pengguna PostgreSQL baru untuk Taiga.
createuser taiga
PostgreSQL menyediakan psql
shell untuk menjalankan query pada database. Beralih ke shell PostgreSQL.
psql
Tetapkan kata sandi untuk pengguna yang baru dibuat untuk database Taiga.
ALTER USER taiga WITH ENCRYPTED password 'DBPassword';
Ganti DBPassword
dengan kata sandi aman. Buat database baru untuk instalasi Taiga.
CREATE DATABASE taiga OWNER taiga;
Keluar dari psql
shell.
\q
Beralih ke sudo
pengguna.
exit
Python 2.7 telah diinstal sebelumnya pada server CentOS 7, tetapi Taiga membutuhkan Python versi 3.4 atau yang lebih baru.
Kami akan menginstal Python versi 3.6 dari sumber. Instal alat build dan kompiler yang diperlukan.
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++
Unduh kode sumber Python.
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz
Ekstrak dan konfigurasikan instalasi Python.
tar xf Python-3.6.3.tar.xz
cd Python-3.6.3
./configure --enable-optimizations --prefix=/usr
Lakukan pemasangan alternatif.
sudo make altinstall
Catatan : Instalasi alternatif menginstal Python 3.6 tanpa mengganti versi standar Python. Jika Anda mengganti Python default di CentOS 7, itu mungkin merusak YUM
manajer repositori.
Anda sekarang dapat memeriksa versinya.
python3.6 -V
Anda harus melihat yang berikut ini.
[user@vultr Python-3.6.3]$ python3.6 -V
Python 3.6.3
Instal Python Virtual Environment menggunakan pip
.
sudo pip3.6 install virtualenv virtualenvwrapper
sudo pip3.6 install --upgrade setuptools pip
Lingkungan virtual Python digunakan untuk membuat lingkungan virtual yang terisolasi untuk proyek Python. Lingkungan virtual berisi direktori pemasangannya sendiri dan tidak berbagi perpustakaan dengan lingkungan virtual global dan lainnya.
Taiga menggunakan RabbitMQ untuk memproses antrian pesan. RabbitMQ membutuhkan perpustakaan Erlang untuk bekerja. Instal Erlang.
sudo yum -y install erlang
Impor kunci penandatanganan RabbitMQ GPG.
sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
Instal RabbitMQ.
sudo yum -y install https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el7.noarch.rpm
Mulai dan aktifkan server RabbitMQ.
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
Tambahkan pengguna RabbitMQ dan vhost. Juga, berikan izin kepada pengguna melalui host.
sudo rabbitmqctl add_user taiga StrongMQPassword
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
Pastikan untuk mengganti StrongMQPassword
dengan kata sandi yang aman.
Diperlukan Node.js versi 7 atau lebih baru untuk mengkompilasi frontend Taiga. Tambahkan repositori Node.js versi 8.
curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash -
Instal Node.js dan pwgen
utilitasnya.
sudo yum install -y nodejs pwgen
pwgen
akan digunakan nanti untuk menghasilkan string rahasia yang kuat. Instal CoffeeScript, karena akan digunakan untuk mengkompilasi file Taiga yang ditulis dengan kerangka kerja CoffeeScript.
sudo npm install -g coffee-script gulp
Tambahkan pengguna sistem baru untuk Taiga untuk memastikan bahwa proses Taiga berjalan sebagai pengguna yang tidak memiliki hak.
sudo useradd -s /bin/bash taiga
sudo su - taiga
Catatan : Mulai sekarang, semua perintah harus dijalankan sebagai pengguna yang tidak memiliki hak pribadi taiga
sampai Anda diminta untuk kembali ke sudo
pengguna.
Buat direktori baru untuk menyimpan file log.
mkdir -p ~/logs
Kloning repositori backend Taiga dari GitHub dan checkout cabang stabil terbaru.
git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back
git checkout stable
Konfigurasikan virtualenvwrapper
untuk menggunakan Python 3.6 alih-alih Python default.
echo "VIRTUALENVWRAPPER_PYTHON='/bin/python3.6'" >> ~/.bashrc
echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc
Akhirnya, sumber ~/.bashrc
file.
source ~/.bashrc
Sekarang buat lingkungan virtual baru untuk Taiga menggunakan Python 3.6.
mkvirtualenv -p /bin/python3.6 taiga
pip3.6 install --upgrade setuptools
Instal dependensi Python yang diperlukan menggunakan pip
.
pip3.6 install -r requirements.txt
Mengisi basis data dengan data awal yang diperlukan.
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
Perintah di atas akan menulis data ke dalam database PostgreSQL. Taiga juga mengirimkan beberapa data demo atau sampel yang dapat berguna untuk mengevaluasi produk. Jika Anda ingin menginstal data sampel, jalankan yang berikut ini.
python3.6 manage.py sample_data
Catatan : Memasang data sampel adalah opsional dan hanya dimaksudkan untuk mengevaluasi produk.
Sebelum kita melanjutkan untuk membuat file konfigurasi untuk backend Taiga, kita perlu membuat string rahasia. String ini akan digunakan untuk mengenkripsi data sesi.
Hasilkan string acak 64 karakter.
pwgen -s -1 64
Anda harus melihat output sebagai string acak.
(taiga) [taiga@vultr taiga-back]$ pwgen -s -1 64
CZfjWjHctPwnLZsDysWqaZcYfRCviHbI4fVRwfhpbtAHPNBtmkcegpwpYjTtEziJ
Buat file konfigurasi baru untuk Backend Taiga.
nano ~/taiga-back/settings/local.py
Isi file dengan kode berikut.
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"
Pastikan untuk mengganti nama domain contoh dengan yang sebenarnya dalam kode di atas. Juga, ganti Generated_Secret_Key
dengan kunci rahasia yang sebenarnya dan StrongMQPassword
dengan kata sandi yang sebenarnya untuk pengguna antrian pesan Taiga. Jika Anda memiliki server SMTP yang siap dan Anda ingin segera menggunakan fitur pengiriman email, Anda dapat menghapus komentar opsi email dan mengatur nilai yang sesuai. Jika Anda tidak memiliki server surat yang siap, Anda dapat melewati pengaturan fitur email untuk saat ini dan mengaturnya nanti dalam file konfigurasi ini.
Jika Anda ingin mengaktifkan login GitHub, buat aplikasi di GitHub dan berikan ID klien API dan rahasia klien.
Untuk segera memeriksa apakah backend Taiga dapat dimulai, jalankan server Django bawaan.
workon taiga
python manage.py runserver
Anda akan melihat output berikut jika server telah mulai berhasil.
(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.
Untuk memverifikasi apakah API dapat diakses, buka sesi terminal lain dan jalankan yang berikut.
curl http://127.0.0.1:8000/api/v1/
Anda akan melihat output yang sama dikembalikan oleh panggilan API.
[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",
Hentikan server backend Taiga dengan menekan " Ctrl + C
" dan menonaktifkan lingkungan virtual.
deactivate
Frontend Taiga adalah komponen Taiga yang melayani antarmuka pengguna Web. Kloning repositori frontend Taiga dari Github dan checkout cabang stabil terbaru.
cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
cd taiga-front-dist
git checkout stable
Buat file konfigurasi baru untuk frontend Taiga.
nano ~/taiga-front-dist/dist/conf.json
Isi file dengan ini.
{
"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
}
Pastikan untuk mengganti example
domain dengan domain yang sebenarnya. Anda juga dapat mengubah bahasa default dan parameter lain dalam konfigurasi di atas.
Terlepas dari frontend dan backend, kita juga perlu menginstal acara Taiga. Peristiwa Taiga adalah server soket web, dan memungkinkan antarmuka Taiga untuk menampilkan perubahan waktu-nyata pada modul seperti backlog, Kanban, dan lainnya. Ini menggunakan server RabbitMQ untuk pemrosesan pesan.
Klon repositori acara Taiga dari Github.
cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events
Instal dependensi Node.js menggunakan npm
.
npm install
Buat file konfigurasi baru untuk acara Taiga.
nano ~/taiga-events/config.json
Isi file dengan yang berikut ini.
{
"url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga",
"secret": "Generated_Secret_Key",
"webSocketServer": {
"port": 8888
}
}
Ganti Generated_Secret_Key
dengan kunci rahasia panjang aktual 64 karakter yang telah Anda buat di masa lalu. Kunci rahasia harus persis sama dengan kunci yang Anda berikan di file konfigurasi backend Taiga. Juga, perbarui StrongMQPassword
dengan kata sandi yang sebenarnya untuk pengguna antrian pesan Taiga.
Circus adalah manajer proses untuk aplikasi Python. Kami akan menggunakan Circus untuk menjalankan backend dan acara Taiga.
Beralih kembali ke sudo
pengguna.
exit
Catatan : Mulai sekarang Anda harus menjalankan perintah menggunakan sudo
pengguna.
Instal Circus menggunakan pip
.
sudo pip3.6 install circus
Buat direktori baru untuk menyimpan konfigurasi Circus.
sudo mkdir /etc/circus
sudo mkdir /etc/circus/conf.d
Buat file konfigurasi default untuk Circus.
sudo nano /etc/circus/circus.ini
Populasikan file dengan konfigurasi berikut.
[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
Buat file konfigurasi Circus baru untuk menjalankan backend Taiga.
sudo nano /etc/circus/conf.d/taiga.ini
Isi file dengan yang berikut ini.
[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
Buat konfigurasi Sirkus baru untuk menjalankan Acara Taiga.
sudo nano /etc/circus/conf.d/taiga-events.ini
Isi file dengan yang berikut ini.
[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
Sekarang kita perlu membuat systemd
file layanan untuk menjalankan Circus. Menggunakan systemd
akan memastikan bahwa Circus secara otomatis dimulai selama reboot dan kegagalan.
sudo nano /etc/systemd/system/circus.service
Mengisi file.
[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
Mulai Sirkus dan aktifkan mulai saat boot secara otomatis.
sudo systemctl start circus
sudo systemctl enable circus
Periksa status Circus.
circusctl status
Anda akan melihat output berikut.
[user@vultr ~]$ circusctl status
taiga: active
taiga-events: active
Sekarang, kami telah menginstal dan menjalankan Taiga. Sebelum kita dapat menggunakannya, kita perlu mengekspos instalasi menggunakan server web produksi apa pun.
Kami akan menggunakan server web Nginx sebagai proxy terbalik untuk melayani aplikasi kepada pengguna. Kami juga akan mendapatkan dan menginstal sertifikat SSL dari Let's Encrypt.
Instal Nginx dan Certbot. Certbot adalah klien yang mengeluarkan sertifikat resmi untuk Let's Encrypt CA.
sudo yum -y install nginx certbot
Sesuaikan pengaturan firewall Anda untuk memungkinkan standar HTTP
dan HTTPS
port melalui firewall karena Certbot perlu membuat koneksi HTTP untuk memverifikasi otoritas domain.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Catatan : Untuk mendapatkan sertifikat dari Let's Encrypt CA, Anda harus memastikan bahwa domain yang Anda inginkan untuk menghasilkan sertifikat diarahkan ke server. Jika tidak, maka buat perubahan yang diperlukan pada catatan DNS domain Anda dan tunggu sampai DNS menyebar sebelum membuat permintaan sertifikat lagi. Certbot memeriksa otoritas domain sebelum memberikan sertifikat.
Sekarang gunakan server web bawaan di Certbot untuk menghasilkan sertifikat untuk domain Anda.
sudo certbot certonly --standalone -d taiga.example.com
Sertifikat yang dihasilkan cenderung disimpan di /etc/letsencrypt/live/taiga.example.com/
direktori. Sertifikat SSL akan dipertahankan sebagai fullchain.pem
, dan kunci pribadi akan disimpan sebagai privkey.pem
.
Mari Enkripsi sertifikat kedaluwarsa dalam 90 hari, jadi disarankan untuk menyiapkan perpanjangan otomatis untuk sertifikat menggunakan pekerjaan Cron. Cron adalah layanan sistem yang digunakan untuk menjalankan tugas-tugas berkala.
Buka file tugas cron.
sudo crontab -e
Tambahkan baris berikut.
0 0 * * * /usr/bin/certbot renew --quiet
Pekerjaan cron di atas akan berjalan setiap hari di tengah malam. Jika sertifikat akan kedaluwarsa, sertifikat akan diperpanjang secara otomatis.
Hasilkan Diffie-Hellman
parameter yang kuat . Ini memberikan lapisan keamanan ekstra untuk pertukaran data antara host dan server.
sudo openssl dhparam -out /etc/ssl/dhparam.pem 2048
Buat blok server Nginx baru untuk melayani frontend Taiga.
sudo nano /etc/nginx/conf.d/taiga.conf
Isi file dengan yang berikut ini.
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;
}
Pastikan untuk mengubah nama domain dan jalur ke sertifikat SSL.
Sekarang Anda dapat memulai kembali server web Nginx dan mengaktifkannya untuk memulai saat boot secara otomatis.
sudo systemctl restart nginx
sudo systemctl status nginx
Akhirnya, perbaiki kepemilikan dan izin pada file Taiga.
sudo chown -R taiga:taiga /home/taiga/
sudo chmod o+x /home/taiga/
Anda sekarang dapat mengakses instalasi Taiga dengan masuk ke https://taiga.example.com
. Masuk menggunakan akun administrator awal dengan nama pengguna " admin
" dan kata sandi " 123123
". Instalasi Anda sekarang siap untuk digunakan produksi. Mulailah dengan membuat proyek baru atau mengevaluasi produk. Jika Anda sudah mengelola proyek di Github, Jira, atau Trello, Anda dapat dengan mudah mengimpor proyek ke Taiga menggunakan importir .
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut