Rutin görevleri yürütmeleri için diğer kullanıcılara Raspberry Pi web sunucunuz üzerinde sınırlı kontrol verin.
Bir Raspberry Pi'yi ev sunucusu olarak çalıştırıyorsanız, muhtemelen arkadaşlarınız ve aileniz de onun hizmetlerine erişir. Nadiren, sınırlı sunucu denetimi gerektiren bazı rutin görevleri yürütmeleri gerekir.
OliveTin, sizin tarafınızdan tanımlanan önceden belirlenmiş komutları ve komut dosyalarını yürütmek için bir web tarayıcısı aracılığıyla erişebilecekleri, kendi kendine barındırılan bir uygulamadır.
Raspberry Pi'de Neden OliveTin Kullanılır?
Raspberry Pi serisi tek kartlı bilgisayarlar, mükemmel hafif ev sunucuları sağlar ve nispeten kolaydır. bir Raspberry Pi web sunucusu kurun.
Web sitelerini ve blogları barındırmanın yanı sıra, Raspberry Pi, fotoğraf galerilerine ev sahipliği yapabilir, yemek kitapları ve çevrimiçi ofis paketleri. Yapabilirsiniz Jellyfin ile filmleri ve şovları TV'nize aktarın, veya Audiobookshelf ile bir sesli kitap kitaplığını kendiniz barındırın.
Sahip olabileceğiniz kullanıcı sayısıyla da sınırlı değilsiniz, bu nedenle yalnız yaşamıyorsanız, Raspberry Pi hizmetlerinize erişimi muhtemelen evinizin diğer üyeleriyle paylaşıyorsunuzdur.
Diğer bilgisayar türleri gibi sunucular da ara sıra bakım gerektirir. Kullanıcılarınızın ihtiyacı olabilir belirli hizmetleri başlat veya durdur, bir VPN'e bağlan, Raspberry Pi'deki dosyaları yedekleme, veya ağ sorunlarını kontrol et.
Aileniz ve ev arkadaşlarınız ise Linux komut satırına aşinave sisteminizi yanlışlıkla veya kasıtlı olarak çalıştırmayacaklarına güveniyorsanız, onlara kendi SSH kimlik bilgilerini ve bunlarla birlikte vermeyi düşünebilirsiniz. sudo grup üyeliği, böylece sizi rahatsız etmeden bu görevleri yerine getirebilirler.
Bu cazip ama tehlikeli bir teklif ve eğer bir şeyler ters giderse, bunu düzeltmesi gereken sizsiniz. OliveTin ile diğer sunucu kullanıcılarının düzenli olarak gerçekleştirmesi gereken rutin komutları tanımlayabilirsiniz. Daha sonra bir web tarayıcısı açabilir ve komut satırına dokunmaya gerek kalmadan Pi'nizde komutu çalıştıracak bir düğmeye basabilirler.
Raspberry Pi'ye OliveTin Nasıl Kurulur?
OliveTin'i kurmanın en kolay yolu Docker Compose kullanmaktır. Raspberry Pi'nizde henüz Docker ve Docker Compose yüklü değilse, şu adresteki temel kılavuzumuza göz atın: Linux'ta Docker ve Docker Compose nasıl kurulur.
Raspberry Pi sunucunuza şunu kullanarak bağlanın: Güvenli Kabuk (SSH):
ssh pi@senin-yerel-pi-ip-adresi
OliveTin için yeni bir dizin oluşturun ve CD içine taşımak için komut:
mkdir zeytintin && CD zeytin kalay
Yeni bir Docker Compose dosyası oluşturmak için nano metin düzenleyiciyi kullanın:
nanoliman işçisi-oluştur.yml
Aşağıdakileri kopyalayıp yapıştırın:
sürüm: "3.5"
Hizmetler:
Zeytinyağı:
konteyner_adı: zeytinyağlı
görsel: jamesread/olivetin
kullanıcı: kök
birimler:
- ~/olivetin:/yapılandırma
- /var/çalıştır/docker.sock:/var/çalıştır/docker.sock
bağlantı noktaları:
- "1337:1337"
yeniden başlatma: durdurulmadığı sürece
ağlar:
ağ:
bölüm:
harici: doğru
Şimdi kaydedin ve nano ile çıkın Ctrl + O Daha sonra Ctrl + X.
OliveTin'i ilk kez çalıştırmadan önce bir yapılandırma dosyası oluşturmanız gerekir. Bu, kullanıcıların çalıştıracağı komutları tanımlayacağınız yerdir. Şimdilik şunu girin:
dokunmakyapılandırma.yaml
Kullanıcılarınıza Sınırlı Sunucu Kontrolü Vermek için OliveTin'i Kullanın
Terminalinizde şunu girin:
docker-oluştur -d
Bu komut, Docker Compose'u ayrılmış modda getirecektir. Docker Compose, OliveTin için görüntüleri indirecek ve kapsayıcıları kuracaktır. Bu işlem biraz zaman alabilir. Komut istemine döndüğünüzde, şununla her şeyin doğru çalıştığını kontrol edin:
docker-compose ps
Bir tarayıcı açın ve şuraya gidin: pi-yerel-ip-adresiniz: 1337. OliveTin alt bilgisine sahip gri bir web sayfası görmelisiniz. Artık kullanıcılarınız için komutları tanımlamaya hazırsınız.
Terminale geri döndüğünüzde, daha önce oluşturduğunuz yapılandırma dosyasını düzenlemek için nano'yu kullanın:
nanoyapılandırma.yaml
Sözdizimi basittir ve aşağıdaki örneğe benzer şekilde servislerin adını ve gerçekleştirilecek eylemleri tanımlayabilirsiniz:
hareketler:
- başlık: "Sunucuyu yeniden başlat"
kabuk: yeniden başlat- başlık: "Netflix'e ping at"
kabuk: pingnetflix.com
- başlık: Apache'yi yeniden başlatın
simge: "🏁"
kabuk: sudo hizmeti apache2 yeniden başlat
title alan, kullanıcıların görebileceği başlıktır, aşağıdaki komut ise kabuk: aslında Raspberry Pi'nizde gerçekleştirilecek olan komuttur.
OliveTin, unicode simgeleri destekler ve bunların HTML kodunu simge bölüm. Alternatif olarak, kullanmak istediğiniz bir resmin tam URL'sini ayarlayabilirsiniz. Örneğin:
simge: '<imgkaynak = " https://www.makeuseof.com/public/build/images/muo-logo-full-colored-light.svg"Genişlik = "81 piksel"/>'
Yapılandırmamız Raspberry Pi'yi yeniden başlatacak, Apache'yi yeniden başlatacak ve Netflix'e ping atacak örnekler verse de, belirtebileceğiniz komutların gerçekten bir sınırı yoktur. Kullanıcılara filmleri bir dizinden diğerine kopyalayacak, hızlı bir şekilde silecek ve belirli dizinlerin üzerine yazın veya depolama cihazlarınızı şifreleyecek bir öldürme anahtarı oluşturun. rastgele anahtar.
Yapılandırmanızdan memnun olduğunuzda, dosyayı kaydedin ve tuşuna basarak nano'dan çıkın. Ctrl + O Daha sonra Ctrl + X
Düğmeye basılması sonucunda üretilen tüm stdout'lar günlüğe kaydedilir. Günlükleri düğmesine basarak görebilirsiniz. Kütükler sağ üstteki düğme. OliveTin ile, kullanıcıların bir metin kutusuyla veya açılır seçeneklerle web arabirimi aracılığıyla bağımsız değişken olarak bilinen komutlar vermelerine de izin verebilirsiniz.
Deneyimsiz kullanıcıların doğrudan Raspberry Pi sunucunuza ayrıcalıklı rasgele komutlar vermesine izin vermenin tehlikesi nedeniyle, OliveTin'in kabul edeceği argüman türünü kısıtlayabilirsiniz.
Hızlı başvuru için türler şunlardır:
Tip |
Kabul edilen değerler |
---|---|
very_dangerous_raw_string |
Adından da anlaşılacağı gibi, kullanıcı herhangi bir metin veya komut girebilecek ve bunu gerçekleştirebilecektir. |
int |
Herhangi bir tam pozitif sayı |
ascii |
Herhangi bir karakter veya sayı, ancak boşluk veya noktalama işareti yok |
ascii_tanımlayıcı |
DNS ve benzeri için |
ascii_sentence |
a-z, 0-9, boşluklu, |
url |
bir web adresi |
Bir metin kutusu tanımı yapılandırma.yaml dosya aşağıdaki gibi biçimlendirilmiştir:
hareketler:
- başlık: Eko komut satırına bir şey
simge: "⛔"
kabuk: Eko {{ İleti }}
argümanlar:
- isim: mesaj
tip: çok_dangerous_raw_string
Birisi uygun düğmeye bastığında metin kutusu görünecek ve yerel ağınızdaki herhangi bir kullanıcının tarayıcı aracılığıyla rasgele kod yürütmesine izin verecektir. Bu tamamen iyi bir fikir değil.
OliveTin Kullanıcıların Raspberry Pi Sunucunuzdaki Temel Görevleri Gerçekleştirmesini Kolaylaştırır
Raspberry Pi, ailenizin kullanması için barındırma hizmetleri için mükemmel bir ev sunucusu platformudur ve OliveTin, ailelerin sizi rahatsız etmeden basit bakım yapmalarını kolaylaştırır.
Raspberry Pi'de çalıştırabileceğiniz ve evinizin yararına olacak binlerce kendi kendine barındırılan proje vardır. Biraz araştırma yapın ve hangi hizmetler için ödeme yaptığınızı öğrenin, bunun yerine kendinizi barındırabilirsiniz!