Prijeđite na sadržaj

Postavke kolačića

Za svaku vrstu odaberite koje kolačiće dopuštate. Svoj odabir uvijek možete promijeniti putem poveznice Postavke kolačića na dnu svake stranice. Izjava o privatnosti

Nužni

Uvijek uključeni

Potrebni za prijavu, čuvanje košarice i pamćenje Vaših odabira. Uvijek su uključeni.

Koji kolačići?
  • weboke_sessie, weboke_klant, weboke_remember: Vaša sesija i to da ostanete prijavljeni
  • weboke_basket: Vaša košarica
  • wkBtwIncl: prikaz cijena s PDV-om ili bez njega
  • wok_cookies: Vaš odabir kolačića, 12 mjeseci

Mjeri koji oglas dovodi do posjeta ili narudžbe, kako ne bismo plaćali oglase koji ništa ne donose.

Koji kolačići?
  • Google Ads putem Google Tag Managera (_gcl_au, _gcl_aw), do 90 dana
  • OpenAI Ads, oglasi u ChatGPT-u
  • wok_aff: preko kojeg ste partnera došli k nama (partnerski program), 60 dana

4,6

Država i jezik

Svaka država ima vlastitu stranicu, s cijenama i PDV-om te države.

Pogledajte

Snalaženje u naredbenom retku

Modul 1: Vaš prvi poslužitelj · Vrijeme čitanja: 11 minuta

Cilj učenja: Nakon ove lekcije snaći ćete se na Linux poslužitelju: kretat ćete se kroz mape, čitati i uređivati datoteke, vidjeti koliko je diska i memorije slobodno te sami potražiti pomoć za neku naredbu.

Ključni pojmovi: shell, prompt, mapa i putanja, apsolutna i relativna putanja, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, dopunjavanje tipkom Tab, uname, df, free, uptime, pipe, grep

Shell i prompt

Nakon prijave razgovarate sa shellom: programom koji čita i izvršava Vaše naredbe. Na Debianu i Ubuntuu to je obično bash. Lijevo od kursora nalazi se prompt:

anna@web1:~$
root@web1:~#

On Vam govori tri stvari: tko ste (anna ili root), na kojem ste poslužitelju (web1) i u kojoj se mapi nalazite (~ je Vaša vlastita početna mapa). Posljednji znak je važan: $ znači običnog korisnika, # znači root. Vidite li #, svaka se naredba izvršava sa svim ovlastima. Tada tipkajte polako i pažljivo.

Mape i putanje

Sve na Linuxu visi na jednom stablu koje počinje od / (korijenska mapa, ne treba je miješati s korisnikom root). Nekoliko mapa susretat ćete kroz cijeli tečaj:

MapaŠto sadrži
/etcKonfiguracija: SSH (/etc/ssh), web-poslužitelj (/etc/nginx), korisnici (/etc/passwd)
/var/logDatoteke zapisa (uz journal, lekcija 6.2)
/var/libPodaci programa, primjerice baze podataka i Docker
/homePočetne mape običnih korisnika, kao što je /home/anna
/rootPočetna mapa korisnika root
/usrInstalirani programi i biblioteke
/tmpPrivremene datoteke, redovito se čisti
/srv ili /var/wwwUobičajeno mjesto za web-stranice i usluge

Apsolutna putanja počinje od /, primjerice /etc/ssh/sshd_config. Relativna putanja počinje ondje gdje se trenutačno nalazite: ako ste u /etc, onda je ssh/sshd_config ista datoteka. .. je mapa iznad, . trenutačna mapa.

anna@web1:~$ pwd
/home/anna
anna@web1:~$ cd /etc/ssh
anna@web1:/etc/ssh$ ls
moduli  ssh_config  ssh_config.d  sshd_config  sshd_config.d  ssh_host_ed25519_key  ssh_host_ed25519_key.pub ...
anna@web1:/etc/ssh$ cd ..
anna@web1:/etc$ cd
anna@web1:~$

cd bez ičega iza vraća Vas u Vašu početnu mapu.

Pregled datoteka

ls -l prikazuje više od samih naziva:

anna@web1:/etc/ssh$ ls -l sshd_config ssh_host_ed25519_key ssh_host_ed25519_key.pub
-rw-r--r-- 1 root root 3248 Aug 12 10:01 sshd_config
-rw------- 1 root root  399 Nov  2 14:20 ssh_host_ed25519_key
-rw-r--r-- 1 root root   91 Nov  2 14:20 ssh_host_ed25519_key.pub

S lijeva na desno: prava pristupa, broj poveznica, vlasnik, grupa, veličina u bajtovima, datum i naziv. Uočite razliku: tajni host key (-rw-------) smije čitati samo root, a javni (-rw-r--r--) svatko. U lekciji 3.1 naučit ćete točno čitati ta prava. ls -la prikazuje i skrivene datoteke: nazive koji počinju točkom, kao što je .ssh.

Za čitanje sadržaja:

  • cat bestand: cijela datoteka odjednom, praktično za kratke datoteke;
  • less bestand: listanje strelicama i razmaknicom, pretraživanje s /woord, izlaz s q;
  • head -n 20 bestand i tail -n 20 bestand: prvi ili posljednji redci; tail -f nastavlja pratiti datoteku dok se dodaju novi redci.

Uređivanje datoteke u nanou

Konfiguraciju mijenjate u uređivaču teksta. nano je najjednostavniji:

root@web1:~# nano /etc/hosts

Na dnu su prikazani tipkovnički prečaci; ^ znači Ctrl. Spremanje je Ctrl+O i Enter, izlaz Ctrl+X, pretraživanje Ctrl+W. Ako već radite s vim, slobodno ga koristite; vim na minimalnoj instalaciji nije uvijek potpuno spreman.

Tri navike koje će Vam kasnije uštedjeti mnogo muke:

  1. Najprije napravite kopiju: cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.
  2. Testirajte konfiguraciju prije nego što ponovno pokrenete uslugu. Mnogi programi za to imaju vlastitu naredbu: sshd -t, nginx -t (lekcije 2.2 i 7.2).
  3. Mijenjajte jednu stvar odjednom, kako biste znali što je uzrokovalo pogrešku.

Kakvo je stanje Vašeg poslužitelja?

Nekoliko naredbi koje ćete koristiti u svakoj situaciji:

anna@web1:~$ uname -a
Linux web1 6.12.0-... #1 SMP ... x86_64 GNU/Linux
anna@web1:~$ uptime
 10:12:44 up 3 days,  2:10,  1 user,  load average: 0.08, 0.05, 0.01
anna@web1:~$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        40G  3.1G   35G   9% /
anna@web1:~$ free -h
               total        used        free      shared  buff/cache   available
Mem:           3.8Gi       412Mi       2.9Gi       1.0Mi       720Mi       3.4Gi
Swap:             0B          0B          0B
  • uname -a: koja jezgra (kernel) radi.
  • uptime: koliko dugo poslužitelj već radi i load average za posljednjih 1, 5 i 15 minuta. Okvirno: opterećenje koje dulje vrijeme premašuje broj procesorskih jezgri znači da procesi čekaju.
  • df -h: slobodan prostor na disku (-h znači "human readable", s G i M). Pun disk jedan je od najčešćih razloga zbog kojih poslužitelj "tek tako" prestane raditi.
  • free -h: memorija. Gledajte stupac available, a ne free: Linux slobodnu memoriju koristi kao predmemoriju (buff/cache) i vraća je kad je nekom programu potrebna.

A Vaša mreža, iz lekcije 1.2: ip -brief address.

Pronalaženje pomoći

Ne morate pamtiti sve opcije. Ali morate znati gdje se nalaze:

  • man ssh otvara priručnik (manual page) za naredbu. Listate kao u less, pretražujete s /. man sshd_config opisuje svaku postavku koju možete zadati u toj datoteci.
  • ls --help kod većine naredbi daje kratak popis opcija.
  • Tipka Tab dopunjava nazive naredbi i datoteka. Dvostruki Tab prikazuje mogućnosti. Tako izbjegavate tipfelere u dugim putanjama.
  • Strelica prema gore vraća prethodne naredbe; history prikazuje sve.

Na minimalnoj instalaciji priručnici ponekad nedostaju. Na Debianu i Ubuntuu instalirate ih s apt install man-db (modul 4).

Pipe i grep

Naredbe možete povezati pipeom (|): izlaz jedne naredbe postaje ulaz sljedeće. grep filtrira retke koji sadrže određenu riječ:

anna@web1:~$ grep PasswordAuthentication /etc/ssh/sshd_config
#PasswordAuthentication yes
anna@web1:~$ ls -l /etc | less

Redci koji počinju s # su komentari: ne rade ništa i često prikazuju zadanu vrijednost. U lekciji 2.2 vidjet ćete zašto to kod SSH-a može zbuniti.

Zamke

  • Lijepljenje bez čitanja. Naredbe s interneta rade točno ono što piše, čak i ako je to nešto drugo od onoga što obećava naslov članka. Pročitajte svaku naredbu prije nego što je izvršite, a pogotovo ako ste root.
  • rm nema koš za smeće. Obrisano je obrisano. Budite posebno oprezni s rm -r (mapa sa svim sadržajem) i sa zamjenskim znakovima kao što je *.
  • Velika i mala slova su važna. /etc/SSH ne postoji; /etc/ssh postoji.
  • Razmaci u putanjama moraju biti u navodnicima: cat "/srv/mijn site/index.html". Još bolje: na poslužitelju ne koristite razmake u nazivima.

Sažetak

  • Prompt govori tko ste, na kojem ste poslužitelju i gdje se nalazite; # znači root.
  • Konfiguracija je u /etc, zapisi u /var/log, podaci programa u /var/lib, početne mape u /home.
  • Čitajte s cat, less, head i tail; uređujte s nano, nakon izrade kopije, i testirajte konfiguraciju prije ponovnog pokretanja.
  • df -h, free -h, uptime i ip -brief address pokazuju kakvo je stanje Vašeg poslužitelja.
  • Pomoć je u man i --help; Tab dopunjava; s | i grep filtrirate izlaz.

Kviz

1. Vaš prompt je root@web1:/var/log#. Što sada znate?



2. Nalazite se u /etc. Koja putanja upućuje na istu datoteku kao /etc/nginx/nginx.conf?



3. free -h prikazuje free 120Mi i available 2.9Gi. Ima li poslužitelj premalo memorije?



4. Što je najpametnije učiniti prije nego što promijenite /etc/ssh/sshd_config?



5. Gdje provjeravate koje postavke sshd_config poznaje?



Zadatak

Zadatak O1.4: Upoznajte svoj poslužitelj. Izvršite naredbe iz lekcije na svojem poslužitelju i upišite: distribuciju i verziju, jezgru (kernel), slobodan prostor na disku, dostupnu memoriju, opterećenje (load), IPv4 i IPv6 te koje datoteke u /etc/ssh može čitati samo root. Zatim odgovorite na dva pitanja o onome što ste vidjeli.

Zadatak O1.4: Upoznajte svoj poslužitelj

Ovaj zadatak rješavate sami; nitko ga ne provjerava. Označite što ste napravili i označite zadatak kao završen.



Vaše kvačice i bilješke ostaju samo u ovom pregledniku; ne šaljemo ih nikamo. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak završili.

Dodatno štivo

Trenutak…

Postavite svoje domene

Za svaku domenu odredite nameservere, povezivanje s hostingom i tko postaje vlasnik.

Učitavanje Vaših domena…