Za izgradnju servera ne treba vam ništa više doli: Raspberry Pi, vanjski medij za pohranu podataka, monitor, HDMI kabel za spajanje, microUSB punjač za napajanje, miš i tipkovnica te Ethernet kabel, odnosno WiFi modul za spajanje na internet. Nije bitno koji model Raspberry Pija koristite (2, B+, A+, B, A), sve dok se na njemu uredno vrti Raspbian OS. Isto se može reći i za mini računala drugih proizvođača. Mi smo koristili Raspberry Pi B+ model s FAT32 formatiranim USB stickom za pohranu. Prije svega, ne zaboravite ažurirati sustav na najnoviju verziju komandom u terminalu (defaultni terminal u Raspbianu je LXTerminal):
sudo apt-get update
Ako vam se ne da stalno ponavljati lozinku i prilično ste sigurni da nećete ništa zeznuti, možete se ulogirati kao superkorisnik (sudo bash, su), no to radite na vlastitu odgovornost.
Postavljanje statične IP adrese
Kako biste si olakšali pristup i upravljanje kućnim serverom, morat ćete postaviti statičku (lokalnu) IP adresu na Raspberry Pi te instalirati web sučelje za administraciju. No, krenimo redom. Prvo biste trebali saznati trenutnu IP adresu računala komandom u terminalu:
ifconfig
Ovisno o tome jeste li spojeni Ethernet kabelom ili WiFi modulom, važne informacije koje ćete trebati zapisati za kasnije, nalazit će se pokraj eth0 oznake (Ethernet kabel) ili wlan0.
Mi smo se na internet spajali uz pomoć WiFi modula pa su nam važne informacije o mreži bile smještene uz wlan0 oznaku. Trebate zapisati inet addr (IP adresu), Bcast (Broadcast adresa) i Mask (subnet mask) brojeve.
Zatim trebate zapisati Destination i Gateway brojeve koje ste dobili pokretanjem komande:
nestat -nr
Sad imate sve informacije za postavljanje statičke IP adrese na mini računalo. Sve što trebate je unijeti ih u odgovarajuću datoteku (interfaces).
Možete otvoriti i urediti tu datoteku izravno u terminalu, uz pomoć nano editora:
sudo nano /etc/network/interfaces
Datoteka po defaultu izgleda ovako:
Prva promjena koju biste trebali napraviti u datoteci vezana je uz liniju:
iface eth0 inet dhcp ---> ako ste povezani na internet Ethernet kabelom
iface wlan0 inet manual ---> ako ste povezani WiFi modulom
Zamijenite riječ dhcp, odnosno manual s riječju static:
iface eth0 inet static ---> ako ste povezani na internet Ethernet kabelom iface wlan0 inet static ---> ako ste povezani WiFi modulom
Zatim, ispod te linije upišite informacije koje ste ranije zapisali: address ---> IP adresa; netmask ---> subnet mask
network ---> Destination; broadcast ---> Broadcast adresa
gateway ---> Gateway
Za WiFi osposobljena računala, morat ćete upisati novu liniju ispod allow-hotplug wlan0 linije: auto wlan0
Također, morat ćete promijeniti liniju:
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
u: wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Spremite dokument s Ctrl+O i zatvorite ga s Ctrl+X.
I to je to što se tiče postavljanja statičke IP adrese. Sad nam samo treba lijepo i razumljivo web sučelje za administraciju, za što će nam fino poslužiti Webmin.
Super administrator na daljinu
Kako biste instalirali Webmin, morate promijeniti sources.list datoteku koja se nalazi unutar apt direktorija. Otvorite ju naredbom: sudo nano /etc/apt/sources.list
Na kraju datoteke, dodajte dvije linije:
deb http://download.webmin.com/download/repository sarge contrib i
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
Opet, spremite dokument s Ctrl+O i zatvorite ga s Ctrl+X.
Zatim uđite u root direktorij: cd /root
Skinite GPG ključ:
wget http://www.webmin.com/jcameron-key.asc
Dodajte ga APT-u: apt-key add jcameron-key.asc
Zatim ponovno ažurirajte sustav: sudo apt-get update
I konačno ga možete instalirati: sudo apt-get install webmin
Lokalni server
Mislite li pristupati serveru s Windowsa, morat ćete formatirati vanjski medij za pohranu u FAT32 ili NTFS format. Ako na server mislite pospremati samo tekstualne dokumente, teško da ćete trebati nešto više od USB sticka. Međutim, mislite li tome dodati slike, filmove, igre... Morat ćete uzeti vanjski disk većeg kapaciteta i formatirati ga u NTFS. Problem s Raspbian OS-om (kao i Linuxom općenito) je da ne omogućuje čitanje i spremanje datoteka na NTFS formatiranim diskovima pa ćete morati instalirati još jedan program koji će vam to omogućiti:
sudo apt-get install ntfs-3g
Zatim trebate stvoriti folder na vanjskom disku gdje mislite pohranjivati zajedničke datoteke, primjerice u /media/imefoldera. Uđite u Media direktorij:
cd /media
I omogućite svim korisnicima mogućnost čitanja, zapisivanja i spremanja datoteka u zajedničkom folderu:
sudo chmod 770 ./imefoldera
Ulogirajte se na Webmin. Web adresa Webmina je vaša https://RPikorisničkoime:10000 (ako joj pristupate lokalno s Raspberry Pija) ili https://IPadresa:10000 (ako se spajate s drugog računala spojenog na isti router). Username je vaše korisničko ime na Raspberry Piju, a password lozinka kojom ulazite u sustav (osnovno korisničko ime je pi, a lozinka raspberry, ako niste ništa mijenjali od postavljanja Raspbian sustava). U izborniku s lijeve strane, pod sekcijom System -> Disk and Network Filesystems otvorit će vam se izbornik za dodavanje medija za pohranu. Odaberite format diska i kliknite Add Mount.
U polje Mounted as odaberite vanjski disk, Save and Mount as boot, Mount Now i Disk (odaberite željeni disk u dropdown izborniku). Po defaultu, samo smo trebali promijeniti Allow users to mount this filesystem gdje smo umjesto No kliknuli Yes. Ako je vaš disk već prepoznat i mountan (tipa, pod /dev/sda1), onda samo trebate klinuti na njega i promijeniti postavke na gore opisani način.
Radeći na primarnom računalu, preko Webmina lako možete backupirati ili povući važne datoteke putem Others -> Upload and Download modula. Putem istog modula možete namjestiti skidanje određenih datoteka na vanjski medij za pohranu. Osim spremanja/skidanja podataka s vanjskog medija, s Webminom možete potpuno upravljati RPi-jem na daljinu: izvršavati naredbe kao terminalu, stvarati nove korisnike i grupe, backupirati sustav i još hrpu opcija koje naknadno možete podesiti/instalirati.
Za dodatan sloj sigurnosti, promijenite defaultni port u sekciji Webmin configuration -> Ports and Addresses
Od kuće do Tokija
U ovom tutorijalu postavili smo kućni server kojem mogu pristupati svi korisnici spojeni na isti router. No što ako želite upravljati vašim mini računalom iz vikendice na Braču? Lakši, ali skuplji način je kupnja statičke (eksterne) IP adrese.
Jeftiniji, no nešto kompliciraniji način je upotreba dinamičkog DNS servisa poput No-IP-a. No-IP preusmjerava vašu dinamičku web adresu na fiksnu poddomenu (primjerice, mojadomena.no-ip.org). Prije svega, trebali biste promijeniti lozinku korisnika koji će pristupati Pi serveru izvan kućne mreže, s naredbom u terminalu: passwd. U terminalu (sudo adduser imekorisnika) ili Webmin sučelju (System -> Users and Groups) biste trebali dodati korisnika bez pristupa root i sudo privilegijama. Zatim, trebali biste promijeniti port na routeru za serversko računalo. Svaki router ima drugačiju proceduru za port forwarding. I na kraju, trebate napraviti korisnički račun na web stranici DDNS pružatelja usluga poput No-IP-a (www.noip.com) te instalirati No-IP klijent (koji će stalno ažurirati promjene u vašoj eksternoj IP adresi).
Stranica će vam odmah ponuditi stvaranje hosta. Jedino što trebate ispuniti je ime hosta koje želite i odabrati (besplatnu) poddomenu, kao na slici.
Za postavljanje No-IP klijenta na Raspbian OS-u, morat ćete upisati nekoliko komandi u terminalu.
Prvo trebate napraviti folder: mkdir /home/pi/noip
Zatim ući u tu datoteku:
cd /home/pi/noip
Skinuti klijent na tu lokaciju:
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
Otpakirati tar.gz arhivu: tar vzxf noip-duc-linux.tar.gz
Otići u glavnu noip datoteku: cd noip-2.1.9-1
I instalirati klijent: sudo make
I: sudo make install
Kod instalacije, klijent će vas pitati za korisničko ime i lozinku te željeno vrijeme ažuriranja podataka o eksternoj IP adresi (po defaultu je 30 minuta). Klijent možete pokrenuti naredbom:
sudo noip2