नियमित कार्यों को चलाने के लिए अन्य उपयोगकर्ताओं को अपने Raspberry Pi वेब सर्वर का सीमित नियंत्रण दें।

यदि आप रास्पबेरी पाई को होम सर्वर के रूप में चला रहे हैं, तो संभावना है कि मित्र और परिवार भी इसकी सेवाओं का उपयोग करें। कभी-कभी, उन्हें कुछ नियमित कार्यों को चलाने की आवश्यकता होती है जिसके लिए सर्वर के सीमित नियंत्रण की आवश्यकता होती है।

OliveTin एक स्व-होस्ट किया गया ऐप है जिसे वे आपके द्वारा परिभाषित पूर्वनिर्धारित कमांड और स्क्रिप्ट को निष्पादित करने के लिए एक वेब ब्राउज़र के माध्यम से एक्सेस कर सकते हैं।

Raspberry Pi पर ओलिवटिन का उपयोग क्यों करें?

सिंगल-बोर्ड कंप्यूटर की रास्पबेरी पाई श्रृंखला उत्कृष्ट हल्के होम सर्वर बनाती है, और यह अपेक्षाकृत आसान है एक रास्पबेरी पाई वेब सर्वर स्थापित करें.

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

आप उन उपयोगकर्ताओं की संख्या तक सीमित नहीं हैं जो आपके पास हो सकते हैं, इसलिए जब तक आप अकेले नहीं रहते, आप शायद अपने रास्पबेरी पाई सेवाओं तक अपने घर के अन्य सदस्यों के साथ पहुंच साझा करते हैं।

सर्वर, किसी भी अन्य प्रकार के कंप्यूटर की तरह, समय-समय पर रखरखाव की आवश्यकता होती है। आपके उपयोगकर्ताओं को इसकी आवश्यकता हो सकती है विशेष सेवाओं को प्रारंभ या बंद करें, एक वीपीएन से कनेक्ट करें, रास्पबेरी पाई पर फ़ाइलों का बैकअप लें, या नेटवर्क समस्याओं के लिए जाँच करें.

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

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

रास्पबेरी पाई पर ओलिवटिन कैसे स्थापित करें

OliveTin को स्थापित करने का सबसे आसान तरीका डॉकर कंपोज़ का उपयोग करना है। यदि आपके पास पहले से ही आपके रास्पबेरी पाई पर डॉकर और डॉकर कंपोज़ स्थापित नहीं है, तो हमारी आवश्यक मार्गदर्शिका देखें लिनक्स पर डॉकर और डॉकर कंपोज़ कैसे स्थापित करें.

का उपयोग करके अपने रास्पबेरी पाई सर्वर से कनेक्ट करें सिक्योर शेल (SSH):

एसएसएच पाई@आपका-लोकल-पीआई-आईपी-एड्रेस

OliveTin के लिए एक नई निर्देशिका बनाएँ, और इसका उपयोग करें सीडी इसमें जाने की आज्ञा:

mkdir ओलिवेटिन && सीडी जैतून

नई डॉकर कंपोज़ फ़ाइल बनाने के लिए नैनो टेक्स्ट एडिटर का उपयोग करें:

नैनोdocker-रचना.yml

निम्नलिखित में कॉपी और पेस्ट करें:

संस्करण: "3.5"
सेवाएं:
ओलिवेटिन:
कंटेनर_नाम: ओलिवेटिन
छवि: जेम्सरीड/ओलिवेटिन
उपयोगकर्ता: जड़
वॉल्यूम:
- ~/olivetin:/कॉन्फ़िग
- /var/भागो/docker.sock:/var/भागो/docker.sock
बंदरगाहों:
- "1337:1337"
पुनरारंभ करें: जब तक-रोका नहीं जाता

नेटवर्क:
वेब:
अनुभाग:
बाहरी: सत्य

अब नैनो को सेव करें और बाहर निकलें सीटीआरएल + ओ तब सीटीआरएल + एक्स.

इससे पहले कि आप पहली बार OliveTin चलाएँ, आपको एक कॉन्फ़िग फ़ाइल बनानी होगी। यह वह जगह है जहां आप उपयोगकर्ताओं को चलाने के लिए आदेश परिभाषित करेंगे। अभी के लिए दर्ज करें:

छूनाकॉन्फ़िग.yaml

अपने उपयोगकर्ताओं को सीमित सर्वर नियंत्रण देने के लिए ओलिवटिन का उपयोग करें

अपने टर्मिनल में दर्ज करें:

डॉकर-कंपोज़ अप -डी 

यह कमांड डॉकर कंपोज़ को डिटैच्ड मोड में लाएगा। डॉकर कंपोज़ ओलिवटिन के लिए छवियों को डाउनलोड करेगा और कंटेनर स्थापित करेगा। इस प्रक्रिया में कुछ समय लग सकता है। जब आप कमांड प्रॉम्प्ट पर वापस आते हैं, तो जांचें कि सब कुछ सही तरीके से चल रहा है:

डॉकर-कंपोज़ पीएस

एक ब्राउज़र खोलें, और नेविगेट करें आपका-पीआई-स्थानीय-आईपी-पता: 1337. आपको ओलिव टिन फुटर के साथ एक ग्रे वेब पेज दिखना चाहिए। अब आप अपने उपयोगकर्ताओं के लिए कमांड परिभाषित करने के लिए तैयार हैं।

टर्मिनल में वापस, आपके द्वारा पहले बनाई गई कॉन्फ़िग फ़ाइल को संपादित करने के लिए नैनो का उपयोग करें:

नैनोकॉन्फ़िग.yaml

सिंटेक्स सरल है, और आप निम्न उदाहरण के समान ही निष्पादित की जाने वाली सेवाओं और क्रियाओं के नाम को परिभाषित कर सकते हैं:

कार्रवाई:
- शीर्षक: "रिबूट सर्वर"
खोल: रीबूट करें

- शीर्षक: "पिंग नेटफ्लिक्स"
शंख: गुनगुनाहटNetFlix.com

- शीर्षक: अपाचे को पुनरारंभ करें
चिह्न: "🏁"
खोल: सुडो सेवा अपाचे 2 पुनरारंभ करें

टीitle फ़ील्ड वह शीर्षक है जिसे उपयोगकर्ता कमांड के अनुसरण के दौरान देख सकते हैं शंख: वह आदेश है जो वास्तव में आपके Raspberry Pi पर क्रियान्वित किया जाएगा।

OliveTin यूनिकोड आइकनों का समर्थन करता है, और आप इनमें से HTML कोड निर्दिष्ट कर सकते हैं आइकन अनुभाग। वैकल्पिक रूप से, आप उस छवि का पूरा URL सेट कर सकते हैं जिसका आप उपयोग करना चाहते हैं। उदाहरण के लिए:

आइकन: '<आईएमजीस्रोत = " https://www.makeuseof.com/public/build/images/muo-logo-full-colored-light.svg"चौड़ाई = "81पीएक्स"/>'

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

जब आप अपने कॉन्फ़िगरेशन से खुश हों, तो फ़ाइल को सहेजें और नैनो को दबाकर बाहर निकलें सीटीआरएल + ओ तब सीटीआरएल + एक्स।

बटन प्रेस के परिणामस्वरूप उत्पादित कोई भी स्टडआउट लॉग किया गया है। आप लॉग को दबाकर देख सकते हैं लॉग्स ऊपर दाईं ओर बटन। OliveTin के साथ, आप उपयोगकर्ताओं को वेब इंटरफ़ेस के माध्यम से - या तो टेक्स्ट बॉक्स के साथ, या ड्रॉप-डाउन विकल्पों के साथ, कमांड देने की अनुमति दे सकते हैं, जिन्हें तर्क के रूप में जाना जाता है।

अनुभवहीन उपयोगकर्ताओं को सीधे आपके रास्पबेरी पाई सर्वर पर विशेषाधिकार प्राप्त मनमाने आदेश जारी करने से जुड़े खतरे के कारण, आप उस प्रकार के तर्क को प्रतिबंधित कर सकते हैं जिसे OliveTin स्वीकार करेगा।

त्वरित संदर्भ के लिए, प्रकार हैं:

प्रकार

स्वीकृत मान

very_dangerous_raw_string

जैसा कि नाम से पता चलता है, उपयोगकर्ता किसी भी टेक्स्ट या कमांड को इनपुट करने और उसे पूरा करने में सक्षम होगा

int यहाँ

कोई भी पूर्ण सकारात्मक संख्या

ascii

कोई वर्ण या संख्या, लेकिन कोई रिक्त स्थान या विराम चिह्न नहीं

ascii_identifier

डीएनएस और इसी तरह के लिए

ascii_sentence

a-z, 0-9, रिक्त स्थान के साथ, . और ,

यूआरएल

एक वेब पता

आपके में एक टेक्स्ट बॉक्स परिभाषा config.yaml फ़ाइल नीचे के रूप में स्वरूपित है:

कार्रवाई:
- शीर्षक: गूंज कमांड लाइन के लिए कुछ
चिह्न: "⛔"
शंख: गूंज {{ संदेश }}
बहस:
- नाम: संदेश
प्रकार: very_dangerous_raw_string

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

OliveTin आपके Raspberry Pi सर्वर पर उपयोगकर्ताओं के लिए मूलभूत कार्य करना आसान बनाता है

रास्पबेरी पाई आपके परिवार के उपयोग के लिए सेवाओं की मेजबानी के लिए एकदम सही होम-सर्वर प्लेटफॉर्म है, और ओलिवटिन आपको परेशान किए बिना सरल रखरखाव करना आसान बनाता है।

हज़ारों स्व-होस्ट की गई परियोजनाएँ हैं जिन्हें आप Raspberry Pi पर चला सकते हैं जिससे आपके परिवार को लाभ होगा। कुछ शोध करें और पता करें कि आप किन सेवाओं के लिए भुगतान कर रहे हैं जिसके बदले आप स्वयं को होस्ट कर सकते हैं!