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.

instagram viewer

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, . Ve ,

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!