GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal Perangkat Lunak Manajemen Proyek Taiga.io di CentOS 7

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.

  1. Taiga-back :Backend aplikasi yang menyediakan API. Ditulis dalam Python dan Django.
  2. Taiga-front-dist :Taiga Frontend ditulis dalam AngularJS dan CoffeeScript.
  3. 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

  1. CentOS 7
  2. Hak istimewa root

Apa yang akan kami lakukan

  1. Instal Paket
  2. Instal dan Konfigurasi PostgreSQL
  3. Tambahkan Pengguna Taiga
  4. Konfigurasikan Taiga Kembali
  5. Mengonfigurasi Frontend Taiga
  6. Konfigurasikan Acara Taiga
  7. Konfigurasikan Manajemen Proses Sirkus
  8. Konfigurasi Nginx Virtual Host untuk Taiga.io
  9. Izinkan Nginx Mengakses Frontend Taiga
  10. 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.rpm

Sekarang 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 nginx

Setelah penginstalan selesai, mulai layanan dan aktifkan untuk diluncurkan saat boot sistem.

systemctl start nginx
systemctl aktifkan nginx

Sekarang periksa port yang terbuka menggunakan perintah netstat.

netstat -plntu

Dan 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 redis

Jika 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 nodejs

Semua 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.rpm

Sekarang instal PostgreSQL 9.5 menggunakan perintah yum di bawah ini.

sudo yum -y install postgresql95 postgresql95-devel postgresql95-contrib postgresql95-docs postgresql95-server

Setelah instalasi selesai, kita perlu menginisialisasi database PostgreSQL.

sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb

Sekarang 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 - postgres

Sekarang 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 taiga

Sekarang iklankan pengguna 'taiga' ke grup 'roda'.

usermod -a -G wheel taiga

Uji pengguna 'taiga' untuk akses sudo.

su - taiga
sudo su

Ketik 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-back

Sekarang buka direktori 'taiga-back' dan ubah cabang menjadi cabang 'stabil'.

cd taiga-back
git checkout stable

Sebelum melangkah lebih jauh, kita perlu memperbarui paket virtualenv.

sudo pip install --upgrade virtualenv

Selanjutnya, buat lingkungan python baru 'taiga' menggunakan perintah mkvirtualenv.

mkvirtualenv -p /usr/bin/python3.5 taiga

Virtualenv 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_config

Sekarang instal semua modul python yang dibutuhkan oleh 'taiga-back' menggunakan perintah di bawah ini.

workon taiga
pip install -r requirements.txt

Setelah 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 - -noinput

Perintah 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.py

Tempelkan 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:8000

Perintah 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 - taiga

Unduh kode sumber 'Taiga frontend' menggunakan git.

cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist

Buka direktori 'taiga-front-dist' dan ubah cabang menjadi 'stable'.

cd taiga-front-dist
git checkout stable

Salin 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.json

Salin 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 - taiga

Unduh kode sumber 'Acara Taiga' dan buka direktori.

git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events

Sekarang 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-script

Catatan: 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.json

Tempelkan 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 - taiga

Sekarang unduh kode sumber sirkus menggunakan git.

cd ~/
git clone https://github.com/circus-tent/circus.git circus

Sebelum menginstal sirkus pada sistem, kita perlu membuat direktori baru untuk konfigurasi sirkus.

Buat direktori 'conf' baru di bawah pengguna taiga.

mkdir -p ~/conf

Dan buat konfigurasi sirkus baru untuk Taiga.io bernama 'taiga.ini'.

vim ~/conf/taiga.ini

Tempelkan 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-packages

Simpan dan keluar.

Sekarang buat direktori untuk file log sirkus.

mkdir -p ~/logs

Buka direktori sirkus dan instal perangkat lunak dengan hak akses root.

cd ~/circus
sudo python3.5 setup.py install

Setelah 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.service

Tempelkan konfigurasi berikut di sana.

[Unit]
Description=circus

[Layanan]
ExecStart=/usr/bin/circusd /home/taiga/conf/taiga.ini

Simpan dan keluar.

Sekarang muat ulang sistem systemd menggunakan perintah di bawah ini.

systemctl daemon-reload

Pastikan tidak ada kesalahan, lalu mulai layanan sirkus dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start circusd
systemctl aktifkan circusd

Instalasi dan konfigurasi sirkus untuk Taiga.io telah selesai. Periksa menggunakan perintah circusctl di bawah ini.

status sirkus

Dan 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.conf

Tempelkan 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 nginx

Konfigurasi 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/dist

Dan 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 taiga

Berikan 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 /dist

Dan restart server web Nginx.

systemctl restart nginx

Langkah 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.


Cent OS
  1. Cara Menginstal Perangkat Lunak Manajemen Proyek MyCollab di CentOS 7

  2. Cara menginstal perangkat lunak lelang WeBid di CentOS

  3. Cara menginstal Manajemen Proyek Taiga di CentOS 8

  1. Cara Menginstal PHP 7, 7.2 &7.3 Pada CentOS 7

  2. Cara Menginstal Java 11 &12 di CentOS 7

  3. Cara Menginstal Wine 4.0 di CentOS 7

  1. Cara Menginstal Vim 8.2 di CentOS 7

  2. Cara Menginstal VirtualBox di CentOS 7

  3. Cara menginstal php di RHEL 8 / CentOS 8 Linux