कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
बिल्डबॉट एक खुला स्रोत है, पायथन आधारित, सॉफ्टवेयर बिल्डिंग, परीक्षण और तैनाती को स्वचालित करने के लिए निरंतर एकीकरण उपकरण। बिल्डबॉट में एक या अधिक बिल्डबोट मास्टर और कई श्रमिक होते हैं। बिल्डबॉट मास्टर या बिल्डमास्टर के पास सिस्टम की केंद्रीय कमान है। यह बिल्ड पर्यावरण, श्रमिकों के प्रबंधन के लिए जिम्मेदार है और श्रमिकों को रोजगार भेजने के बारे में सभी निर्णय लेता है। बिल्डमास्टर कोड रिपॉजिटरी में बदलाव का पता लगाता है और कर्मचारियों को निष्पादित करने के लिए कमांड या जॉब भेजता है। श्रमिक नौकरियों को निष्पादित करते हैं और परिणाम को बिल्डमास्टर को वापस करते हैं। बिल्डमास्टर तब कई समर्थित चैनलों के माध्यम से डेवलपर्स को सूचित करता है। इस ट्यूटोरियल में, हम बिल्डबोट मास्टर और वर्कर को CentOS 7 में स्थापित करेंगे। हम एक सुरक्षित रिवर्स प्रॉक्सी के रूप में प्रमाणीकरण और नग्नेक्स को भी कॉन्फ़िगर करेंगे।
इस ट्यूटोरियल के लिए, हम 192.168.1.1
सार्वजनिक आईपी पते के ci.example.com
रूप में और डोमेन नाम वल्चर उदाहरण की ओर इशारा करेंगे। कृपया वास्तविक डोमेन के साथ उदाहरण डोमेन नाम और आईपी पते की सभी घटनाओं को बदलना सुनिश्चित करें।
सेंटोस 7 को अपडेट करने के लिए गाइड का उपयोग करके अपनी आधार प्रणाली को अपडेट करें । एक बार आपका सिस्टम अपडेट हो जाने के बाद, PostgreSQL को स्थापित करने के लिए आगे बढ़ें।
पिप स्थापित करें, जो पायथन के लिए एक पैकेज प्रबंधक है।
sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip
बिल्डबोट कई प्रकार के डेटाबेस सर्वर जैसे MySQL, PostgreSQL और SQLite का समर्थन करता है। इस ट्यूटोरियल में, हम बिल्डबोट डेटाबेस सर्वर को होस्ट करने के लिए PostgreSQL का उपयोग करेंगे।
PostgreSQL एक ऑब्जेक्ट-रिलेशनल डेटाबेस सिस्टम है, जो अपनी स्थिरता और गति के लिए जाना जाता है। डिफ़ॉल्ट yum
रिपॉजिटरी में 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
Buildbot के लिए एक नया PostgreSQL उपयोगकर्ता बनाएँ।
createuser bb_user
bb_user
यदि आप चाहें, तो आप इसके बजाय किसी भी उपयोगकर्ता नाम का उपयोग कर सकते हैं। PostgreSQL psql
डेटाबेस पर प्रश्नों को चलाने के लिए शेल प्रदान करता है । PostgreSQL शेल पर स्विच करें।
psql
नए बनाए गए उपयोगकर्ता के लिए एक पासवर्ड सेट करें।
ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';
DBPassword
सुरक्षित पासवर्ड से बदलें ।
Buildbot स्थापना के लिए एक नया डेटाबेस बनाएँ।
CREATE DATABASE buildbot OWNER bb_user;
psql
खोल से बाहर निकलें ।
\q
sudo
उपयोगकर्ता पर स्विच करें।
exit
pg_hba.conf
MD5 आधारित प्रमाणीकरण सक्षम करने के लिए फ़ाइल को संपादित करें ।
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
निम्नलिखित लाइनों का पता लगाएं और मूल्यों को बदल peer
और ident
, में METHOD
स्तंभ, करने के लिए trust
और md5
क्रमश:।
# 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 pip install psycopg2
PostgreSQL को पुनरारंभ करें ताकि परिवर्तन प्रभावी हो सकें।
sudo systemctl restart postgresql-10
Pip का उपयोग करके Buildbot स्थापित करें।
sudo pip install 'buildbot[bundle]' pyopenssl service_identity
उपरोक्त आदेश के साथ-साथ Buildbot स्थापित हो जाएगा buildbot-www
, buildbot-worker
और कई वेब के रूप में इस तरह के प्लगइन्स buildbot-waterfall-view
।
यह सुनिश्चित करने के लिए कि बिल्डबॉट सफलतापूर्वक स्थापित किया गया है, आप बिल्डबॉट के संस्करण की जांच करके सत्यापित कर सकते हैं।
buildbot --version
आउटपुट निम्न पाठ से मिलता जुलता होना चाहिए।
[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0
पोर्ट की अनुमति देने के लिए अपने फ़ायरवॉल नियमों को संशोधित करें 8010
। वेब अनुरोधों को सुनने के लिए बिल्डबॉट इस पोर्ट का उपयोग करता है।
sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload
बिल्डबोट मास्टर और वर्कर प्रक्रियाओं को चलाने के लिए एक नया अनपेक्षित उपयोगकर्ता बनाएं। root
उपयोगकर्ता के रूप में बिल्डबॉट मास्टर सेवाओं को चलाने की अनुशंसा नहीं की जाती है ।
sudo adduser buildbot
sudo passwd buildbot
नए बनाए गए buildbot
उपयोगकर्ता के रूप में लॉग इन करें।
sudo su - buildbot
/home/buildbot/master
निर्देशिका में Buildbot मास्टर सेट करें । इस निर्देशिका में प्रत्येक बिल्ड की कॉन्फ़िगरेशन, स्थिति और लॉग फ़ाइलें होंगी।
buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
उपरोक्त आदेश में डेटाबेस उपयोगकर्ता के क्रेडेंशियल्स को बदलना सुनिश्चित करें।
नोट: यदि आप PostgreSQL के बजाय SQLite डेटाबेस का उपयोग करना चाहते हैं, तो बस --db 'postgresql://bb_user:DBpassword@localhost/buildbot'
विकल्प को छोड़ दें । SQLite डेटाबेस उसी निर्देशिका में बनाया जाएगा।
उपरोक्त आदेश ~/master
बिल्डमास्टर फ़ाइलों को संग्रहीत करने के लिए निर्देशिका बनाएगा । यह डेटा को PostgreSQL डेटाबेस में भी लिखेगा। आपको निम्न आउटपुट मिलेगा।
[buildbot@vultr ~]$ buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
mkdir /home/buildbot/master
creating /home/buildbot/master/master.cfg.sample
creating database (postgresql://bb_user:DBPassword@localhost/buildbot)
buildmaster configured in /home/buildbot/master
एक लाइव कॉन्फ़िगरेशन फ़ाइल के लिए नमूना कॉन्फ़िगरेशन फ़ाइल की प्रतिलिपि बनाएँ।
cp ~/master/master.cfg.sample ~/master/master.cfg
कॉन्फ़िगरेशन फ़ाइल संपादित करें।
nano ~/master/master.cfg
निम्नलिखित पंक्तियों का पता लगाएं।
c['workers'] = [worker.Worker("example-worker", "pass")]
...
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["example-worker"],
factory=factory))
...
c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/"
...
c['buildbotURL'] = "http://localhost:8010/"
...
c['db'] = {
'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
उपरोक्त कॉन्फ़िगरेशन में एक नमूना कार्यकर्ता के लिए एक प्रविष्टि है। हम उस कर्मचारी के लिए नमूना प्रविष्टि को संशोधित करेंगे, जिस पर हम चल रहे हैं localhost
। कार्यकर्ता के example-worker
लिए किसी भी उपयुक्त नाम को localhost
बदलें और pass
उसे किसी अन्य पासवर्ड में बदलें । कार्यकर्ता का नाम और पासवर्ड नोट करें क्योंकि हमें बाद में ट्यूटोरियल की आवश्यकता होगी। बिल्डरों की सूची में कार्यकर्ता का नाम बदलें। अपनी आवश्यकताओं के अनुसार एप्लिकेशन और प्रोजेक्ट URL का नाम बदलें।
Buildbot URL localhost
को अपने वास्तविक डोमेन नाम या सार्वजनिक IP पते से बदलें । इसके अलावा, पुष्टि करें कि कॉन्फ़िगरेशन फ़ाइल में डेटाबेस जानकारी आपके वास्तविक डेटाबेस क्रेडेंशियल्स से मेल खाती है।
फ़ाइल के अंत में, जोड़ें c['buildbotNetUsageData'] = None
। यह पैरामीटर डेवलपर्स के लिए सॉफ़्टवेयर संस्करण जानकारी और प्लगइन उपयोग विवरण भेजने को अक्षम कर देगा। हालाँकि, उपयोग जानकारी भेजने में सक्षम करने के लिए, विकल्प को बदलें Full
।
कॉन्फ़िगरेशन निम्न पाठ की तरह दिखना चाहिए।
c['workers'] = [worker.Worker("localhost-worker", "Password123")]
...
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["localhost-worker"],
factory=factory))
...
c['title'] = "My Application CI"
c['titleURL'] = "https://example.com/my-app"
...
c['buildbotURL'] = "http://192.168.1.1:8010/"
...
c['db'] = {
'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
...
c['buildbotNetUsageData'] = None
फ़ाइल को सहेजें और संपादक से बाहर निकलें। त्रुटियों के लिए कॉन्फ़िगरेशन फ़ाइल की जाँच करें।
buildbot checkconfig ~/master
यदि कॉन्फ़िगरेशन फ़ाइल में कोई त्रुटि नहीं है, तो आप निम्न आउटपुट देखेंगे।
[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!
अब जब सब कुछ सही तरीके से कॉन्फ़िगर किया गया है, तो आप बिल्डबोट मास्टर शुरू कर सकते हैं।
buildbot start ~/master
आप निम्न आउटपुट देखेंगे।
[buildbot@vultr ~]$ buildbot start ~/master
Following twistd.log until startup finished..
The buildmaster appears to have (re)started correctly.
अब जब बिल्डबॉट मास्टर सही ढंग से शुरू हो गया है, तो वेब उपयोगकर्ता इंटरफ़ेस पहुंच योग्य है http://192.168.1.1:8010
। आपको निम्न बिल्डबॉट इंटरफ़ेस देखना चाहिए।
चूंकि हमने पहले ही वर्कर कॉन्फ़िगरेशन को संशोधित कर दिया है ~/master/master.cfg
, इसलिए हम एक नया वर्कर बनाने के लिए आगे बढ़ सकते हैं।
buildbot-worker create-worker ~/worker localhost localhost-worker Password123
सुनिश्चित करें कि आप ~/master/master.cfg
फ़ाइल में उल्लिखित समान कार्यकर्ता नाम और पासवर्ड का उपयोग करते हैं । यदि कार्यकर्ता के नाम या पासवर्ड में कोई बेमेल है, तो कार्यकर्ता बिल्डबोट मास्टर से कनेक्ट नहीं कर पाएगा। आप सफल निष्पादन पर निम्नलिखित आउटपुट देखेंगे।
[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker
कार्यकर्ता के बारे में जानकारी /info
निर्देशिका में संग्रहीत की जाती है । डेवलपर के बारे में प्रशासनिक जानकारी संपादित करें।
nano ~/worker/info/admin
उदाहरण नाम को अपने वास्तविक नाम और ईमेल से बदलें।
Your Name <[email protected]>
अब, होस्ट के बारे में जानकारी युक्त फ़ाइल खोलें।
nano ~/worker/info/host
उदाहरण निर्देश को होस्ट सिस्टम के ब��रे में वास्तविक जानकारी से बदलें।
Localhost, CentOS 7
श्रमिक व्यवस्थापक और होस्ट जानकारी का उपयोग केवल सिस्टम के बारे में उपयोगकर्ताओं को बताने के लिए किया जाता है। आप सिस्टम के बारे में अतिरिक्त जानकारी भी जोड़ सकते हैं जैसे बिल्डबोट संस्करण और ट्विस्टेड संस्करण।
कार्यकर्ता शुरू करें।
buildbot-worker start ~/worker
आउटपुट निम्न पाठ की तरह दिखेगा।
[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.
यह देखने के लिए कि क्या कार्यकर्ता पंजीकृत है, बिल्डबॉट के वेब इंटरफेस पर जाएं और Builds >> Workers
बाएं नेविगेशन से नेविगेट करें । आपको यह देखना चाहिए कि कार्यकर्ता ऊपर है और निर्माण के लिए तैयार है।
सैंपल बिल्ड को चलाने के लिए, यह जांचने के लिए कि बिल्डबोट कार्यकर्ता सफलतापूर्वक चल रहा है, नेविगेट करने के लिए Builds >> Builders
। पर क्लिक करें runtests
बिल्डर इंटरफ़ेस खोलने के लिए और पर क्लिक करने के बिल्डर नाम Force
निर्माण के लिए मजबूर करने के लिए बटन। अपना नाम प्रदान करें और Start Build
बिल्ड शुरू करने के लिए बटन पर क्लिक करें । चूंकि यह बिल्डबॉट पर्यावरण की जांच करने के लिए एक नमूना निर्माण परीक्षण है, यह कुछ सेकंड में समाप्त हो जाएगा। आपको एक सफलता संदेश और निर्माण परिणाम मिलेगा।
यद्यपि बिल्डबोट मास्टर और कार्यकर्ता को आसानी से ऊपर दिए गए आदेशों का उपयोग करके शुरू किया जा सकता है, लेकिन बिल्डबॉट सेवाओं को चलाने और प्रबंधित करने के लिए सिस्टमड इकाइयों का उपयोग करने की सिफारिश की जाती है। यह सुनिश्चित करेगा कि वे सिस्टम पुनरारंभ और विफलताओं पर स्वचालित रूप से शुरू हो गए हैं।
नोट: या तो चलाकर उपयोगकर्ता को फिर से स्विच sudo
करें । अब से सभी कमांड को उपयोगकर्ता द्वारा निष्पादित करने की आवश्यकता है ।exit
su <username>
sudo
रनिंग बिल्डबोट कार्यकर्ता और मास्टर सेवा बंद करें।
sudo su buildbot -c "buildbot stop /home/buildbot/master"
sudo su buildbot -c "buildbot-worker stop ~/worker"
Buildbot मास्टर के लिए एक नया Systemd यूनिट फ़ाइल बनाएँ।
sudo nano /etc/systemd/system/buildbot.service
फ़ाइल को पॉप्युलेट करें।
[Unit]
Description=BuildBot master service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/master
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart
[Install]
WantedBy=multi-user.target
बिल्डबॉट मास्टर शुरू करें और इसे बूट समय पर स्वचालित रूप से शुरू करने के लिए सक्षम करें।
sudo systemctl start buildbot
sudo systemctl enable buildbot
Buildbot कार्यकर्ता के लिए एक नया Systemd यूनिट फ़ाइल बनाएँ।
sudo nano /etc/systemd/system/buildbot-worker.service
फ़ाइल को पॉप्युलेट करें।
[Unit]
Description=BuildBot worker service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart
[Install]
WantedBy=multi-user.target
Buildbot कार्यकर्ता प्रारंभ करें और इसे बूट समय पर स्वचालित रूप से प्रारंभ करने के लिए सक्षम करें।
sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker
आप सेवाओं की स्थिति देख सकते हैं।
sudo systemctl status buildbot buildbot-worker
यदि सेवाएँ सुचारू रूप से चल रही हैं, तो आप आउटपुट में देखेंगे।
[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.
● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.
डिफ़ॉल्ट रूप से, बिल्डबॉट वेब इंटरफ़ेस में प्रमाणीकरण सक्षम नहीं है। इंटरनेट का सामना करने वाली साइटों के लिए, प्रमाणीकरण की स्थापना के लिए दृढ़ता से अनुशंसा की जाती है ताकि केवल अधिकृत उपयोगकर्ता ही प्रशासनिक कार्यों को करने की क्षमता रख सकें। प्रमाणीकरण सेट करने के लिए, बिल्डबोट मास्टर कॉन्फ़िगरेशन फ़ाइल को फिर से खोलें।
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
फ़ाइल के अंत में निम्न पंक्तियाँ जोड़ें।
c['www']['authz'] = util.Authz(
allowRules = [
util.AnyEndpointMatcher(role="admins")
],
roleMatchers = [
util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})
admin_user
उस वास्तविक उपयोगकर्ता नाम के साथ दोनों घटनाओं को प्रतिस्थापित करें जिसे आप उपयोग करना चाहते हैं और AdminPassword
एक मजबूत पासवर्ड के साथ।
कॉन्फ़िगरेशन फ़ाइल में त्रुटियों के लिए जाँच करें।
sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"
बिल्डबॉट मास्टर सेवा को पुनरारंभ करें ताकि परिवर्तन प्रभावी हो सकें।
sudo systemctl restart buildbot
वेब इंटरफ़ेस फिर से ब्राउज़ करें यह देखने के लिए कि अनाम उपयोगकर्ता केवल बिल्ड सर्वर के बारे में मूल विवरण देख सकते हैं। अब, master.cfg
फ़ाइल में सेट किए गए क्रेडेंशियल्स का उपयोग करके लॉग इन करें और आप देखेंगे कि अन्य सभी प्रशासनिक कार्य केवल लॉग इन एडमिन उपयोगकर्ता के लिए उपलब्ध हैं।
डिफ़ॉल्ट रूप से, बिल्डबोट 8010
असुरक्षित कनेक्शन पर पोर्ट को सुनता है । वेब इंटरफ़ेस को सुरक्षित रखने के HTTPS
लिए यह सुनिश्चित करने की अनुशंसा की जाती है कि ब्राउज़र से सर्वर तक परिवहन के दौरान डेटा सुरक्षित हो। ट्यूटोरियल के इस भाग में, हम निन्ज को नि: शुल्क SSL प्रमाणपत्रों को एन्क्रिप्ट करने के साथ स्थापित और सुरक्षित करेंगे। बिल्डबॉट के HTTP एंडपॉइंट के लिए आने वाले अनुरोधों को आगे बढ़ाने के लिए Nginx वेब सर्वर एक रिवर्स प्रॉक्सी के रूप में काम करेगा।
Nginx स्थापित करें।
sudo yum -y install nginx
Nginx प्रारंभ करें और इसे बूट समय पर स्वचालित रूप से प्रारंभ करने के लिए सक्षम करें।
sudo systemctl start nginx
sudo systemctl enable nginx
सर्टिफिकेट स्थापित करें, जो कि चलो एनक्रिप्ट एनए के लिए क्लाइंट एप्लिकेशन है।
sudo yum -y install certbot
इससे पहले कि आप प्रमाणपत्रों का अनुरोध कर सकें, आपको फ़ायरवॉल के माध्यम से बंदरगाहों 80
और 443
या मानक HTTP
और HTTPS
सेवाओं की अनुमति देने की आवश्यकता होगी । इसके अलावा, पोर्ट को हटा दें 8010
, जो असुरक्षित कनेक्शनों को सुनता है।
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/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 दिनों में प्रमाणपत्रों को एन्क्रिप्ट करें, इसलिए क्रोन नौकरियों का उपयोग करके प्रमाणपत्रों के स्वत: नवीनीकरण की सिफारिश की जाती है।
root
उपयोगकर्ता के लिए क्रोन जॉब फ़ाइल खोलें ।
sudo crontab -e
फ़ाइल के अंत में निम्न पंक्ति जोड़ें।
30 5 * * * /usr/bin/certbot renew --quiet
उपरोक्त क्रोन नौकरी हर दिन सुबह 5:30 बजे चलेगी। यदि प्रमाण पत्र समाप्ति के लिए है, तो यह स्वचालित रूप से उन्हें नवीनीकृत करेगा।
अब, default_server
लाइन को बाहर निकालने के लिए Nginx डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल को बदलें ।
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
बिल्डबॉट वेब इंटरफ़ेस के लिए एक नई कॉन्फ़िगरेशन फ़ाइल बनाएं।
sudo nano /etc/nginx/conf.d/buildbot.conf
फ़ाइल को पॉप्युलेट करें।
upstream buildbot {
server 127.0.0.1:8010;
}
server {
listen 80 default_server;
server_name ci.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2 default_server;
server_name ci.example.com;
root html;
index index.html index.htm;
ssl on;
ssl_certificate /etc/letsencrypt/live/ci.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ci.example.com/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1440m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
access_log /var/log/nginx/buildbot.access.log;
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_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Host $host;
location / {
proxy_pass http://buildbot;
}
location /sse/ {
proxy_buffering off;
proxy_pass http://buildbot/sse/;
}
location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://buildbot/ws;
proxy_read_timeout 6000s;
}
}
नई कॉन्फ़िगरेशन फ़ाइल में त्रुटियों की जाँच करें।
sudo nginx -t
यदि आप निम्न आउटपुट देखते हैं, तो कॉन्फ़िगरेशन त्रुटि मुक्त है।
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
यदि आपको किसी प्रकार की त्रुटि मिली है, तो SSL प्रमाणपत्र के लिए पथ को दोबारा जांचें। कॉन्फ़िगरेशन में परिवर्तन को लागू करने के लिए Nginx वेब सर्वर को पुनरारंभ करें।
sudo systemctl restart nginx
बिल्डमास्टर कॉन्फ़िगरेशन फ़ाइल खोलें।
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
निम्नलिखित लाइन का पता लगाएँ।
c['buildbotURL'] = "http://192.168.1.1:8010/"
आपके द्वारा उपयोग किए जा रहे डोमेन नाम के अनुसार URL बदलें।
c['buildbotURL'] = "https://ci.example.com/"
बिल्डबोट मास्टर सेवा को पुनरारंभ करें।
sudo systemctl restart buildbot
अब आप Buildbot डैशबोर्ड पर पहुँच सकते हैं https://ci.example.com
। आप देखेंगे कि बिल्डबॉट के कनेक्शन अब एसएसएल के साथ सुरक्षित हो गए हैं।
व्यवस्थापक क्रेडेंशियल्स का उपयोग करके लॉग इन करें और अपना एप्लिकेशन शुरू करने के लिए अपनी पहली पाइपलाइन जोड़ें।
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं
एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा
अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ
RockMongo एक वेब-आधारित MongoDB प्रबंधन उपकरण है जो MySQL प्रबंधन उपकरण के समान है: phpMyAdmin। यह ट्यूटोरियल इंस्टॉलिन की प्रक्रिया को कवर करेगा
एक अलग प्रणाली का उपयोग? आवश्यकताएँ एक Vultr CentOS 7 सर्वर उदाहरण। एक sudo यूजर। चरण 1: सिस्टम को पहले अपडेट करें, अपने सिस्टम सर्वर को वें में अपडेट करें
एक अलग प्रणाली का उपयोग? नेटडाटा रियल-टाइम सिस्टम मेट्रिक्स मॉनिटरिंग के क्षेत्र में एक उभरता हुआ सितारा है। एक ही तरह के अन्य उपकरणों की तुलना में, नेटडाटा:
एक अलग प्रणाली का उपयोग? इस ट्यूटोरियल में, बीमार समझा जा रहा है कि CentOS 7 पर एक स्टारबाउंड सर्वर को कैसे सेटअप किया जाए। आवश्यक शर्तें आपको इस गेम को खुद पर बनाना होगा।
वेब एप्लिकेशन लिखने के लिए Django एक लोकप्रिय पायथन फ्रेमवर्क है। Django के साथ, आप तेजी से अनुप्रयोगों का निर्माण कर सकते हैं, पहिया को फिर से बनाए बिना। अगर आप चाहते हैं
एक अन्य Vultr ट्यूटोरियल में आपका स्वागत है। यहां, आप सीखेंगे कि एसएएमपी सर्वर कैसे स्थापित करें और चलाएं। यह गाइड CentOS 6 के लिए लिखा गया था
Revive Adserver एक स्वतंत्र और खुला स्रोत विज्ञापन सेवारत प्रणाली है जिसका उपयोग वेबसाइटों पर, ऐप्स में और / या वीडियो खिलाड़ियों में विज्ञापनों को प्रबंधित करने के लिए किया जा सकता है। इस लेख में,
पार्स सर्वर पार्स बैकेंड सेवा के लिए खुला स्रोत विकल्प है जिसे बंद किया जा रहा है। यदि आप इस सेवा के प्रशंसक हैं, तो आप अभी भी वें का आनंद ले सकते हैं
एक अलग प्रणाली का उपयोग? एल्ग एक खुला स्रोत सोशल नेटवर्किंग इंजन है जो परिसर के सामाजिक नेटवर्क जैसे सामाजिक वातावरण के निर्माण की अनुमति देता है
एक अलग प्रणाली का उपयोग? डायस्पोरा एक गोपनीयता-जागरूक, ओपन सोर्स सोशल नेटवर्क है। इस ट्यूटोरियल में, आप सीखेंगे कि डायस्पोरा पो को कैसे सेट और कॉन्फ़िगर करें
अवलोकन यह लेख आपको कुबेरनेट क्लस्टर प्राप्त करने और कुछ ही समय में कुबेदम के साथ चलने में मदद करने के लिए है। यह गाइड दो सर्वरों को तैनात करेगा
परिचय लिनक्स सिस्टम पर काम करने का मतलब है कि कोई कमांड लाइन का उपयोग अधिक बार नहीं कर रहा है। स्वागत के रूप में बार-बार लंबी निर्देशिका के नाम टाइप करना
ओपनकार्ट एक लोकप्रिय ओपन सोर्स शॉपिंग कार्ट सॉल्यूशन है जिसे उत्कृष्ट कार्यक्षमता, उपयोग में आसानी और उपस्थिति प्रदान करने के लिए डिज़ाइन किया गया है। OpenCart के साथ, आप सीए
एक अलग प्रणाली का उपयोग? परिचय Sails.js Node.js के लिए MVC फ्रेमवर्क है, जो रूबी ऑन रेल्स के समान है। यह आधुनिक अनुप्रयोगों को विकसित करने के लिए बनाता है
एक अलग प्रणाली का उपयोग? NGINX को HTTP / HTTPS सर्वर, रिवर्स प्रॉक्सी सर्वर, मेल प्रॉक्सी सर्वर, लोड बैलेंसर, TLS टर्मिनेटर, या कैचिन के रूप में उपयोग किया जा सकता है
एक अलग प्रणाली का उपयोग? dotCMS जावा में लिखा एक ओपन सोर्स एंटरप्राइज ग्रेड कंटेंट मैनेजमेंट सिस्टम है। इसमें लगभग हर सुविधा आवश्यक टी होती है
LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है
एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं
एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है
टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं
परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं
एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा
Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar
अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ