Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Taiga adalah aplikasi sumber terbuka dan bebas untuk pengurusan projek. Tidak seperti alat pengurusan projek yang lain, Taiga menggunakan pendekatan tangkas tambahan untuk mengurus pembangunan projek. Taiga adalah aplikasi yang sangat kuat dan dapat disesuaikan sepenuhnya. Bahagian belakang Taiga ditulis dalam Python menggunakan kerangka Django. Bahagian depan ditulis dalam JavaScript menggunakan kerangka CoffeeScript dan AngularJS. Taiga merangkumi ciri seperti kolaborasi projek, papan Kanban, pelacakan pepijat, pelaporan, penjejakan masa, backlog, wiki dan banyak lagi.
Dalam tutorial ini, kita akan menggunakan taiga.example.com
sebagai nama domain yang ditunjuk ke pelayan. Ganti semua kejadian taiga.example.com
dengan nama domain sebenar anda.
Kemas kini sistem asas anda menggunakan panduan Cara Kemaskini Ubuntu 16.04 . Setelah sistem anda dikemas kini, terus pasang PostgreSQL.
PostgreSQL adalah sistem pangkalan data objek hubungan dan dikenali untuk kestabilan dan kelajuannya. Taiga menggunakan PostgreSQL untuk menyimpan pangkalan data. Tambahkan repositori PostgreSQL ke dalam sistem.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
Import kunci tandatangan GPG dan kemas kini senarai pakej.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
Pasang pelayan pangkalan data PostgreSQL.
sudo apt -y install postgresql
Mulakan pelayan PostgreSQL dan dayakannya secara automatik pada masa boot.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Tukar kata laluan untuk pengguna PostgreSQL lalai.
sudo passwd postgres
Log masuk sebagai pengguna PostgreSQL.
sudo su - postgres
Buat pengguna PostgreSQL baru untuk Taiga.
createuser taiga
PostgreSQL menyediakan psql
shell untuk menjalankan pertanyaan pada pangkalan data. Beralih ke shell PostgreSQL.
psql
Tetapkan kata laluan untuk pengguna Taiga pangkalan data yang baru dibuat.
ALTER USER taiga WITH ENCRYPTED password 'DBPassword';
Gantikan DBPassword
dengan kata laluan yang selamat. Buat pangkalan data baru untuk pemasangan Taiga.
CREATE DATABASE taiga OWNER taiga;
Keluar dari psql
cangkerang.
\q
Beralih kepada sudo
pengguna.
exit
Taiga memerlukan Python versi 3.4 atau lebih baru dan Python 3.5 hadir di pra-pemasangan dalam pengedaran Ubuntu 16.04. Pasang beberapa pakej yang diperlukan.
sudo apt -y install python3 python3-pip python3-dev python3-dev virtualenvwrapper
Persekitaran maya Python digunakan untuk membuat persekitaran maya terpencil untuk projek Python. Persekitaran maya mengandungi direktori pemasangannya sendiri dan tidak berkongsi perpustakaan dengan persekitaran maya global dan lain-lain. Setelah Python 3 berjaya dipasang, anda semestinya dapat memeriksa versinya.
python3 -V
Anda akan melihat perkara berikut.
user@vultr:~$ python3 -V
Python 3.5.2
Naik taraf pip
, yang merupakan aplikasi pengurus pergantungan.
sudo pip3 install --upgrade setuptools pip
Juga, Pasang beberapa alat binaan yang akan diperlukan kemudian untuk menyusun pergantungan.
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
Taiga menggunakan RabbitMQ untuk memproses barisan mesej. RabbitMQ memerlukan perpustakaan Erlang berfungsi. Pasang Erlang.
sudo apt -y install erlang
Tambahkan repositori RabbitMQ.
echo 'deb http://www.rabbitmq.com/debian/ stable main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
Import kunci tandatangan RabbitMQ GPG.
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
Kemas kini maklumat repositori.
sudo apt update
Pasang RabbitMQ.
sudo apt -y install rabbitmq-server
Mulakan dan aktifkan pelayan RabbitMQ.
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
Tambahkan pengguna dan vhost RabbitMQ. Juga, berikan kebenaran kepada pengguna melalui hos.
sudo rabbitmqctl add_user taiga StrongMQPassword
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
Pastikan untuk mengganti StrongMQPassword
dengan kata laluan yang selamat.
Node.js versi 7 atau lebih baru diperlukan untuk menyusun frontend Taiga. Tambahkan repositori Node.js versi 8.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Pasang Node.js dan pwgen
utiliti.
sudo apt install -y nodejs pwgen npm
pwgen
akan digunakan kemudian untuk menghasilkan rentetan rahsia yang kuat. Pasang CoffeeScript, kerana akan digunakan untuk menyusun fail Taiga yang ditulis dalam kerangka CoffeeScript.
sudo npm install -g coffee-script gulp
Tambahkan pengguna sistem baru untuk Taiga untuk memastikan bahawa proses Taiga berjalan sebagai pengguna yang tidak istimewa.
sudo adduser taiga
sudo su - taiga
Catatan : Mulai sekarang, semua perintah perlu dijalankan sebagai pengguna yang tidak berhak taiga
sehingga anda diminta untuk beralih kembali ke sudo
pengguna.
Buat direktori baru untuk menyimpan fail log.
mkdir -p ~/logs
Klon repositori backend Taiga dari GitHub dan lihat cawangan stabil terbaru.
git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back
git checkout stable
Sekarang buat persekitaran maya baru untuk Taiga menggunakan Python 3.
mkvirtualenv -p /usr/bin/python3 taiga
pip3 install --upgrade setuptools
Pasang kebergantungan Python yang diperlukan menggunakan pip
.
pip3 install -r requirements.txt
Isi pangkalan data dengan data awal yang diperlukan.
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
Perintah di atas akan menulis data ke dalam pangkalan data PostgreSQL. Taiga juga menghantar beberapa data demo atau sampel yang berguna untuk menilai produk. Sekiranya anda ingin memasang data sampel, jalankan yang berikut.
python3 manage.py sample_data
Catatan : Memasang data sampel adalah pilihan dan hanya bertujuan untuk menilai produk.
Sebelum kita membuat fail konfigurasi untuk backend Taiga, kita perlu menghasilkan rentetan rahsia. Rentetan ini akan digunakan untuk mengenkripsi data sesi.
Hasilkan rentetan rawak 64 aksara.
pwgen -s -1 64
Anda harus melihat output sebagai rentetan rawak.
(taiga) taiga@vultr:~/taiga-back$ pwgen -s -1 64
fhDfyYVJ4EH3tvAyUzmfWSeCXuf5sy5EEWrMQPaf9t3JSFrpiL6yvUEOWsFOTscP
Buat fail konfigurasi baru untuk Taiga Backend.
nano ~/taiga-back/settings/local.py
Isi fail akan kod 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 example domain name
dengan yang sebenarnya dalam kod di atas. Juga, ganti Generated_Secret_Key
dengan kunci rahsia sebenar dan StrongMQPassword
dengan kata laluan sebenar untuk pengguna antrian pesanan Taiga. Sekiranya anda mempunyai pelayan SMTP yang siap dan anda ingin menggunakan ciri penghantaran e-mel dengan segera, anda boleh melepaskan pilihan e-mel dan menetapkan nilai yang sesuai. Sekiranya anda belum menyediakan pelayan e-mel, anda boleh melangkau penyediaan ciri e-mel buat masa ini dan menetapkannya kemudian dalam fail konfigurasi ini.
Sekiranya anda ingin mengaktifkan log masuk GitHub, buat aplikasi di GitHub dan berikan ID klien API dan rahsia pelanggan.
Untuk segera memeriksa apakah backend Taiga dapat dimulakan, jalankan pelayan Django bawaan.
workon taiga
python manage.py runserver
Anda akan melihat output berikut jika pelayan berjaya dimulakan.
(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.
Untuk mengesahkan sama ada API dapat diakses, buka sesi terminal lain dan jalankan yang berikut.
curl http://127.0.0.1:8000/api/v1/
Anda akan melihat output serupa yang dikembalikan oleh panggilan API.
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
Hentikan pelayan backend Taiga dengan menekan " ctrl + C
" dan nyahaktifkan persekitaran maya.
deactivate
Taiga frontend adalah komponen Taiga yang melayani antara muka pengguna Web. Klon repositori frontend Taiga dari Github dan lihat cawangan stabil terbaru.
cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
cd taiga-front-dist
git checkout stable
Buat fail konfigurasi baru untuk frontend Taiga.
nano ~/taiga-front-dist/dist/conf.json
Isi fail.
{
"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 sebenar. Anda juga boleh mengubah bahasa lalai dan parameter lain dalam konfigurasi di atas.
Selain dari frontend dan backend, kita juga perlu memasang acara Taiga. Acara Taiga adalah pelayan soket web, dan ia membolehkan frontend Taiga menunjukkan perubahan dalam masa nyata dalam modul seperti backlog, Kanban dan banyak lagi. Ia juga menggunakan pelayan RabbitMQ untuk pemprosesan mesej.
Klon repositori acara Taiga dari Github.
cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events
Pasang kebergantungan Node.js menggunakan npm
.
npm install
Buat fail konfigurasi baru untuk acara Taiga.
nano ~/taiga-events/config.json
Isi fail.
{
"url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga",
"secret": "Generated_Secret_Key",
"webSocketServer": {
"port": 8888
}
}
Gantikan Generated_Secret_Key
dengan kunci rahsia panjang 64 aksara yang sebenarnya telah anda hasilkan sebelumnya. Kunci rahsia harus sama persis dengan kunci yang anda berikan dalam fail konfigurasi backend Taiga. Juga, kemas kini StrongMQPassword
dengan kata laluan sebenar untuk pengguna antrian pesanan Taiga.
Circus adalah pengurus proses untuk aplikasi Python. Kami akan menggunakan Circus untuk menjalankan backend dan acara Taiga.
Beralih kembali ke sudo
pengguna.
exit
Catatan : Mulai sekarang anda perlu menjalankan perintah menggunakan sudo
pengguna.
sudo apt -y install circus
Buat fail konfigurasi Circus baru untuk menjalankan backend Taiga.
sudo nano /etc/circus/conf.d/taiga.ini
Isi fail.
[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
Buat konfigurasi Circus baru untuk menjalankan Taiga Events.
sudo nano /etc/circus/conf.d/taiga-events.ini
Isi fail.
[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
Mulakan semula Circus dan aktifkan pada waktu boot secara automatik.
sudo systemctl restart circusd
sudo systemctl enable circusd
Periksa status Circus.
circusctl status
Sekiranya Circus telah memulakan semua proses Taiga dengan betul, maka anda akan melihat output berikut.
user@vultr:~$ circusctl status
circusd-stats: active
plugin:flapping: active
taiga: active
taiga-events: active
Sekiranya anda melihat proses tidak aktif, jalankan sudo chmod -R 777 /home/taiga/logs
dan mulakan semula Circus. Periksa status proses Circus sekali lagi, kali ini anda pasti dapati perkhidmatan tersebut berjalan.
Kini, Taiga berjaya dipasang dan dijalankan. Sebelum kita dapat menggunakannya, kita perlu mendedahkan pemasangan menggunakan pelayan web pengeluaran apa pun.
Kami akan menggunakan Nginx sebagai proksi terbalik untuk melayani aplikasi kepada pengguna. Kami juga akan memperoleh dan memasang sijil SSL dari Let's Encrypt.
Certbot adalah pelanggan pengeluaran sijil rasmi untuk Let's Encrypt CA. Tambahkan repositori Certbot PPA ke dalam sistem.
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Pasang Nginx dan Certbot.
sudo apt -y install nginx certbot
Catatan : Untuk mendapatkan sijil dari Let's Encrypt CA, anda mesti memastikan bahawa domain yang ingin anda hasilkan sijil dihalakan ke pelayan. Sekiranya tidak, buat perubahan yang diperlukan pada rekod DNS domain anda dan tunggu sehingga DNS disebarkan sebelum membuat permintaan sijil sekali lagi. Certbot memeriksa pihak berkuasa domain sebelum menyediakan sijil.
Sekarang gunakan pelayan web terbina dalam Certbot untuk menghasilkan sijil untuk domain anda.
sudo certbot certonly --standalone -d taiga.example.com
Sijil yang dihasilkan kemungkinan akan disimpan dalam /etc/letsencrypt/live/taiga.example.com/
direktori. Sijil SSL akan disimpan sebagai fullchain.pem
, dan kunci peribadi akan disimpan sebagai privkey.pem
.
Mari Sulitkan sijil tamat dalam 90 hari, jadi disarankan untuk mengatur pembaharuan automatik untuk sijil menggunakan pekerjaan Cron. Cron adalah perkhidmatan sistem yang digunakan untuk menjalankan tugas berkala.
Buka fail kerja cron.
sudo crontab -e
Tambahkan baris berikut.
0 0 * * * /usr/bin/certbot renew --quiet
Pekerjaan cron di atas akan dijalankan setiap hari pada tengah malam. Sekiranya sijil itu akan habis tempohnya, sertifikat akan diperbaharui secara automatik.
Hasilkan parameter Diffie-Hellman yang kuat. Ini memberikan lapisan keselamatan tambahan untuk pertukaran data antara host dan pelayan.
sudo openssl dhparam -out /etc/ssl/dhparam.pem 2048
Buat blok pelayan Nginx baru untuk melayani frontend Taiga.
sudo nano /etc/nginx/sites-available/taiga
Isi fail dengan yang berikut.
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 menukar domain name
dan path to the SSL certificates
. Dayakan hos maya.
sudo ln -s /etc/nginx/sites-available/taiga /etc/nginx/sites-enabled/taiga
Sekarang anda boleh memulakan semula pelayan web Nginx dan mengaktifkannya untuk memulakan boot secara automatik.
sudo systemctl restart nginx
sudo systemctl status nginx
Akhirnya, perbaiki hak milik dan kebenaran pada fail Taiga.
sudo chown -R taiga:taiga /home/taiga/
sudo chmod o+x /home/taiga/
Anda kini boleh mengakses pemasangan Taiga dengan pergi ke https://taiga.example.com
. Log masuk menggunakan akaun pentadbir awal dengan nama pengguna " admin
" dan kata laluan " 123123
". Pemasangan anda kini siap digunakan untuk pengeluaran. Mulakan dengan membuat projek baru atau menilai produk. Sekiranya anda sudah menguruskan projek di Github, Jira, atau Trello, anda boleh mengimport projek ke Taiga dengan mudah menggunakan pengimport .
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut