CentOS 7 पर कॉनकोर्स सीआई को कैसे स्थापित करें और कॉन्फ़िगर करें

परिचय

सतत एकीकरण एक DevOps सॉफ्टवेयर विकास अभ्यास है जो डेवलपर्स को दिन में कई बार साझा किए गए भंडार में बार-बार संशोधित कोड को मर्ज करने में सक्षम बनाता है। प्रत्येक मर्ज के बाद, कोड में समस्याओं का पता लगाने के लिए स्वचालित बिल्ड और परीक्षण किए जाते हैं। यह डेवलपर्स को सॉफ़्टवेयर की गुणवत्ता में सुधार करने और सॉफ़्टवेयर की निरंतर डिलीवरी प्रदान करने के लिए त्रुटियों को जल्दी से खोजने और हल करने में सक्षम बनाता है। कॉनकोर्स से स्विचिंग और फ्रॉंग करना बहुत आसान है क्योंकि यह अपने सभी कॉन्फ़िगरेशन को डिक्लेक्टिव फाइलों में रखता है जिन्हें वर्जन कंट्रोल में चेक किया जा सकता है। यह एक वेब उपयोगकर्ता इंटरफ़ेस भी प्रदान करता है जो बिल्ड जानकारी को अंतःक्रियात्मक रूप से प्रदर्शित करता है।

समास घटक।
  • एटीसी कॉनकोर्स का मुख्य घटक है। यह वेब UI और API चलाने के लिए जिम्मेदार है। यह सभी पाइपलाइन शेड्यूलिंग का भी ध्यान रखता है।
  • TSA एक कस्टम निर्मित SSH सर्वर है। यह एटीसी के साथ एक कार्यकर्ता को सुरक्षित रूप से पंजीकृत करने के लिए जिम्मेदार है।
  • श्रमिक आगे दो अलग-अलग सेवाएं चलाते हैं:
    1. गार्डन एक कंटेनर रनटाइम है और एक कर्मचारी पर दूर से ऑर्केस्ट्रेटिंग कंटेनरों के लिए एक इंटरफ़ेस है।
    2. बैगग्रॉस्क्लेम एक कैश और आर्टिफैक्ट मैनेजमेंट सर्वर है।
  • फ़ोक एक कमांड लाइन इंटरफ़ेस है जिसका उपयोग कॉनकोर्स पाइपलाइन को कॉन्फ़िगर करने के लिए एटीसी के साथ बातचीत करने के लिए किया जाता है।

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

  • एक Vultr CentOS 7 सर्वर उदाहरण।
  • एक sudo यूजर

की सभी घटनाओं प्रतिस्थापित करना सुनिश्चित करें 192.0.2.1और ci.example.comअपने वास्तविक Vultr सार्वजनिक आईपी पते और वास्तविक डोमेन नाम से।

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

PostgreSQL डेटाबेस को स्थापित और कॉन्फ़िगर करें

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

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

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

sudo yum -y install postgresql96-server postgresql96-contrib

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

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

initdbएक नया PostgreSQL डेटाबेस क्लस्टर बनाता है, जो एक एकल सर्वर उदाहरण द्वारा प्रबंधित डेटाबेस का एक संग्रह है। pg_hba.confMD5 आधारित प्रमाणीकरण सक्षम करने के लिए फ़ाइल को संपादित करें ।

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

निम्नलिखित पंक्तियों को ढूंढें और मूल्यों को और कॉलम में क्रमशः, peerऔर identमें बदलें ।METHODtrustmd5

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

एक बार अद्यतन करने के बाद, कॉन्फ़िगरेशन इस तरह दिखना चाहिए।

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

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

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

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

sudo passwd postgres

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

sudo su - postgres

कॉनकोर्स सीआई के लिए एक नया PostgreSQL उपयोगकर्ता बनाएं।

createuser concourse

नोट : डिफ़ॉल्ट PostgreSQL उपयोगकर्ता डेटाबेस के प्रमाणीकरण के लिए इस्तेमाल किया जा सकता है, लेकिन यह एक उत्पादन सेटअप में सम्‍मिलित डेटाबेस के प्रमाणीकरण के लिए एक समर्पित उपयोगकर्ता का उपयोग करने के लिए अनुशंसित है।

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

psql

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

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

महत्वपूर्ण : DBPasswordएक मजबूत पासवर्ड के साथ बदलें । पासवर्ड का एक नोट बनाएं जैसा कि ट्यूटोरियल में बाद में आवश्यक होगा।

कॉनकोर्स के लिए एक नया डेटाबेस बनाएं।

CREATE DATABASE concourse OWNER concourse;

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

\q

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

exit

डाउनलोड करें और कॉनकोर्स सीआई स्थापित करें

कॉनकोर्स निष्पादन योग्य का नवीनतम संस्करण डाउनलोड करें और इसे स्टोर करें /usr/binताकि इसे सीधे निष्पादित किया जा सके। कॉनकोर्स के नवीनतम संस्करण और फ्लाई बायनेरी को कॉनकोर्स डाउनलोड पृष्ठ पर पाया जा सकता है । नई रिलीज बहुत अक्सर हैं। सबसे हाल के संस्करण के लिए नए लिंक के साथ नीचे दिए गए लिंक को बदलें।

sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/concourse_linux_amd64 -O /usr/bin/concourse

इसी तरह, फ्लाई एग्ज़ेक्टेबल का नवीनतम संस्करण डाउनलोड करें और इसे स्टोर करें /usr/bin

sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/fly_linux_amd64 -O /usr/bin/fly

फ्लाई, कमांड लाइन ऑफ़ इंटरकोर्स सीआई से कनेक्ट करने के लिए कमांड लाइन इंटरफ़ेस है। लिनक्स, विंडोज और मैकओएस जैसे कई प्लेटफार्मों के लिए फ्लाई उपलब्ध है।

डाउनलोड concourseऔर flyबायनेरिज़ के लिए अनुमति निष्पादित करें ।

sudo chmod +x /usr/bin/concourse /usr/bin/fly

जाँच करें कि क्या कॉनकोर्स और फ्लाई अपने संस्करण की जाँच करके सही तरीके से काम कर रहे हैं।

concourse -version
fly -version

आरएसए कुंजी उत्पन्न और सेटअप करें

RSA प्रमुख जोड़े कॉनकोर्स के घटकों के बीच संचार को एन्क्रिप्ट करने का एक तरीका प्रदान करते हैं।

कार्य के लिए सम्‍मिलन के लिए, कम से कम तीन जोड़ी कुंजियाँ बनानी होंगी। सत्र डेटा एन्क्रिप्ट करने के लिए, जनरेट करें session_signing_key। इस कुंजी का उपयोग टीएसए द्वारा एटीसी को किए गए अनुरोधों पर हस्ताक्षर करने के लिए भी किया जाएगा। TSA SSH सर्वर को सुरक्षित करने के लिए a tsa_host_key। अंत में, प्रत्येक कार्यकर्ता के worker_keyलिए जनरेट करें ।

कॉनकोर्स सीआई से संबंधित कुंजियों और कॉन्फ़िगरेशन को संग्रहीत करने के लिए एक नई निर्देशिका बनाएं।

sudo mkdir /opt/concourse

आवश्यक कुंजी उत्पन्न करें।

sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/session_signing_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/tsa_host_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/worker_key

authorized_worker_keysफ़ाइल में इसकी सामग्री की प्रतिलिपि बनाकर श्रमिकों की सार्वजनिक कुंजी को अधिकृत करें :

sudo cp /opt/concourse/worker_key.pub /opt/concourse/authorized_worker_keys

संभोग शुरू करना

कॉनकोर्स दो अलग-अलग घटक प्रदान करता है जिन्हें शुरू करने की आवश्यकता होती है, वेब और वर्कर। कॉनकोर्स वेब शुरू करें।

sudo concourse web \
  --basic-auth-username admin \
  --basic-auth-password StrongPass \
  --session-signing-key /opt/concourse/session_signing_key \
  --tsa-host-key /opt/concourse/tsa_host_key \
  --tsa-authorized-keys /opt/concourse/authorized_worker_keys \
  --postgres-user=concourse \
  --postgres-password=DBPassword \
  --postgres-database=concourse \
  --external-url http://192.0.2.1:8080

basic-authयदि वांछित है , तो उपयोगकर्ता नाम और पासवर्ड बदलें । सुनिश्चित करें कि मुख्य फ़ाइलों का पथ सही है और सुनिश्चित करें कि PostgreSQL डेटाबेस कॉन्फ़िगरेशन में उपयोगकर्ता नाम और पासवर्ड के लिए सही मान प्रदान किया गया है।

नोट : एटीसी डिफ़ॉल्ट पोर्ट 8080को सुनेगा और टीएसए पोर्ट को सुनेगा 2222। यदि प्रमाणीकरण वांछित नहीं है, --no-really-i-dont-want-any-authतो मूल स्रोत विकल्पों को हटाने के बाद विकल्प पास करें।

वेब सर्वर शुरू होने के बाद, निम्न आउटपुट प्रदर्शित किया जाना चाहिए।

{"timestamp":"1503657859.661247969","source":"tsa","message":"tsa.listening","log_level":1,"data":{}}
{"timestamp":"1503657859.666907549","source":"atc","message":"atc.listening","log_level":1,"data":{"debug":"127.0.0.1:8079","http":"0.0.0.0:8080"}}

सर्वर को अभी के लिए बंद कर दें, क्योंकि कुछ और चीजें अभी भी सेटअप होनी चाहिए।

कॉनकोर्स सीआई वर्कर शुरू करें।

sudo concourse worker \
  --work-dir /opt/concourse/worker \
  --tsa-host 127.0.0.1 \
  --tsa-public-key /opt/concourse/tsa_host_key.pub \
  --tsa-worker-private-key /opt/concourse/worker_key

उपरोक्त कमांड मान लेगा कि TSA लोकलहोस्ट पर चल रहा है और डिफ़ॉल्ट पोर्ट को सुन रहा है 2222

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

पर्यावरण और सिस्टम सेवा को कॉन्फ़िगर करें

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

कॉनकोर्स वेब के लिए एक नई पर्यावरण फ़ाइल बनाएँ।

sudo nano /opt/concourse/web.env

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

CONCOURSE_SESSION_SIGNING_KEY=/opt/concourse/session_signing_key
CONCOURSE_TSA_HOST_KEY=/opt/concourse/tsa_host_key
CONCOURSE_TSA_AUTHORIZED_KEYS=/opt/concourse/authorized_worker_keys

CONCOURSE_POSTGRES_USER=concourse
CONCOURSE_POSTGRES_PASSWORD=DBPassword
CONCOURSE_POSTGRES_DATABASE=concourse

CONCOURSE_BASIC_AUTH_USERNAME=admin
CONCOURSE_BASIC_AUTH_PASSWORD=StrongPass
CONCOURSE_EXTERNAL_URL=http://192.0.2.1:8080

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

इसी तरह, कार्यकर्ता के लिए एक पर्यावरण फ़ाइल बनाएं।

sudo nano /opt/concourse/worker.env

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

CONCOURSE_WORK_DIR=/opt/concourse/worker
CONCOURSE_TSA_WORKER_PRIVATE_KEY=/opt/concourse/worker_key
CONCOURSE_TSA_PUBLIC_KEY=/opt/concourse/tsa_host_key.pub
CONCOURSE_TSA_HOST=127.0.0.1

जैसा कि पर्यावरण फ़ाइलों में उपयोगकर्ता नाम और पासवर्ड होते हैं, इसकी अनुमतियाँ बदलें ताकि इसे अन्य उपयोगकर्ताओं द्वारा एक्सेस नहीं किया जा सके।

sudo chmod 600 /opt/concourse/*.env

अब वेब वातावरण को चलाने के लिए कॉनकोर्स के लिए एक नया उपयोगकर्ता बनाएं। यह सुनिश्चित करेगा कि वेब सर्वर एक अलग वातावरण में चल रहा है।

sudo adduser --system concourse

सम्‍मिलित उपयोगकर्ता को सम्‍मिलित CI फ़ाइल की डायरेक्टरी पर स्वामित्व दें।

sudo chown -R concourse:concourse /opt/concourse

कॉनकोर्स वेब सेवा के लिए एक नई systemd सेवा फ़ाइल बनाएँ।

sudo nano /etc/systemd/system/concourse-web.service

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

[Unit]
Description=Concourse CI web server
After=postgresql-9.6.service

[Service]
Type=simple
User=concourse
Group=concourse
Restart=on-failure
EnvironmentFile=/opt/concourse/web.env
ExecStart=/usr/bin/concourse web
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_web

[Install]
WantedBy=multi-user.target

फ़ाइल को सहेजें और बंद करें। कॉनकोर्स वर्कर सेवा के लिए एक नई सेवा फ़ाइल बनाएँ।

sudo nano /etc/systemd/system/concourse-worker.service

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

[Unit]
Description=Concourse CI worker process
After=concourse-web.service

[Service]
Type=simple
User=root
Group=root
Restart=on-failure
EnvironmentFile=/opt/concourse/worker.env
ExecStart=/usr/bin/concourse worker
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_worker

[Install]
WantedBy=multi-user.target

वेब और वर्कर सेवा अब सीधे चालू करके शुरू की जा सकती है:

sudo systemctl start concourse-web concourse-worker

कार्यकर्ता और वेब प्रक्रिया को बूट समय पर स्वचालित रूप से शुरू करने के लिए, चलाने के लिए:

sudo systemctl enable concourse-worker concourse-web

सेवाओं की स्थिति की जांच करने के लिए, चलाएं:

sudo systemctl status concourse-worker concourse-web

यदि सेवा शुरू नहीं हुई है, या FAILEDराज्य में कैश को /tmpनिर्देशिका से हटा दें ।

sudo rm -rf /tmp/*

सेवाओं को पुनरारंभ करें।

sudo systemctl restart concourse-worker concourse-web

ध्यान दें कि इस बार सेवाएं सही ढंग से शुरू हुई हैं। सेवाओं की स्थिति की पुष्टि करने पर आउटपुट को उबालना चाहिए।

[user@vultr ~]$ sudo systemctl status concourse-worker concourse-web
● concourse-worker.service - Concourse CI worker process
   Loaded: loaded (/etc/systemd/system/concourse-worker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
 Main PID: 3037 (concourse)
   CGroup: /system.slice/concourse-worker.service
           └─3037 /usr/bin/concourse worker

Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.934722900","source":"tsa","message":"t...""}}
Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.941227913","source":"guardian","messag...0"}}
...

● concourse-web.service - Concourse CI web server
   Loaded: loaded (/etc/systemd/system/concourse-web.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
 Main PID: 3036 (concourse)
   CGroup: /system.slice/concourse-web.service
           └─3036 /usr/bin/concourse web

Aug 26 07:27:57 vultr.guest concourse_web[3036]: {"timestamp":"1503732477.925554752","source":"tsa","message":"tsa...ve"}}
Aug 26 07:28:02 vultr.guest concourse_web[3036]: {"timestamp":"1503732482.925430775","source":"tsa","message":"tsa...ve"}}
...
Hint: Some lines were ellipsized, use -l to show in full.

पोर्ट 8080 की अनुमति देने के लिए अपने फ़ायरवॉल को समायोजित करें, जिस पर एटीएस चल रहा है और पोर्ट 2222, जिस पर टीएसए चल रहा है।

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --reload

सर्वर से कनेक्ट करना

एक बार सर्वर शुरू होने के बाद, कॉनकोर्स सीआई के वेब इंटरफेस को http://192.0.2.1:8080किसी भी ब्राउज़र में जाकर एक्सेस किया जा सकता है। पर्यावरण फ़ाइल में दिए गए उपयोगकर्ता नाम और पासवर्ड का उपयोग करके लॉग इन करें।

फ्लाई, रन का उपयोग कर सर्वर से कनेक्ट करने के लिए:

fly -t my-ci login -c http://192.0.2.1:8080

सर्वर पर प्रारंभिक लॉगिन के लिए उपरोक्त कमांड का उपयोग किया जाता है। -tका उपयोग लक्ष्य नाम प्रदान करने के लिए किया जाता है। my-ciकिसी इच्छित लक्ष्य नाम के साथ बदलें । उपर्युक्त आदेश डिफ़ॉल्ट टीम में प्रवेश करेगा main। यह पर्यावरण फाइल में दिए गए उपयोगकर्ता नाम और पासवर्ड के लिए पूछेगा।

आउटपुट निम्न की तरह दिखेगा।

[user@vultr ~]$ fly -t my-ci login -c http://192.0.2.1:8080
logging in to team 'main'

username: admin
password:

target saved

लक्ष्य लॉगिन एक दिन के लिए सहेजा जाएगा। उसके बाद, यह समाप्त हो जाएगा।

तुरंत लॉग आउट करने के लिए।

fly -t my-ci logout

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

Nginx रिवर्स प्रॉक्सी सेट करना

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

Nginx वेब सर्वर और Certbot स्थापित करें, जो कि चलो एनक्रिप्ट एनए के लिए क्लाइंट एप्लिकेशन है।

sudo yum -y install certbot-nginx nginx

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

sudo systemctl start nginx
sudo systemctl enable nginx

प्रमाणपत्र, पोर्ट 80 और 443, या मानक HTTP और HTTPS सेवाओं के लिए अनुरोध करने से पहले फ़ायरवॉल के माध्यम से सक्षम होना चाहिए। सर्टिफिकेट सर्टिफिकेट जारी करने से पहले डोमेन प्राधिकरण की जांच करेगा।

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

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

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --reload

ध्यान दें

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

एसएसएल प्रमाणपत्र उत्पन्न करें।

sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com

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

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

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

sudo crontab -e

फ़ाइल के अंत में निम्न पंक्ति जोड़ें।

30 5 * * 1 /usr/bin/certbot renew --quiet

उपरोक्त क्रोन नौकरी प्रत्येक सोमवार को सुबह 5:30 बजे चलेगी। यदि प्रमाण पत्र समाप्ति के लिए है, तो यह स्वतः नवीनीकृत हो जाएगा।

एक नया वर्चुअल होस्ट बनाएं।

sudo nano /etc/nginx/conf.d/concourse-ssl.conf

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

server {
    listen 80;
    server_name ci.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name ci.example.com;

    ssl_certificate           /etc/letsencrypt/live/ci.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/ci.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /var/log/nginx/concourse.access.log;

    location / {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://ci.example.com;
    }
  }

नोट : ci.example.comवास्तविक डोमेन के साथ बदलें ।

सम्‍मिलित वेब के लिए बनाई गई पर्यावरण फ़ाइल को संपादित करें।

sudo nano /opt/concourse/web.env

का मान बदलें CONCOURSE_EXTERNAL_URLऔर फ़ाइल के अंत में दो और लाइनें भी जोड़ें।

CONCOURSE_EXTERNAL_URL=https://ci.example.com
CONCOURSE_BIND_IP=127.0.0.1
CONCOURSE_BIND_PORT=8080

फ़ाइल को सहेजें और कॉनकोर्स वेब, वर्कर और नेग्नेक्स वेब सर्वर को पुनरारंभ करें:

sudo systemctl restart concourse-worker concourse-web nginx

ब्राउज़र से और उसके पास भेजे गए सभी डेटा अब एसएसएल एनक्रिप्ट के साथ सुरक्षित हैं।



Leave a Comment

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

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

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

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

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

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

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

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

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

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

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

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

CentOS 7 पर RockMongo स्थापित करें

CentOS 7 पर RockMongo स्थापित करें

RockMongo एक वेब-आधारित MongoDB प्रबंधन उपकरण है जो MySQL प्रबंधन उपकरण के समान है: phpMyAdmin। यह ट्यूटोरियल इंस्टॉलिन की प्रक्रिया को कवर करेगा

CentOS 7 पर बुक किए गए समयबद्धक को कैसे स्थापित करें

CentOS 7 पर बुक किए गए समयबद्धक को कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? आवश्यकताएँ एक Vultr CentOS 7 सर्वर उदाहरण। एक sudo यूजर। चरण 1: सिस्टम को पहले अपडेट करें, अपने सिस्टम सर्वर को वें में अपडेट करें

CentOS 7 पर नेटडाटा स्थापित करना

CentOS 7 पर नेटडाटा स्थापित करना

एक अलग प्रणाली का उपयोग? नेटडाटा रियल-टाइम सिस्टम मेट्रिक्स मॉनिटरिंग के क्षेत्र में एक उभरता हुआ सितारा है। एक ही तरह के अन्य उपकरणों की तुलना में, नेटडाटा:

CentOS 7 पर स्टारबाउंड सर्वर कैसे स्थापित करें

CentOS 7 पर स्टारबाउंड सर्वर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? इस ट्यूटोरियल में, बीमार समझा जा रहा है कि CentOS 7 पर एक स्टारबाउंड सर्वर को कैसे सेटअप किया जाए। आवश्यक शर्तें आपको इस गेम को खुद पर बनाना होगा।

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

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

वेब एप्लिकेशन लिखने के लिए Django एक लोकप्रिय पायथन फ्रेमवर्क है। Django के साथ, आप तेजी से अनुप्रयोगों का निर्माण कर सकते हैं, पहिया को फिर से बनाए बिना। अगर आप चाहते हैं

CentOS 6 पर SA-MP सैन एंड्रियास मल्टीप्लेयर सर्वर सेटअप करें

CentOS 6 पर SA-MP सैन एंड्रियास मल्टीप्लेयर सर्वर सेटअप करें

एक अन्य Vultr ट्यूटोरियल में आपका स्वागत है। यहां, आप सीखेंगे कि एसएएमपी सर्वर कैसे स्थापित करें और चलाएं। यह गाइड CentOS 6 के लिए लिखा गया था

CentOS 7 पर Revive Adserver इनस्टॉल करना

CentOS 7 पर Revive Adserver इनस्टॉल करना

Revive Adserver एक स्वतंत्र और खुला स्रोत विज्ञापन सेवारत प्रणाली है जिसका उपयोग वेबसाइटों पर, ऐप्स में और / या वीडियो खिलाड़ियों में विज्ञापनों को प्रबंधित करने के लिए किया जा सकता है। इस लेख में,

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

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

पार्स सर्वर पार्स बैकेंड सेवा के लिए खुला स्रोत विकल्प है जिसे बंद किया जा रहा है। यदि आप इस सेवा के प्रशंसक हैं, तो आप अभी भी वें का आनंद ले सकते हैं

CentOS 7 पर एल्ग स्थापित करें

CentOS 7 पर एल्ग स्थापित करें

एक अलग प्रणाली का उपयोग? एल्ग एक खुला स्रोत सोशल नेटवर्किंग इंजन है जो परिसर के सामाजिक नेटवर्क जैसे सामाजिक वातावरण के निर्माण की अनुमति देता है

CentOS 7 पर डायस्पोरा के साथ अपने सामाजिक नेटवर्क का निर्माण करें

CentOS 7 पर डायस्पोरा के साथ अपने सामाजिक नेटवर्क का निर्माण करें

एक अलग प्रणाली का उपयोग? डायस्पोरा एक गोपनीयता-जागरूक, ओपन सोर्स सोशल नेटवर्क है। इस ट्यूटोरियल में, आप सीखेंगे कि डायस्पोरा पो को कैसे सेट और कॉन्फ़िगर करें

CentOS 7 पर कुबेदम के साथ कुबेरनेट्स तैनात करें

CentOS 7 पर कुबेदम के साथ कुबेरनेट्स तैनात करें

अवलोकन यह लेख आपको कुबेरनेट क्लस्टर प्राप्त करने और कुछ ही समय में कुबेदम के साथ चलने में मदद करने के लिए है। यह गाइड दो सर्वरों को तैनात करेगा

CentOS पर Z और Zsh के साथ उत्पादकता बढ़ाएँ

CentOS पर Z और Zsh के साथ उत्पादकता बढ़ाएँ

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

कैसे एक Vultr LEMP सर्वर पर OpenCart स्थापित करें

कैसे एक Vultr LEMP सर्वर पर OpenCart स्थापित करें

ओपनकार्ट एक लोकप्रिय ओपन सोर्स शॉपिंग कार्ट सॉल्यूशन है जिसे उत्कृष्ट कार्यक्षमता, उपयोग में आसानी और उपस्थिति प्रदान करने के लिए डिज़ाइन किया गया है। OpenCart के साथ, आप सीए

CentOS 7 पर विकास के लिए Sails.js सेटअप करें

CentOS 7 पर विकास के लिए Sails.js सेटअप करें

एक अलग प्रणाली का उपयोग? परिचय Sails.js Node.js के लिए MVC फ्रेमवर्क है, जो रूबी ऑन रेल्स के समान है। यह आधुनिक अनुप्रयोगों को विकसित करने के लिए बनाता है

कैसे CentOS 7 पर स्रोत से Nginx संकलन करने के लिए

कैसे CentOS 7 पर स्रोत से Nginx संकलन करने के लिए

एक अलग प्रणाली का उपयोग? NGINX को HTTP / HTTPS सर्वर, रिवर्स प्रॉक्सी सर्वर, मेल प्रॉक्सी सर्वर, लोड बैलेंसर, TLS टर्मिनेटर, या कैचिन के रूप में उपयोग किया जा सकता है

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

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

एक अलग प्रणाली का उपयोग? dotCMS जावा में लिखा एक ओपन सोर्स एंटरप्राइज ग्रेड कंटेंट मैनेजमेंट सिस्टम है। इसमें लगभग हर सुविधा आवश्यक टी होती है

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 फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ