सेंटो 7 पर टैगा प्रोजेक्ट मैनेजमेंट टूल कैसे स्थापित करें

टैगा परियोजना प्रबंधन के लिए एक स्वतंत्र और खुला स्रोत अनुप्रयोग है। अन्य परियोजना प्रबंधन उपकरणों के विपरीत, टैगा परियोजना के विकास का प्रबंधन करने के लिए वृद्धिशील चुस्त दृष्टिकोण का उपयोग करता है। टैगा एक बहुत शक्तिशाली और पूरी तरह से अनुकूलन योग्य अनुप्रयोग है। टैगा का बैकएंड पाइथन में Django ढांचे का उपयोग करके लिखा गया है। सीमांत को जावास्क्रिप्ट में कॉफीस्क्रिप्ट और एंगुलरजेएस फ्रेमवर्क का उपयोग करके लिखा गया है। टैगा में परियोजना सहयोग, कानबन बोर्ड, बग ट्रैकिंग, रिपोर्टिंग, टाइम ट्रैकिंग, बैकलॉग, विकी और अधिक जैसी विशेषताएं शामिल हैं।

आवश्यक शर्तें

  • कम से कम 1GB रैम के साथ Vultr CentOS 7 सर्वर का उदाहरण।
  • एक sudo यूजर

इस ट्यूटोरियल में, हम taiga.example.comसर्वर पर इंगित डोमेन नाम के रूप में उपयोग करेंगे। taiga.example.comअपने वास्तविक डोमेन नाम के साथ सभी घटनाओं को बदलें ।

सेंटोस 7 को अपडेट करने के लिए गाइड का उपयोग करके अपनी आधार प्रणाली को अपडेट करें । एक बार आपका सिस्टम अपडेट हो जाने के बाद, PostgreSQL को स्थापित करने के लिए आगे बढ़ें।

PostgreSQL स्थापित करें

PostgreSQL एक ऑब्जेक्ट-रिलेशनल डेटाबेस सिस्टम है जो अपनी स्थिरता और गति के लिए जाना जाता है। टैगा अपने डेटाबेस को स्टोर करने के लिए PostgreSQL का उपयोग करता है। सिस्टम में PostgreSQL रिपॉजिटरी जोड़ें।

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

PostgreSQL डेटाबेस सर्वर स्थापित करें।

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

डेटाबेस को प्रारंभ करें।

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

PostgreSQL सर्वर शुरू करें और इसे बूट समय पर स्वचालित रूप से शुरू करने के लिए सक्षम करें।

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

डिफ़ॉल्ट PostgreSQL उपयोगकर्ता के लिए पासवर्ड बदलें।

sudo passwd postgres

PostgreSQL उपयोगकर्ता के रूप में लॉग इन करें।

sudo su - postgres

टैगा के लिए एक नया PostgreSQL उपयोगकर्ता बनाएं।

createuser taiga 

PostgreSQL psqlडेटाबेस पर प्रश्नों को चलाने के लिए शेल प्रदान करता है । PostgreSQL शेल पर स्विच करें।

psql

टैगा डेटाबेस के लिए नए बनाए गए उपयोगकर्ता के लिए एक पासवर्ड सेट करें।

ALTER USER taiga WITH ENCRYPTED password 'DBPassword';

DBPasswordसुरक्षित पासवर्ड से बदलें । टैगा स्थापना के लिए एक नया डेटाबेस बनाएं।

CREATE DATABASE taiga OWNER taiga;

psqlखोल से बाहर निकलें ।

\q

sudoउपयोगकर्ता पर स्विच करें।

exit

अजगर 3 स्थापित करें

Python 2.7 एक CentOS 7 सर्वर पर प्री-इंस्टॉल आता है, लेकिन Taiga को Python संस्करण 3.4 या बाद के संस्करण की आवश्यकता होती है।

हम स्रोत से पायथन संस्करण 3.6 स्थापित करेंगे। आवश्यक बिल्ड टूल और कंपाइलर स्थापित करें।

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++

पायथन सोर्स कोड डाउनलोड करें।

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

अजगर स्थापना को निकालें और कॉन्फ़िगर करें।

tar xf Python-3.6.3.tar.xz
cd Python-3.6.3
./configure --enable-optimizations --prefix=/usr

एक वैकल्पिक स्थापित करें।

sudo make altinstall

नोट : वैकल्पिक संस्थापन पायथन के डिफ़ॉल्ट संस्करण को प्रतिस्थापित किए बिना पायथन 3.6 स्थापित करता है। यदि आप CentOS 7 में डिफ़ॉल्ट पायथन को प्रतिस्थापित करते हैं, तो यह YUMरिपॉजिटरी प्रबंधक को तोड़ सकता है ।

अब आप इसके वर्जन को चेक कर पाएंगे।

python3.6 -V

आपको निम्नलिखित देखना चाहिए।

[user@vultr Python-3.6.3]$ python3.6 -V
Python 3.6.3

उपयोग करके पायथन वर्चुअल एनवायरनमेंट स्थापित करें pip

sudo pip3.6 install virtualenv virtualenvwrapper
sudo pip3.6 install --upgrade setuptools pip 

पायथन प्रोजेक्ट के लिए एक अलग आभासी वातावरण बनाने के लिए पायथन वर्चुअल वातावरण का उपयोग किया जाता है। एक आभासी वातावरण की अपनी स्थापना निर्देशिकाएं होती हैं और यह वैश्विक और अन्य आभासी वातावरणों के साथ पुस्तकालयों को साझा नहीं करता है।

RabbitMQ स्थापित करें

टैगा संदेश कतार को संसाधित करने के लिए RabbitMQ का उपयोग करता है। RabbitMQ को काम करने के लिए Erlang पुस्तकालयों की आवश्यकता होती है। एर्लांग को स्थापित करें।

sudo yum -y install erlang

RabbitMQ GPG साइनिंग कुंजी आयात करें।

sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

RabbitMQ स्थापित करें।

sudo yum -y install https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el7.noarch.rpm

RabbitMQ सर्वर को प्रारंभ और सक्षम करें।

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

RabbitMQ उपयोगकर्ता और vhost जोड़ें। साथ ही, होस्ट पर उपयोगकर्ता को अनुमति प्रदान करें।

sudo rabbitmqctl add_user taiga StrongMQPassword
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"

StrongMQPasswordसुरक्षित पासवर्ड से प्रतिस्थापित करना सुनिश्चित करें ।

Nodejs स्थापित करें

Node.js संस्करण 7 या बाद में टैगा के दृश्य को संकलित करने के लिए आवश्यक है। Node.js संस्करण 8 रिपॉजिटरी जोड़ें।

curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash -

Node.js और pwgenउपयोगिता स्थापित करें ।

sudo yum install -y nodejs pwgen

pwgenबाद में एक मजबूत गुप्त स्ट्रिंग उत्पन्न करने के लिए उपयोग किया जाएगा। कॉफ़ीस्क्रिप्ट स्थापित करें, क्योंकि इसका उपयोग कॉफ़ीस्क्रिप्ट ढांचे के साथ लिखी गई टैगा फ़ाइलों को संकलित करने के लिए किया जाएगा।

sudo npm install -g coffee-script gulp

टैगा बैकएंड स्थापित करें

टैगा के लिए एक नया सिस्टम उपयोगकर्ता जोड़ें ताकि यह सुनिश्चित हो सके कि टैगा प्रक्रिया एक अनपेक्षित उपयोगकर्ता के रूप में चल रही है।

sudo useradd -s /bin/bash taiga
sudo su - taiga

नोट : अब से, सभी आदेशों को अप्रभावित उपयोगकर्ता के रूप में चलाने की आवश्यकता है taigaजब तक कि आपको उपयोगकर्ता को वापस स्विच करने के लिए नहीं कहा जाता है sudo

लॉग फ़ाइलों को संग्रहीत करने के लिए एक नई निर्देशिका बनाएं।

mkdir -p ~/logs

गिटहब से टैगा बैकेंड रिपॉजिटरी को क्लोन करें और नवीनतम स्थिर शाखा की जांच करें।

git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back
git checkout stable

virtualenvwrapperडिफ़ॉल्ट पायथन के बजाय अजगर 3.6 का उपयोग करने के लिए कॉन्फ़िगर करें।

echo "VIRTUALENVWRAPPER_PYTHON='/bin/python3.6'" >> ~/.bashrc
echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc

अंत में, ~/.bashrcफाइल को सोर्स करें ।

source ~/.bashrc

अब पायथन 3.6 का उपयोग करके टैगा के लिए एक नया आभासी वातावरण बनाएं।

mkvirtualenv -p /bin/python3.6 taiga
pip3.6 install --upgrade setuptools

का उपयोग कर आवश्यक पायथन निर्भरता स्थापित करें pip

pip3.6 install -r requirements.txt

आवश्यक प्रारंभिक डेटा के साथ डेटाबेस को आबाद करें।

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

उपरोक्त कमांड PostgreSQL डेटाबेस में डेटा लिखेंगे। टैगा कुछ डेमो या सैंपल डेटा भी शिप करता है जो उत्पाद के मूल्यांकन के लिए उपयोगी हो सकता है। यदि आप नमूना डेटा स्थापित करना चाहते हैं, तो निम्न चलाएँ।

python3.6 manage.py sample_data

नोट : नमूना डेटा स्थापित करना वैकल्पिक है और केवल उत्पाद का मूल्यांकन करना है।

इससे पहले कि हम टैगा बैकएंड के लिए कॉन्फ़िगरेशन फ़ाइल बनाने के लिए आगे बढ़ें, हमें एक गुप्त स्ट्रिंग उत्पन्न करने की आवश्यकता है। इस स्ट्रिंग का उपयोग सत्र डेटा को एन्क्रिप्ट करने के लिए किया जाएगा।

64 अक्षरों का एक यादृच्छिक स्ट्रिंग उत्पन्न करें।

pwgen -s -1 64

आपको आउटपुट को एक यादृच्छिक स्ट्रिंग के रूप में देखना चाहिए।

(taiga) [taiga@vultr taiga-back]$ pwgen -s -1 64
CZfjWjHctPwnLZsDysWqaZcYfRCviHbI4fVRwfhpbtAHPNBtmkcegpwpYjTtEziJ

टैगा बैकएंड के लिए एक नई कॉन्फ़िगरेशन फ़ाइल बनाएं।

nano ~/taiga-back/settings/local.py

फ़ाइल को निम्न कोड से आबाद करें।

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"

उपरोक्त कोड में वास्तविक एक के साथ उदाहरण डोमेन नाम को बदलना सुनिश्चित करें। इसके अलावा, टैगा संदेश कतार उपयोगकर्ता के Generated_Secret_Keyलिए वास्तविक गुप्त कुंजी और StrongMQPasswordवास्तविक पासवर्ड के साथ बदलें । यदि आपके पास एसएमटीपी सर्वर तैयार है और आप तुरंत ईमेल भेजने की सुविधा का उपयोग करना चाहते हैं, तो आप ईमेल विकल्पों को अनसुना कर सकते हैं और उचित मान सेट कर सकते हैं। यदि आपके पास एक मेल सर्वर तैयार नहीं है, तो आप अभी के लिए ईमेल सुविधा सेट करना छोड़ सकते हैं और बाद में इस कॉन्फ़िगरेशन फ़ाइल में सेट कर सकते हैं।

यदि आप GitHub लॉगिन को सक्षम करना चाहते हैं, तो GitHub में एक एप्लिकेशन बनाएं और API क्लाइंट आईडी और क्लाइंट रहस्य प्रदान करें।

यदि टैगा बैकएंड शुरू किया जा सकता है, तो तुरंत जांचें कि बिल्ट-इन Django सर्वर चलाएं।

workon taiga
python manage.py runserver

यदि सर्वर सफलतापूर्वक शुरू हो गया है, तो आप निम्न आउटपुट देखेंगे।

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

यह सत्यापित करने के लिए कि एपीआई तक पहुँचा जा सकता है, एक और टर्मिनल सत्र खोलें और निम्नलिखित चलाएँ।

curl http://127.0.0.1:8000/api/v1/

आपको एपीआई कॉल के द्वारा एक समान आउटपुट दिखाई देगा।

[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" दबाकर टैगा बैकएंड सर्वर को बंद करें और आभासी वातावरण को निष्क्रिय करें।

deactivate

सीमा स्थापित करें

टैगा फ्रंटेंड टैगा का घटक है जो वेब उपयोगकर्ता इंटरफ़ेस का कार्य करता है। गितुब से टैगा फ्रंटेंड रिपॉजिटरी को क्लोन करें और नवीनतम स्थिर शाखा की जांच करें।

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

टैगा फ्रंटेंड के लिए एक नई कॉन्फ़िगरेशन फ़ाइल बनाएं।

nano ~/taiga-front-dist/dist/conf.json

इसके साथ फाइल को पॉप्युलेट करें।

{
    "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डोमेन को वास्तविक डोमेन से बदलना सुनिश्चित करें । आप उपरोक्त कॉन्फ़िगरेशन में डिफ़ॉल्ट भाषा और अन्य मापदंडों को भी बदल सकते हैं।

टैगा इवेंट्स स्थापित करें

फ्रंटेंड और बैकएंड के अलावा, हमें टैगा इवेंट्स भी स्थापित करने की आवश्यकता है। टैगा इवेंट एक वेब सॉकेट सर्वर है, और यह टैगा फ्रंट को बैकलॉग, कानबन और अधिक जैसे मॉड्यूल में वास्तविक समय में परिवर्तन दिखाने में सक्षम बनाता है। यह संदेश प्रसंस्करण के लिए RabbitMQ सर्वर का उपयोग करता है।

गीथुब से टैगा घटनाओं के भंडार का क्लोन।

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

का उपयोग कर Node.js निर्भरता स्थापित करें npm

npm install

टैगा घटनाओं के लिए एक नई कॉन्फ़िगरेशन फ़ाइल बनाएं।

nano ~/taiga-events/config.json

फ़ाइल को निम्न के साथ आबाद करें।

{
    "url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga",
    "secret": "Generated_Secret_Key",
    "webSocketServer": {
        "port": 8888
    }
}

Generated_Secret_Keyवास्तविक 64 अक्षरों की लंबी गुप्त कुंजी से बदलें जो आपने अतीत में उत्पन्न की है। गुप्त कुंजी बिल्कुल वैसी ही होनी चाहिए जैसी कि आपने टैगा बैकएंड कॉन्फ़िगरेशन फ़ाइल में प्रदान की गई कुंजी। इसके अलावा, StrongMQPasswordटैगा संदेश कतार उपयोगकर्ता के लिए वास्तविक पासवर्ड के साथ अपडेट करें।

सर्कस को कॉन्फ़िगर करें

सर्कस पाइथन अनुप्रयोगों के लिए एक प्रक्रिया प्रबंधक है। हम टैगा बैकएंड और घटनाओं को चलाने के लिए सर्कस का उपयोग करेंगे।

sudoउपयोगकर्ता पर वापस जाएँ ।

exit

नोट : अब से आपको sudoउपयोगकर्ता का उपयोग करके कमांड चलाने की आवश्यकता होगी ।

सर्कस का उपयोग कर स्थापित करें pip

sudo pip3.6 install circus

सर्कस कॉन्फ़िगरेशन को स्टोर करने के लिए नई निर्देशिका बनाएं।

sudo mkdir /etc/circus
sudo mkdir /etc/circus/conf.d

सर्कस के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल बनाएं।

sudo nano /etc/circus/circus.ini

फ़ाइल को निम्न कॉन्फ़िगरेशन से आबाद करें।

[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

टैगा बैकएंड चलाने के लिए एक नया सर्कस कॉन्फ़िगरेशन फ़ाइल बनाएं।

sudo nano /etc/circus/conf.d/taiga.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

टैगा इवेंट्स चलाने के लिए एक नया सर्कस कॉन्फ़िगरेशन बनाएं।

sudo nano /etc/circus/conf.d/taiga-events.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

अब हमें systemdसर्कस चलाने के लिए एक सेवा फ़ाइल बनाने की आवश्यकता होगी । उपयोग systemdयह सुनिश्चित करेगा कि सर्कस स्वचालित रूप से रिबूट और विफलताओं के दौरान शुरू हो गया है।

sudo nano /etc/systemd/system/circus.service

फ़ाइल को पॉप्युलेट करें।

[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

सर्कस शुरू करें और बूट समय पर स्वचालित रूप से प्रारंभ करने में सक्षम करें।

sudo systemctl start circus
sudo systemctl enable circus

सर्कस की स्थिति की जाँच करें।

circusctl status

आपको निम्न आउटपुट दिखाई देगा।

[user@vultr ~]$ circusctl status
taiga: active
taiga-events: active

अब, हमारे पास टैगा सफलतापूर्वक स्थापित और चल रहा है। इससे पहले कि हम इसका उपयोग कर सकें, हमें किसी भी उत्पादन वेब सर्वर का उपयोग करके इंस्टॉलेशन को उजागर करने की आवश्यकता है।

रिवर्स प्रॉक्सी के रूप में Nginx स्थापित करें

हम उपयोगकर्ताओं को एप्लिकेशन को सेवा देने के लिए Nginx वेब सर्वर को एक रिवर्स प्रॉक्सी के रूप में उपयोग करेंगे। हम लेट्स एनक्रिप्ट से एसएसएल सर्टिफिकेट भी प्राप्त और स्थापित करेंगे।

Nginx और Certbot स्थापित करें। सर्टिफोट, लेट्स एनक्रिप्ट क्रॉ के लिए क्लाइंट जारी करने वाला आधिकारिक प्रमाण पत्र है।

sudo yum -y install nginx certbot

फ़ायरवॉल के माध्यम से मानक HTTPऔर HTTPSबंदरगाहों को अनुमति देने के लिए अपनी फ़ायरवॉल सेटिंग को समायोजित करें क्योंकि सर्टिफ़बोट को डोमेन प्राधिकरण को सत्यापित करने के लिए HTTP कनेक्शन बनाने की आवश्यकता होती है।

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

नोट : लेट्स एनक्रिप्ट क्रॉ से सर्टिफिकेट प्राप्त करने के लिए, आपको यह सुनिश्चित करना होगा कि जिस डोमेन के लिए आप सर्टिफिकेट जनरेट करना चाहते हैं, वह सर्वर की ओर इंगित किया गया है। यदि नहीं, तो अपने डोमेन के DNS रिकॉर्ड में आवश्यक परिवर्तन करें और फिर से प्रमाणपत्र अनुरोध करने से पहले DNS के प्रचार के लिए प्रतीक्षा करें। सर्टिफिकेट सर्टिफिकेट प्रदान करने से पहले डोमेन प्राधिकरण की जांच करता है।

अब अपने डोमेन के लिए प्रमाणपत्र बनाने के लिए सर्टिफिकेट में बिल्ट-इन वेब सर्वर का उपयोग करें।

sudo certbot certonly --standalone -d taiga.example.com

जेनरेट किए गए प्रमाणपत्रों को /etc/letsencrypt/live/taiga.example.com/निर्देशिका में संग्रहीत किए जाने की संभावना है । एसएसएल प्रमाणपत्र को बनाए रखा जाएगा fullchain.pem, और निजी कुंजी के रूप में सहेजा जाएगा privkey.pem

आइए, 90 दिनों में प्रमाणपत्रों को एन्क्रिप्ट करें, इसलिए क्रोन नौकरियों का उपयोग करके प्रमाणपत्रों के लिए ऑटो-नवीनीकरण स्थापित करने की सिफारिश की जाती है। क्रोन एक प्रणाली सेवा है जिसका उपयोग आवधिक कार्यों को चलाने के लिए किया जाता है।

क्रोन जॉब फ़ाइल खोलें।

sudo crontab -e

निम्नलिखित पंक्ति जोड़ें।

0 0 * * * /usr/bin/certbot renew --quiet

उपरोक्त क्रॉन जॉब रोजाना आधी रात को चलेगी। यदि प्रमाणपत्र समाप्ति के लिए है, तो यह स्वचालित रूप से प्रमाणपत्रों को नवीनीकृत करेगा।

एक मजबूत Diffie-Hellmanपैरामीटर तैयार करें। यह होस्ट और सर्वर के बीच डेटा विनिमय के लिए सुरक्षा की एक अतिरिक्त परत प्रदान करता है।

sudo openssl dhparam -out /etc/ssl/dhparam.pem 2048 

टैगा फ्रंटेंड की सेवा के लिए एक नया Nginx सर्वर ब्लॉक बनाएं।

sudo nano /etc/nginx/conf.d/taiga.conf

फ़ाइल को निम्न के साथ आबाद करें।

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;

}

SSL प्रमाणपत्र के लिए डोमेन नाम और पथ को बदलना सुनिश्चित करें।

अब आप Nginx वेब सर्वर को पुनरारंभ कर सकते हैं और इसे बूट पर स्वचालित रूप से शुरू करने के लिए सक्षम कर सकते हैं।

sudo systemctl restart nginx
sudo systemctl status nginx

अंत में, टैगा फ़ाइलों पर स्वामित्व और अनुमति को ठीक करें।

sudo chown -R taiga:taiga /home/taiga/
sudo chmod o+x /home/taiga/

निष्कर्ष

अब आप टैगा इंस्टालेशन पर जा सकते हैं https://taiga.example.com। प्रारंभिक व्यवस्थापक खाते का उपयोग उपयोगकर्ता नाम " admin" और पासवर्ड " 123123" के साथ करें। आपकी स्थापना अब उत्पादन के उपयोग के लिए तैयार है। एक नई परियोजना बनाने या उत्पाद का मूल्यांकन करके शुरू करें। यदि आप पहले से ही गितुब, जीरा, या ट्रेलो पर एक परियोजना का प्रबंधन कर रहे हैं, तो आप आयातकों का उपयोग करके आसानी से टैगा में परियोजनाओं को आयात कर सकते हैं ।



Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ