امنح المستخدمين الآخرين تحكمًا محدودًا في خادم الويب Raspberry Pi الخاص بك لتشغيل المهام الروتينية.
إذا كنت تقوم بتشغيل Raspberry Pi كخادم منزلي ، فمن المحتمل أن يصل الأصدقاء والعائلة إلى خدماته أيضًا. في بعض الأحيان ، سيحتاجون إلى تشغيل بعض المهام الروتينية التي تتطلب تحكمًا محدودًا في الخادم.
OliveTin هو تطبيق مستضاف ذاتيًا يمكنه الوصول إليه من خلال متصفح الويب لتنفيذ أوامر ونصوص محددة مسبقًا حددتها أنت.
لماذا استخدم OliveTin على Raspberry Pi؟
سلسلة Raspberry Pi من أجهزة الكمبيوتر أحادية اللوحة توفر خوادم منزلية خفيفة الوزن ممتازة ، ومن السهل نسبيًا استخدامها قم بإعداد خادم ويب Raspberry Pi.
بالإضافة إلى استضافة مواقع الويب والمدونات ، فإن ملفك يمكن لـ Raspberry Pi استضافة معارض للصوروكتب الطبخ وأجنحة المكاتب عبر الإنترنت. أنت تستطيع دفق الأفلام والعروض إلى التلفزيون الخاص بك باستخدام Jellyfin، أو استضف مكتبة كتب صوتية باستخدام Audiobookshelf.
أنت لست مقيدًا بعدد المستخدمين الذين يمكنك الحصول عليهم أيضًا ، لذلك ما لم تكن تعيش بمفردك ، فمن المحتمل أنك تشارك الوصول إلى خدمات Raspberry Pi الخاصة بك مع أفراد آخرين من أسرتك.
تحتاج الخوادم ، مثل أي نوع آخر من أجهزة الكمبيوتر ، إلى صيانة عرضية. قد يحتاج المستخدمون لديك إلى بدء أو إيقاف خدمات معينة, الاتصال بشبكة VPN, نسخ الملفات احتياطيًا على Raspberry Pi، أو تحقق من وجود مشاكل في الشبكة.
إذا كانت عائلتك وزملائك في المنزل على دراية بسطر أوامر Linux، وتثق في أنهم لن يفسدوا نظامك عن طريق الخطأ أو عن عمد ، فقد تفكر في منحهم بيانات اعتماد SSH الخاصة بهم إلى جانب عضوية مجموعة sudo، حتى يتمكنوا من تنفيذ هذه المهام دون إزعاجك.
إنه اقتراح مغر ولكنه خطير ، وإذا حدث خطأ ما ، فستضطر أنت إلى إصلاحه. باستخدام OliveTin ، يمكنك تحديد الأوامر الروتينية التي قد يحتاج مستخدمو الخادم الآخرون إلى تنفيذها بانتظام. يمكنهم بعد ذلك فتح مستعرض ويب والضغط على زر لتشغيل الأمر على Pi الخاص بك - دون الحاجة إلى لمس سطر الأوامر.
كيفية تثبيت OliveTin على Raspberry Pi
أسهل طريقة لتثبيت OliveTin هي استخدام Docker Compose. إذا لم يكن لديك بالفعل Docker and Docker Compose مثبتًا على Raspberry Pi ، فراجع دليلنا الأساسي حول كيفية تثبيت Docker و Docker Compose على نظام Linux.
اتصل بخادم Raspberry Pi الخاص بك باستخدام Secure Shell (SSH):
ssh بي@لك-local-pi-ip-address
قم بإنشاء دليل جديد لـ OliveTin ، واستخدم ملف قرص مضغوط أمر للانتقال إليه:
mkdir olivetin && قرص مضغوط اوليفيتين
استخدم محرر نصوص nano لإنشاء ملف Docker Compose جديد:
نانوعامل ميناء يؤلف.yml
انسخ والصق ما يلي:
إصدار: "3.5"
خدمات:
اوليفيتين:
اسم الحاوية: olivetin
الصورة: jamesread / olivetin
المستخدم: الجذر
أحجام:
- ~/olivetin:/التكوين
- /var/تشغيل / docker.sock:/var/تشغيل / docker.sock
الموانئ:
- "1337:1337"
إعادة التشغيل: ما لم تتوقف
الشبكات:
الويب:
قسم:
خارجي: حقيقي
الآن احفظ واخرج من nano باستخدام السيطرة + O ثم السيطرة + X.
قبل تشغيل OliveTin لأول مرة ، تحتاج إلى إنشاء ملف تكوين. هذا هو المكان الذي ستحدد فيه الأوامر ليقوم المستخدمون بتشغيلها. في الوقت الحالي ، أدخل:
يلمسالتكوين.yaml
استخدم OliveTin لمنح مستخدميك تحكمًا محدودًا في الخادم
في جهازك ، أدخل:
عامل الميناء يؤلف د
سيظهر هذا الأمر Docker Compose في الوضع المنفصل. سيقوم Docker Compose بتنزيل الصور لـ OliveTin وإعداد الحاويات. قد تستغرق هذه العملية بعض الوقت. عندما تعود إلى موجه الأوامر ، تحقق من أن كل شيء يعمل بشكل صحيح باستخدام:
عامل ميناء تكوين ملاحظة
افتح متصفحًا ، وانتقل إلى your-pi-local-ip-adress: 1337. يجب أن تشاهد صفحة ويب رمادية اللون مع تذييل OliveTin. أنت الآن جاهز لبدء تحديد الأوامر للمستخدمين.
مرة أخرى في المحطة ، استخدم nano لتحرير ملف التكوين الذي قمت بإنشائه مسبقًا:
نانوالتكوين.yaml
بناء الجملة بسيط ، ويمكنك تحديد اسم الخدمات والإجراءات المطلوب تنفيذها بشكل مشابه للمثال التالي:
أجراءات:
- عنوان: "إعادة تشغيل الخادم"
شل: إعادة التشغيل- عنوان: "Ping Netflix"
صدَفَة: بينغنتفليكس.com
- العنوان: إعادة تشغيل اباتشي
أيقونة: "🏁"
شل: إعادة تشغيل sudo service apache2
تآيل الحقل هو العنوان الذي يمكن للمستخدمين رؤيته ، بينما يتبع الأمر صدَفَة: هو الأمر الذي سيتم تنفيذه بالفعل على Raspberry Pi الخاص بك.
يدعم OliveTin رموز unicode ، ويمكنك تحديد كود HTML لهذه الرموز في ملف أيقونة قسم. بدلاً من ذلك ، يمكنك تعيين عنوان URL الكامل للصورة التي تريد استخدامها. على سبيل المثال:
أيقونة: '<IMGsrc = " https://www.makeuseof.com/public/build/images/muo-logo-full-colored-light.svg"عرض = "81 بكسل"/>'
بينما يقدم التكوين الخاص بنا أمثلة من شأنها إعادة تشغيل Raspberry Pi وإعادة تشغيل Apache و ping Netflix ، فلا يوجد حد للأوامر التي يمكنك تحديدها. يمكنك منح المستخدمين زرًا يقوم بنسخ الأفلام من دليل إلى آخر ، ويمسح بسرعة و الكتابة فوق أدلة معينة ، أو إنشاء مفتاح إيقاف تلقائي يقوم بتشفير أجهزة التخزين الخاصة بك بامتداد مفتاح عشوائي.
عندما تكون راضيًا عن التكوين الخاص بك ، احفظ الملف واخرج من nano بالضغط على السيطرة + O ثم Ctrl + X.
يتم تسجيل أي stdout ينتج نتيجة الضغط على الزر. يمكنك رؤية السجلات بالضغط على السجلات زر في أعلى اليمين. باستخدام OliveTin ، يمكنك أيضًا السماح للمستخدمين بإعطاء أوامر ، تُعرف باسم الوسائط ، من خلال واجهة الويب - إما باستخدام مربع نص أو من خلال خيارات القائمة المنسدلة.
بسبب الخطر المرتبط بالسماح للمستخدمين عديمي الخبرة بإصدار أوامر عشوائية مميزة مباشرة إلى خادم Raspberry Pi الخاص بك ، يمكنك تقييد نوع الوسيطة التي يقبلها OliveTin.
للإشارة السريعة ، الأنواع هي:
يكتب |
القيم المقبولة |
---|---|
very_dangerous_raw_string |
كما يوحي الاسم ، سيتمكن المستخدم من إدخال أي نص أو أمر وتنفيذه |
int |
أي رقم موجب كامل |
أسكي |
أي أحرف أو رقم ، لكن بدون مسافات أو علامات ترقيم |
معرف_التصاعد |
لـ DNS وما شابه |
تصاعدي |
a-z ، 0-9 ، بمسافات ، |
عنوان url |
عنوان ويب |
تعريف مربع نص في ملف config.yaml تم تنسيق الملف على النحو التالي:
أجراءات:
- عنوان: صدى صوت شيء لسطر الأوامر
أيقونة: "⛔"
صدَفَة: صدى صوت {{ رسالة }}
الحجج:
- الاسم: الرسالة
يكتب: very_dangerous_raw_string
سيظهر مربع النص عندما يضغط شخص ما على الزر المناسب ، وسيسمح لأي مستخدم على شبكتك المحلية بتنفيذ تعليمات برمجية عشوائية من خلال المتصفح. إنها ليست فكرة جيدة على الإطلاق.
يجعل OliveTin من السهل على المستخدمين أداء المهام الأساسية على خادم Raspberry Pi الخاص بك
يعد Raspberry Pi النظام الأساسي المثالي للخادم المنزلي لاستضافة الخدمات التي تستخدمها عائلتك ، ويسهل OliveTin عليهم إجراء صيانة بسيطة دون إزعاجك.
هناك الآلاف من المشاريع ذاتية الاستضافة التي يمكنك تشغيلها على Raspberry Pi والتي ستفيد أسرتك. قم ببعض البحث واكتشف الخدمات التي تدفع مقابلها والتي يمكنك استضافة نفسك بدلاً من ذلك!