Omogočite drugim uporabnikom omejen nadzor nad vašim spletnim strežnikom Raspberry Pi za izvajanje rutinskih opravil.
Če uporabljate Raspberry Pi kot domači strežnik, verjetno tudi prijatelji in družina dostopajo do njegovih storitev. Občasno bodo morali izvajati nekaj rutinskih nalog, ki zahtevajo omejen nadzor nad strežnikom.
OliveTin je samostojna aplikacija, do katere lahko dostopajo prek spletnega brskalnika za izvajanje vnaprej določenih ukazov in skriptov, ki jih določite vi.
Zakaj uporabljati OliveTin na Raspberry Pi?
Serija računalnikov z eno ploščo Raspberry Pi omogoča odlične lahke domače strežnike in jih je relativno enostavno nastavite spletni strežnik Raspberry Pi.
Poleg gostovanja spletnih mest in blogov, vaš Raspberry Pi lahko gosti galerije fotografij, kuharske knjige in spletne pisarniške zbirke. Ti lahko pretakajte filme in oddaje na vaš TV z Jellyfin, oz sami gostite knjižnico zvočnih knjig z Audiobookshelf.
Prav tako niste omejeni na število uporabnikov, ki jih lahko imate, tako da, razen če živite sami, verjetno delite dostop do svojih storitev Raspberry Pi z drugimi člani vašega gospodinjstva.
Strežniki, kot vse druge vrste računalnikov, potrebujejo občasno vzdrževanje. Morda bodo morali vaši uporabniki zagon ali zaustavitev določenih storitev, se povežite z VPN, varnostno kopirajte datoteke na Raspberry Pi, oz preverite težave z omrežjem.
Če so vaša družina in sostanovalci pozna ukazno vrstico Linuxa, in jim zaupate, da ne bodo pomotoma ali namerno zaprli vašega sistema, lahko razmislite o tem, da jim daste lastne poverilnice SSH skupaj z članstvo v skupini sudo, tako da lahko opravljajo te naloge, ne da bi vas motili.
To je mamljiv, a nevaren predlog, in če gre kaj narobe, boste morali to popraviti vi. Z OliveTin lahko definirate rutinske ukaze, ki jih bodo drugi uporabniki strežnika morda morali redno izvajati. Nato lahko odprejo spletni brskalnik in pritisnejo gumb, ki bo zagnal ukaz na vašem Pi-ju, ne da bi se morali dotakniti ukazne vrstice.
Kako namestiti OliveTin na Raspberry Pi
Najlažji način za namestitev OliveTin je uporaba Docker Compose. Če na Raspberry Pi še nimate nameščenih programov Docker in Docker Compose, si oglejte naš osnovni vodnik na kako namestiti Docker in Docker Compose na Linux.
Povežite se s strežnikom Raspberry Pi z uporabo Varna lupina (SSH):
ssh pi@tvoj-lokalni-pi-ip-naslov
Ustvarite nov imenik za OliveTin in uporabite cd ukaz za pomik vanj:
mkdir olivetin && cd olivetin
Uporabite nano urejevalnik besedila, da ustvarite novo datoteko Docker Compose:
nanodocker-compose.yml
Kopirajte in prilepite naslednje:
različica: "3.5"
storitve:
olivetin:
ime_posode: olivetin
slika: jamesread/olivetin
uporabnik: root
količine:
- ~/olivetin:/konfiguracija
- /var/run/docker.sock:/var/run/docker.sock
vrata:
- "1337:1337"
ponovni zagon: razen če je ustavljen
omrežja:
splet:
razdelek:
zunanji: prav
Zdaj shranite in zapustite nano z Ctrl + O potem Ctrl + X.
Preden prvič zaženete OliveTin, morate ustvariti konfiguracijsko datoteko. Tukaj boste določili ukaze, ki jih bodo izvajali uporabniki. Za zdaj vnesite:
dotikkonfiguracija.yaml
Uporabite OliveTin, da svojim uporabnikom zagotovite omejen nadzor strežnika
V svoj terminal vnesite:
docker-compose up -d
Ta ukaz bo prikazal Docker Compose v ločenem načinu. Docker Compose bo prenesel slike za OliveTin in nastavil vsebnike. Ta postopek lahko traja nekaj časa. Ko se vrnete v ukazni poziv, preverite, ali vse deluje pravilno z:
docker-compose ps
Odprite brskalnik in se pomaknite do vaš-pi-lokalni-ip-naslov: 1337. Videti bi morali sivo spletno stran z nogo OliveTin. Zdaj ste pripravljeni, da začnete definirati ukaze za svoje uporabnike.
Nazaj v terminalu uporabite nano za urejanje konfiguracijske datoteke, ki ste jo ustvarili prej:
nanokonfiguracija.yaml
Sintaksa je preprosta in lahko določite imena storitev in dejanj, ki jih je treba izvesti, podobno kot v naslednjem primeru:
dejanja:
- naslov: "Ponovni zagon strežnika"
lupina: ponovni zagon- naslov: "Ping Netflix"
lupina: pingnetflix.com
- naslov: Znova zaženi Apache
ikona: "🏁"
lupina: sudo storitev apache2 ponovni zagon
Title polje je naslov, ki ga uporabniki lahko vidijo, medtem ko sledi ukaz lupina: je ukaz, ki bo dejansko izveden na vašem Raspberry Pi.
OliveTin podpira ikone unicode, kodo HTML pa lahko določite v ikona razdelek. Lahko pa nastavite celoten URL slike, ki jo želite uporabiti. Na primer:
ikona: '<imgsrc = " https://www.makeuseof.com/public/build/images/muo-logo-full-colored-light.svg"premer = "81px"/>'
Medtem ko naša konfiguracija podaja primere, ki bodo znova zagnali Raspberry Pi, znova zagnali Apache in pingali Netflix, v resnici ni omejitev, katere ukaze lahko podate. Uporabnikom lahko daste gumb, ki kopira filme iz enega imenika v drugega, hitro obriše in prepisati določene imenike ali zgraditi prekinitveno stikalo, ki bo šifriralo vaše pomnilniške naprave z a naključni ključ.
Ko ste zadovoljni s svojo konfiguracijo, shranite datoteko in zapustite nano s pritiskom Ctrl + O potem Ctrl + X.
Vsak stdout, ustvarjen kot posledica pritiskov gumbov, se zabeleži. Dnevnike si lahko ogledate s pritiskom na Dnevniki gumb zgoraj desno. Z OliveTin lahko uporabnikom omogočite tudi podajanje ukazov, znanih kot argumenti, prek spletnega vmesnika – bodisi z besedilnim poljem ali s spustnimi izbirami.
Zaradi nevarnosti, povezane s tem, da neizkušenim uporabnikom dovolite izdajanje privilegiranih poljubnih ukazov neposredno vašemu strežniku Raspberry Pi, lahko omejite vrsto argumenta, ki ga bo OliveTin sprejel.
Za hiter pregled so te vrste:
Vrsta |
Sprejete vrednosti |
---|---|
zelo_nevaren_surov_niz |
Kot že ime pove, bo uporabnik lahko vnesel poljubno besedilo ali ukaz in ga izvedel |
int |
Poljubno celo pozitivno število |
ascii |
Vsi znaki ali številke, vendar brez presledkov ali ločil |
ascii_identifier |
Za DNS in podobno |
ascii_stavek |
a-z, 0-9, s presledki, |
url |
Spletni naslov |
Definicija besedilnega polja v vašem config.yaml datoteka je oblikovana kot spodaj:
dejanja:
- naslov: Echo nekaj v ukazno vrstico
ikona: "⛔"
lupina: odmev {{ sporočilo }}
argumenti:
- ime: sporočilo
vrsta: zelo_nevaren_surov_niz
Besedilno polje se prikaže, ko nekdo pritisne ustrezen gumb, in bo omogočilo kateremu koli uporabniku v vašem lokalnem omrežju, da prek brskalnika izvede poljubno kodo. To ni povsem dobra ideja.
OliveTin uporabnikom olajša izvajanje osnovnih nalog na vašem strežniku Raspberry Pi
Raspberry Pi je popolna platforma domačega strežnika za gostovanje storitev za vašo družino, OliveTin pa jim olajša izvajanje preprostega vzdrževanja, ne da bi vas motili.
Na Raspberry Pi lahko izvajate na tisoče projektov, ki jih sami gostite in bodo koristili vašemu gospodinjstvu. Opravite nekaj raziskav in ugotovite, katere storitve plačujete, za katere bi lahko gostili sami!