Taiga.io adalah sistem manajemen proyek sumber terbuka untuk pengembang, perancang, dan manajer proyek yang gesit. Ini adalah alat manajemen proyek yang indah yang dapat menangani proyek sederhana dan kompleks untuk pemula, pengembang perangkat lunak, dll.
Platform Taiga memiliki tiga komponen utama, dan setiap komponen memiliki ketergantungannya sendiri.
- Taiga-back :Backend aplikasi yang menyediakan API. Ditulis dalam Python dan Django.
- Taiga-front-dist :Taiga Frontend ditulis dalam AngularJS dan CoffeeScript.
- Acara Taiga :Server Taiga WebSocket untuk menampilkan perubahan waktu nyata dalam aplikasi. Dan menggunakan RabbitMQ sebagai perantara pesan.
Dalam tutorial ini, saya akan menunjukkan kepada Anda langkah demi langkah cara menginstal alat manajemen proyek Taiga.io di server CentOS 7. Kami juga akan mempelajari cara menyiapkan dan mengonfigurasi server CentOS 7 untuk instalasi Taiga.io.
Prasyarat
- CentOS 7
- Hak istimewa root
Apa yang akan kami lakukan
- Instal Paket
- Instal dan Konfigurasi PostgreSQL
- Tambahkan Pengguna Taiga
- Konfigurasikan Taiga Kembali
- Mengonfigurasi Frontend Taiga
- Konfigurasikan Acara Taiga
- Konfigurasikan Manajemen Proses Sirkus
- Konfigurasi Nginx Virtual Host untuk Taiga.io
- Izinkan Nginx Mengakses Frontend Taiga
- Pengujian
Langkah 1 - Instal Paket
Sebelum menginstal semua komponen Taiga.io, kita perlu mempersiapkan sistem dengan menginstal beberapa paket. Pada langkah pertama ini, kita akan menginstal paket yang diperlukan untuk semua komponen dan modul Taiga, termasuk Nginx, RabitMQ, Redis dll.
- Instal Dependensi
Kami membutuhkan 'Development Tools' untuk CentOS 7 yang akan digunakan untuk mengkompilasi beberapa modul python.
Instal paket yang diperlukan menggunakan perintah yum di bawah ini.
sudo yum -y install gcc gcc-c++ make openssl-devel binutils autoconf flex bison libjpeg-devel freetype-devel zlib-devel perl-ZMQ-LibZMQ3 gdbm-devel ncurses-devel automake libtool libffi-devel dapatkan teks git- Instal Repositori EPEL
Sekarang kita perlu menginstal repositori EPEL (Extra Packages for Enterprise Linux). Ini diperlukan untuk menginstal server web Nginx, RabbitMQ dan Redis.
Instal Repositori EPEL pada sistem CentOS 7 menggunakan perintah berikut:
sudo yum -y install epel-release- Instal Python
Taiga.io membutuhkan Python 3.5 untuk instalasi. Kami akan menggunakan repositori pihak ketiga - 'ius community' - untuk menginstal Python 3.5.
Tambahkan repositori 'ius community' dengan cara berikut.
sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpmSekarang instal Python 3.5 menggunakan perintah yum berikut.
sudo yum -y install python35u python35u-pip python35u-devel python-devel python-pip python-virtualenvwrapper libxml2-devel libxslt-devel- Instal Nginx
Taiga.io adalah alat aplikasi web, dan itu berjalan di bawah server web. Dan untuk panduan ini, kita akan menggunakan Nginx sebagai server web.
Instal Nginx dari repositori EPEL menggunakan perintah yum di bawah ini.
sudo yum -y install nginxSetelah penginstalan selesai, mulai layanan dan aktifkan untuk diluncurkan saat boot sistem.
systemctl start nginx
systemctl aktifkan nginxSekarang periksa port yang terbuka menggunakan perintah netstat.
netstat -plntuDan pastikan Anda mendapatkan port HTTP 80 pada daftar seperti yang ditunjukkan di bawah ini.
- Instal Redis dan RabbitMQ
Ini opsional, karena Anda masih dapat menjalankan Taiga.io tanpa paket-paket ini. Pada dasarnya, paket Redis dan RabbitMQ akan digunakan oleh acara taiga.
Instal Redis dan RabbitMQ dari repositori EPEL menggunakan perintah yum di bawah ini.
yum -y install rabbitmq-server redisJika penginstalan selesai, jalankan layanan Redis dan RabbitMQ, lalu aktifkan untuk diluncurkan saat boot sistem.
systemctl start rabbitmq-server
systemctl aktifkan rabbitmq-server
systemctl start redis
systemctl aktifkan redis
Selanjutnya, kita perlu membuat pengguna baru dan host virtual bernama 'taiga' untuk RabbitMQ, dan itu akan digunakan untuk 'taiga-events'.
Jalankan perintah berikut untuk membuat user baru dan vhost bernama 'taiga' dengan password 'aqwe123', lalu atur izin untuk user 'taiga'.
sudo rabbitmqctl add_user taiga aqwe123
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
- Instal Nodejs
Node diperlukan oleh 'taiga-events' - tambahkan repositori nodejs nodesource dan instal dengan perintah yum.
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum -y install nodejsSemua paket dasar yang diperlukan untuk instalasi Taiga.io telah diinstal pada sistem.
Langkah 2 - Instal dan Konfigurasi PostgreSQL
Taiga.io adalah aplikasi web berdasarkan kerangka web Python Django, dan menggunakan PostgreSQL sebagai databasenya. Kami membutuhkan PostgreSQL versi 9.5 untuk instalasi Taiga.io.
Tambahkan repositori PostgreSQL 9.5 ke sistem.
sudo rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpmSekarang instal PostgreSQL 9.5 menggunakan perintah yum di bawah ini.
sudo yum -y install postgresql95 postgresql95-devel postgresql95-contrib postgresql95-docs postgresql95-serverSetelah instalasi selesai, kita perlu menginisialisasi database PostgreSQL.
sudo /usr/pgsql-9.5/bin/postgresql95-setup initdbSekarang mulai layanan PostgreSQL dan aktifkan untuk diluncurkan setiap kali sistem boot.
systemctl start postgresql-9.5
systemctl aktifkan postgresql-9.5
Selanjutnya, kita harus membuat database baru untuk instalasi Taiga.io. Kita perlu membuat database baru dan pengguna bernama 'taiga'.
Login sebagai pengguna 'postgres'.
su - postgresSekarang buat database dan pengguna baru untuk Taiga.io menggunakan perintah berikut.
buat taiga pengguna
dibuatb taiga -O taiga
Database PostgreSQL baru untuk instalasi Taiga.io telah dibuat.
Langkah 3 - Tambahkan Pengguna Taiga
Pada langkah ini, kita akan membuat pengguna dan grup sistem baru bernama 'taiga', lalu menambahkannya ke grup roda untuk akses perintah sudo.
Gunakan perintah 'useradd' di bawah ini untuk membuat pengguna dan grup 'taiga'.
useradd -U -m -s /bin/bash taiga
passwd taigaSekarang iklankan pengguna 'taiga' ke grup 'roda'.
usermod -a -G wheel taigaUji pengguna 'taiga' untuk akses sudo.
su - taiga
sudo suKetik kata sandi Anda dan pastikan Anda mendapatkan hak akses root untuk pengguna 'taiga'.
Langkah 4 - Konfigurasikan Taiga Kembali
Taiga-back adalah backend dari Taiga.io yang menyediakan API ke frontend Taiga. Itu ditulis dalam Python dan Django Web Framework.
Pada langkah ini, kita akan menginstal dan mengkonfigurasi komponen taiga 'taiga-back'.
Masuk ke pengguna 'taiga' dan unduh kode sumber 'taiga-back' dari GitHub.
su - taiga
git clone https://github.com/taigaio/taiga-back.git taiga-backSekarang buka direktori 'taiga-back' dan ubah cabang menjadi cabang 'stabil'.
cd taiga-back
git checkout stableSebelum melangkah lebih jauh, kita perlu memperbarui paket virtualenv.
sudo pip install --upgrade virtualenvSelanjutnya, buat lingkungan python baru 'taiga' menggunakan perintah mkvirtualenv.
mkvirtualenv -p /usr/bin/python3.5 taigaVirtualenv baru untuk 'taiga-back' telah dibuat.
Sebelum menginstal semua modul untuk taiga-back, kita perlu membuat link baru untuk perintah 'pg_config' ke direktori '/usr/bin'.
sudo ln -s /usr/pgsql-9.5/bin/pg_config /usr/bin/pg_configSekarang instal semua modul python yang dibutuhkan oleh 'taiga-back' menggunakan perintah di bawah ini.
workon taiga
pip install -r requirements.txtSetelah instalasi selesai, kita perlu mengisi database dengan data dasar awal.
Jalankan semua perintah berikut.
python manage.py migrasi --noinput
python manage.py loaddata initial_user
python manage.py loaddata initial_project_templates
python manage.py compilemessages
python manage.py collectstatic - -noinputPerintah ini akan secara otomatis membuat akun administrator 'admin ' dengan sandi '123123 '.
Selanjutnya, buat konfigurasi baru untuk 'taiga-back' menggunakan vim.
vim ~/taiga-back/settings/local.pyTempelkan konfigurasi berikut di sana.
dari impor .common *
MEDIA_URL ="http://taiga.hakase-labs.co/media/"
STATIC_URL ="http://taiga.hakase-labs .co/static/"
SITES["front"]["scheme"] ="http"
SITES["front"]["domain"] ="taiga.hakase-labs.co"
SECRET_KEY ="theveryultratopsecretkey"
DEBUG =Salah
PUBLIC_REGISTER_ENABLED =Benar
DEFAULT_FROM_EMAIL ="[email dilindungi]"
SERVER_EMAIL =DEFAULT_FROM_EMAIL
#CELERY_ENABLED =Benar
EVENTS_PUSH_BACKEND ="taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS ="{amqpl":" ://taiga:[email protected]:5672/taiga"}
# Batalkan komentar dan isi dengan parameter koneksi yang tepat
# untuk mengaktifkan pengiriman email. EMAIL_HOST_USER harus diakhiri dengan @domain.tld
#EMAIL_BACKEND ="django.core.mail.backends.smtp.EmailBackend"
#EMAIL_USE_TLS =Salah
#EMAIL_HOST ="localhost"
#EMAIL_HOST_USER =""
#EMAIL_HOST_PASSWORD =""
#EMAIL_PORT =25
# Batalkan komentar dan isi dengan parameter koneksi yang tepat
# untuk mengaktifkan login/singin github.
#GITHUB_API_CLIENT_ID ="yourgithubclientid"
#GITHUB_API_CLIENT_SECRET ="yourgithubclientsecret"Simpan dan keluar.
Catatan:
- Ubah 'MEDIA_URL' dan 'STATIC_URL' dengan nama domain Anda sendiri.
- Ubah 'SECRET_KEY' dengan kunci rahasia Anda sendiri.
- Ubah nilai sandi EVENTS_PUSH_BACKEND_OPTIONS ke nilai RabbitMQ Anda sendiri. Untuk panduan ini, kami menggunakan kata sandi 'aqwe123'.
Sekarang uji 'taiga-back' dengan perintah di bawah ini.
workon taiga
python manage.py runserver 0.0.0.0:8000Perintah akan menjalankan taiga-back di bawah IP publik server dengan port 8000.
Buka browser web dan kunjungi alamat berikut.
http://192.168.33.10:8000/api/v1/
Dan Anda akan mendapatkan API 'taiga-back' dengan format JSON seperti di bawah ini.
Instalasi dan konfigurasi 'taiga-back' telah selesai.
Langkah 5 - Konfigurasikan Taiga Frontend
Pada langkah ini, kita akan mengunduh dan mengkonfigurasi frontend taiga. Frontend akan menangani semua antarmuka taiga.
Masuk ke pengguna taiga.
su - taigaUnduh kode sumber 'Taiga frontend' menggunakan git.
cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-distBuka direktori 'taiga-front-dist' dan ubah cabang menjadi 'stable'.
cd taiga-front-dist
git checkout stableSalin file konfigurasi default dan edit menggunakan vim.
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
vim ~/taiga-front-dist/dist/conf.jsonSalin konfigurasi berikut:
{
"api":"http://taiga.hakase-labs.co/api/v1/",
"eventsUrl":"ws://taiga.hakase-labs. co/events",
"debug":"true",
"publicRegisterEnabled":true,
"feedbackEnabled":true,
"privacyPolicyUrl":null,
"termsOfServiceUrl":null,
"maxUploadFileSize":null,
"contribPlugins":[]
}Simpan dan keluar.
Konfigurasi 'Taiga frontend' telah selesai.
Langkah 6 - Konfigurasikan Acara Taiga
Taiga-events adalah server WebSocket yang memungkinkan Anda menampilkan perubahan waktu nyata di Dasbor Taiga.io, dan menggunakan RabbitMQ sebagai perantara pesan. Pada langkah ini, kita akan mengunduh dan mengonfigurasi 'taiga-events'.
Masuk ke pengguna 'taiga'.
su - taigaUnduh kode sumber 'Acara Taiga' dan buka direktori.
git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-eventsSekarang kita perlu mendownload dan menginstall semua library javascript yang dibutuhkan oleh 'taiga-events' menggunakan perintah npm dengan cara sebagai berikut.
npm install
sudo npm install -g coffee-scriptCatatan: Kita perlu menginstal 'skrip kopi' di bawah sistem root.
Selanjutnya, salin file konfigurasi JSON ke 'config.json', lalu edit menggunakan vim.
cp config.example.json config.json
vim config.jsonTempelkan konfigurasi berikut di sana.
{
"url":"amqp://taiga:[email protected]:5672/taiga",
"secret":"theveryultratopsecretkey",
"webSocketServer":{
"port":8888
}
}Simpan dan keluar.
Catatan:
- Ubah nilai 'url' dengan pengguna dan sandi rabbitmq Anda sendiri.
- Untuk nilai 'secret', pastikan cocok dengan 'SECRET_KEY' di 'local.py' - file konfigurasi 'taiga-back'.
Konfigurasi acara Taiga telah selesai.
Langkah 7 - Instal dan Konfigurasi Sirkus
Circus akan digunakan untuk mengontrol dan mengelola proses 'taiga-back' dan 'taiga-events'. 'taiga-events' berjalan sebagai skrip kopi, dan 'taiga-back' berjalan di bawah Gunicorn.
Pada langkah ini, kita akan menginstal Circus secara manual dari kode sumber.
Masuk sebagai pengguna taiga.
su - taigaSekarang unduh kode sumber sirkus menggunakan git.
cd ~/
git clone https://github.com/circus-tent/circus.git circusSebelum menginstal sirkus pada sistem, kita perlu membuat direktori baru untuk konfigurasi sirkus.
Buat direktori 'conf' baru di bawah pengguna taiga.
mkdir -p ~/confDan buat konfigurasi sirkus baru untuk Taiga.io bernama 'taiga.ini'.
vim ~/conf/taiga.iniTempelkan konfigurasi berikut.
[circus]
check_delay =5
endpoint =tcp://127.0.0.1:5555
pubsub_endpoint =tcp://127.0.0.1:5556
statsd =true
[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
[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. nama file =/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-packagesSimpan dan keluar.
Sekarang buat direktori untuk file log sirkus.
mkdir -p ~/logsBuka direktori sirkus dan instal perangkat lunak dengan hak akses root.
cd ~/circus
sudo python3.5 setup.py installSetelah instalasi selesai, kami akan mengkonfigurasi sirkus sebagai layanan pada sistem.
Jalankan perintah sudo, lalu buat file layanan baru 'circusd.service'.
sudo su
vim /usr/lib/systemd/system/circusd.serviceTempelkan konfigurasi berikut di sana.
[Unit]
Description=circus
[Layanan]
ExecStart=/usr/bin/circusd /home/taiga/conf/taiga.iniSimpan dan keluar.
Sekarang muat ulang sistem systemd menggunakan perintah di bawah ini.
systemctl daemon-reloadPastikan tidak ada kesalahan, lalu mulai layanan sirkus dan aktifkan untuk diluncurkan setiap kali sistem boot.
systemctl start circusd
systemctl aktifkan circusdInstalasi dan konfigurasi sirkus untuk Taiga.io telah selesai. Periksa menggunakan perintah circusctl di bawah ini.
status sirkusDan pastikan Anda mendapatkan taiga-back dan taiga-events di daftar proses sirkus.
Atau Anda dapat menggunakan perintah systemctl seperti di bawah ini.
systemctl status sirkus
Langkah 8 - Konfigurasikan Taiga Nginx Virtual Host
Pada langkah ini, kita akan mengonfigurasi virtual host Nginx untuk Taiga.io. Kami akan membuat file host virtual baru di bawah direktori 'conf.d' untuk instalasi Taiga.io kami.
Buka direktori konfigurasi nginx dan buat file baru 'taiga.conf' di bawah direktori 'conf.d'.
cd /etc/nginx/
vim conf.d/taiga.confTempelkan konfigurasi berikut di sana.
server {
listen 80;
server_name taiga.hakase-labs.co;
large_client_header_buffers 4 32k;
client_max_body_size 50M;
charset utf -8;
access_log /var/log/nginx/taiga.access.log;
error_log /var/log/nginx/taiga.error.log;
# Frontend
lokasi / {
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;
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 /proxy;
redirect
}
# Django admin access (/admin/)
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_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8001$request_uri;
proxy_redirect off;
}
# File statis
lokasi /static {
alias /home/taiga/taiga-back/static;
}
# File media
lokasi /media {
alias /home/taiga/ taiga-back/media;
}
# Taiga-events
lokasi /events {
proxy_pass http://127.0.0.1:8888/events;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Koneksi "upgrade";
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_
}Simpan dan keluar.
Sekarang jalankan konfigurasi test nginx dan pastikan tidak ada error. Kemudian restart layanan server web.
nginx -t
systemctl restart nginxKonfigurasi host virtual untuk Taiga.io telah selesai.
Langkah 9 - Mengizinkan Nginx Mengakses Taiga Frontend
Terkadang Anda mungkin mendapatkan kesalahan tentang server web Nginx yang mengatakan bahwa ia tidak dapat mengakses file taiga-frontend - Anda akan melihat Nginx '500 Internal Server Error' dalam kasus ini.
Untuk mengatasi masalah ini, kita perlu mengubah pemilik atau grup semua file taiga-frontend dan memberi Nginx akses ke semua file.
Secara default pada CentOS 7, server web Nginx berjalan di bawah pengguna 'nginx' dan instalasi Taiga.io berjalan di bawah pengguna 'taiga'.
Berikut adalah contoh kesalahan Nginx yang sedang kita bicarakan.
Server web Nginx tidak dapat membaca semua konten di direktori '/home/taiga/taiga-front-dist/dist'.
Periksa ini menggunakan perintah di bawah ini.
sudo -u nginx stat /home/taiga/taiga-front-dist/distDan Anda akan mendapatkan hasil yang ditolak izinnya.
Sekarang kita perlu menambahkan pengguna 'nginx' ke grup 'taiga' dan memberikan izin yang diperlukan pengguna nginx untuk direktori taiga-front-dist.
Tambahkan pengguna 'nginx' ke grup 'taiga'.
sudo gpasswd -a nginx taigaBerikan izin server web untuk membaca semua konten di direktori taiga-front-dist.
sudo chmod g+x /home/taiga
sudo chmod g+x /home/taiga/taiga-front-dist
sudo chmod g+x /home/taiga/taiga-front-dist /distDan restart server web Nginx.
systemctl restart nginxLangkah 10 - Pengujian
Buka browser web Anda dan kunjungi nama domain penginstalan Taiga Anda, milik saya adalah http://taiga.hakase-labs.co
Dan Anda akan mendapatkan halaman beranda default Taiga seperti yang ditunjukkan di bawah ini.
Di sini, ketik pengguna default 'admin ' dengan sandi '123123 ', lalu klik tombol 'Masuk'.
Dan Anda akan masuk ke dasbor admin.
Instalasi Taiga.io di CentOS 7 dengan server web Nginx telah berhasil diselesaikan.
Cara Menginstal Cluster Docker Kubernetes di CentOS 7 Cara Setup Puppet Master dan Agent di CentOS 7Cent OS