Ubuntu 20.04 LTS (Focal Fossa) minimális szerver telepítése (2. oldal)

botond küldte be 2020. 09. 23., sze – 17:05 időpontban

Tartalom

  1. oldal: Ubunu 20.04 LTS telepítő lépéseinek végrehajtása
  2. oldal: A telepítés utáni beállítások, konfigurációk elvégzése

 

A 2. oldal tartalma

 

Folytatás

Az Ubuntu 20.04 LTS (Focal Fossa) minimális szerver telepítési útmutatójának első oldalán végig haladtunk a telepítő lépésein, ezen az oldalon pedig elvégezzük a még szükséges beállításokat, hogy ez a szerver megfelelő alapjául szolgálhasson a későbbi szerver telepítéseknek.

 

Első belépés

A gép újraindítása után először a konzolon lépjünk be:

 

 

Minimális szerver - Ubuntu 20.04 LTS (Focal Fossa) telepítése - Első belépés

Első belépés után láthatunk sok információt, közöttük a gép IP-címét, valamint, hogy vannak elérhető frissítések is:

Minimális szerver - Ubuntu 20.04 LTS (Focal Fossa) telepítése - Első belépés

 

Csomagtár adatbázis és a csomagok frissítése

Frissítsük a csomagtár adatbázisunkat és a csomagjainkat az alábbi módon:

sudo apt-get update
sudo apt-get upgrade

A parancsok után be kell gépelni a felhasználónk jelszavát.

Vagy egy parancsként is futtathatjuk, így nem kell kétszer megadni a jelszót:

sudo apt-get update && sudo apt-get upgrade

Amint látható, van jó néhány frissíteni valója a rendszernek:

Minimális szerver - Ubuntu 20.04 LTS (Focal Fossa) telepítése - Csomagok frissítése

Folytassuk az "Y" opcióval, majd várjuk meg a frissítések telepítését.

 

Root felhasználó engedélyezése (opcionális)

Az Ubuntuban alapértelmezetten a root felhasználóval történő bejelentkezés le van tiltva. A fejlesztők és az Ubuntu közösség erősen ellenjavallják a root felhasználó közvetlen belépését. Helyette a sudo használatát javasolják, amikor szükséges a root jogosultság egy feladat elvégzéséhez. Mindazonáltal a root belépés engedélyezése lehetséges, de csak akkor használjuk, ha valóban szükséges!
sudo passwd root

 

 

A parancs először bekéri a sima felhasználónk jelszavát a sudo-hoz, majd kér egy jelszót a root felhasználó számára, amit meg kell ismételni:

Minimális szerver - Ubuntu 20.04 LTS (Focal Fossa) telepítése - Root jelszó beállítása

Amennyiben jelszó nélkül szeretnénk használni a sudo parancsot, erről itt tájékozódhatunk.

 

Távoli SSH belépés

A VirtualBox-ban futó gép konzolos módú használata szerintem kicsit kényelmetlen. Pl. vágólap, egérkezelés, stb. Ezért én személy szerint az asztali (Debian) gépemen nyitok egy terminál ablakot, és onnan lépek be SSH-n keresztül, mert nekem jobban kézre áll a megszokott terminál ablakomban minden. Természetesen akik Windows-t használnak onnan is be lehet lépni például a Putty segítségével. De akiknek megfelel a VirtualBox-ban futó gép konzolja, azok maradhatnak is abban.

Ha esetleg a telepítés során nem jelöltük be az SSH kiszolgáló telepítését, akkor az alábbi paranccsal megtehetjük:

sudo apt-get -y install ssh openssh-server

Az első belépésnél írtam, hogy megjelenik a gép IP-címe is. Nos, akik mégis az SSH-t választják, azok ezzel az IP-címmel tudnak első körben belépni a helyi hálózatról, például a gazda gépről, elétéve a telepítéskor megadott felhasználónevet. Linuxról nálam például:

ssh linuxportal@192.168.100.9
Az IP-cím minden hálózatban más lehet. Nálam például az ez előtti címek le vannak foglalva az asztali gép, laptop, stb számára, így nálam ez volt az első szabad cím. Tehát mindenki a saját címét használja, amit kiosztott pl. a router.
Továbbá fontos még, hogy a gazda gépről csak akkor tudunk belépni a frissen telepített vendég gépünkbe, ha a VirtualBox-ban a hálózatoknál Bridge-elt módot állítottunk be a hálózati kártyánk számára.

Első SSH belépéskor megjelenik egy üzenet, hogy a szerver még nem ismeri ezt a kliensgépet, és hogy el szeretnénk-e tárolni a digitális ujjlenyomatát az ismert gépek listájában. Erre írjuk be, hogy "Yes", majd ezután belép a szerverre:

Minimális szerver - Ubuntu 20.04 LTS (Focal Fossa) telepítése - Távoli belépés SSH-n keresztül

Belépéskor írja még azt is, hogy a szerver újraindítása szükséges. Ezzel azonban majd ráérünk később a hálózati részek beállítása után.

 

Nano beállítása (opcionális)

GNU nano szövegszerkesztő szerintem a legjobb szövegszerkesztő a terminálban végzett munka során. Az Ubuntu 20.04 LTS (Focal Fossa) verziója tartalmazza alapból, így telepítenünk már nem kell, hanem csak apró finomhangolást célszerű végeznünk rajta, hogy még kényelmesebb legyen a használata.

 

 

Ezt sima felhasználóként és root-ként is elvégezhetjük, hogy mindkettőnél ugyanúgy működjön a kedvenc szerkesztőnk. Az adott felhasználó home könyvtárban hozzuk létre a nano konfigurációs fájlját:

nano ~/.nanorc

Majd ebbe tegyünk bele néhány beállítást, mjad mentsük le:

set tabsize 4
set smooth
set mouse
set constantshow

A sorok jelentése a következő:

  • set tabsize 4: Tabulátor méret 4 karakter. Alapból 8 karakter, ami túl sok. 4 karaktert szokás használni a legtöbb helyen.
  • set smooth: Finom görgetés. Ennek hatására a görgetés soronként történik, így nagyobb fájloknál kényelmesebben lehet görgetni.
  • set mouse: Engedélyezi az egér műveleteket. Például kurzor pozícionálása egérrel, stb.
  • set constantshow: Sor, oszlop, karakter pozíció információk megjelenítése. Ez is jól jön, ha például egy adott konfig fájlban az x. sorban kell elvégezni egy beállítást. Ezzel könnyen oda tudunk navigálni a megfelelő sorba. (a korábbi Nano verzióknál a "set const" beállítás megfelelője).

Természetesen még rengeteg beállítása van a nano-nak, így mindenki fűszerezheti a saját kedve szerint.

Lementés és kilépés után a nano következő indításánál már érvénybe is lépnek a beállítások.

 

Hálózat beállítása

Az Ubuntu telepítője DHCP-n keresztül konfigurálta be a hálózatot, ami dinamikus címkiosztást eredményez. Egy szerver működtetéséhez pedig statikus IP-címre van szükség. Ha otthoni fejlesztői vagy tesztkörnyezetre építjük a szervert, akkor ez nem fontos, ebben az esetben elég csak a routerünkben beállítani egy fix IP-címet a gép MAC címéhez rendelve, és át is ugorhatjuk ezt a részt. Ha viszont éles használatra készítünk szervert, akkor az Ubuntuban (is) el kell végezni a fix IP-cím beállítását, melyet az alábbi módon tehetünk meg.

Netplan beállítása

Az Ubuntu 20.04-ben a hálózat a Netplan segítségével van bekonfigurálva. Beállításához nyissuk meg szerkesztésre a /etc/netplan/01-netcfg.yaml fájlt:

sudo nano /etc/netplan/00-installer-config.yaml

(A korábbról ismert /etc/network/interfaces fájl már nincs használatban.)

A szerver alapértelmezett DHCP-alapú beállítása így néz ki első körben ebben a fájlban:

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s3:
      dhcp4: true
  version: 2

Eben kell elvégeznünk a statikus IP-cím beállításait a saját hálózatunknak és igényeinknek megfelelően. Ezen az Ubuntu 20.04 szerveren én a 192.168.100.130 -as IP-címet fogom használni, valamint a google névszervereit, de mindenki állítsa saját igényeinek megfelelően. A nálam lévő példában tehát először kikommentezem a jelenlegi beállításokat, hogy megmaradjanak az eredeti beállítások is, majd beillesztem a saját beállításomat. Ezután így néz ki a fájl nálam:

# This is the network config written by 'subiquity'
#network:
#  ethernets:
#    enp0s3:
#      dhcp4: true
#  version: 2
network:
    version: 2
    renderer: networkd
    ethernets:
        enp0s3:
            dhcp4: no
            dhcp6: no
            addresses: [192.168.100.130/24]
            gateway4: 192.168.100.1
            nameservers:
                addresses: [8.8.8.8,8.8.4.4]
Fontos!
Itt ügyeljünk a behúzásokra, mert csak így fogja értelmezni a rendszer a yaml fájlt. Tabulátor használata nem megengedett, csak szóközöket használhatunk a behúzáshoz. Én a "szabványos" 4 karakteres behúzást használtam a konfigurációs fájlban, így jobban áttekinthető.

Az általam bemutatott konfiguráció eltérhet máshol. Így például a hálózati eszköz neve (enp0s3), valamint az átjáró IP-címe (gateway4 utáni cím) más gépen illetve hálózaton más lehet. Ezeknek nézzünk utána (a hálózati eszköz nevét kiírja belépéskor, az átjáró címét pedig például az ip r | grep default vagy a route -n parancsok valamelyikével kérdezhetjük le. Az utóbbihoz a net-tools csomag telepítése szükséges).
Továbbá az általam megadott 192.168.100.130-as IP-cím is sajátos beállítás, tehát mindenki állítsa a hálózatának és a számára megfelelő címre (ezt az Ubuntu 20.04 virtuális gép szériát 130-as végződéssel állítom be). Éles szerver esetén (pl. VPS vagy bérelt szerver) pedig az előfizetéshez kapott statikus IP-címet használjuk.
A névszervereknél pedig a Google publikus névszervereit adtam meg, ez mindenhol működik.

Mentsük le, majd lépjünk ki a szerkesztőből.

Ezután a netplan generate parancs a yaml fájlból készít egy a háttér hálózatkezelő rendszer számára értelmezhető konfigurációt. Futtassuk tehát (root-ként ezt is):

sudo netplan generate

Ha szintaktikai hiba van a fenti yaml fájlban, akkor itt hibát dob, normál esetben pedig nem ad kimenetet.

Ezután a változtatások érvényesítéséhez futtassuk az alábbi parancsot:

sudo netplan apply

A parancs végrehajtása után aktualizálódik a szerver új IP címe, ezért ha SSH-n keresztül csatlakoztunk idáig, akkor a kapcsolatunk elszáll, így újra be kell lépnünk az új IP-címmel. Ha már úgy is kidobott, akkor a konzolból indítsuk újra az egész szervert, mivel a frissítések miatt amúgy is kell neki az újraindítás. Futtassuk a konzolból az alábbi parancsot:

sudo reboot

 

Hosztnév beállítása

Ennek a gépnek a hosztnevét "ubuntu20"-ra állítottam be. Az FQDN nevét pedig ubuntu20.linuxportal.vm -re állítom. Itt is természetesen mindenki válassza ki a saját hosztnevét. Ennek beállításához nyissuk meg a /etc/hosts fájlt:

sudo nano /etc/hosts

 

 

Ebben alapból ez található:

127.0.0.1 localhost
127.0.1.1 ubuntu20

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Bővítsük ki az alábbiaknak megfelelően (mindenki a saját nevét és a fent használt IP-címét használja):

127.0.0.1 localhost
192.168.100.130 ubuntu20.linuxportal.vm ubuntu20

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Mentsük le. Majd utána még az alábbi két parancsot is futtassuk le a név beállításhoz:

sudo echo ubuntu20 > /etc/hostname 
sudo hostname ubuntu20

Az első hostname parancs a /etc/hostname fájlban írja át a hosztnevet, ami az újraindításkor kerül felhasználásra, a második parancs pedig erre a munkamenetre is beállítja, így nem kell újraindítani a gépet.

Végül ellenőrizzük a hosztnevünket:

hostname
hostname -f

A fenti parancsoknak ilyesmi kimenetet kell adniuk:

Minimális szerver - Ubuntu 20.04 LTS (Focal Fossa) telepítése - Hosztnév beállítása

 

Extrák

A teljesség igénye nélkül itt még felsorolok pár beállítást, amik nem kötelezők, de ha elkészítjük őket, akkor komfortosabbá tehetjük velük a terminálban végzett munkát.

Bash programozható parancssori kiegészítés

A Bash parancssori kiegészítés, vagy másnéven a Bash programmable completion segítségével tudjuk a Tab billentyűvel gyorsabban begépelni a kívánt parancsokat, illetve fájlneveket. Erről részletesebben majd egy másik cikkben írok, itt most annyi a lényeg, hogy a root felhasználó számára alapból nincs bekapcsolva a programozható Bash kiegészítés, hanem csak az alap kiegészítés (Bash completion), ami annyit jelent, hogy csak a parancsokat és a fájlneveket tudja kiegészíteni. Sokszor azonban szükség lehet a különböző parancsoknál is a programozott kiegészítésre.

A funkció elérhető a rendszeren már előre telepített bash-completion csomag által, csak engedélyezni kell. Ehhez a root könyvtárában nyissuk meg a .bashrc fájlt:

sudo nano ~/.bashrc

Majd görgessünk a legaljára, ahol ezt a részt látjuk:

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi

Itt vegyük ki a kommentet az utolsó három sor elől, ahogy ezt pirossal ki is emeltem.

Mentsük le, majd source-oljuk a .bashrc fájlt, hogy érvénybe lépjen:

source .bashrc

vagy

. .bashrc

parancsok valamelyikével.

Innentől ha például beírjuk mondjuk a systemctl parancsot, és nyomunk utána kettő Tab billentyűt, akkor már felsorolja ennek a parancsnak a további kapcsolóit:

Minimális szerver - Ubuntu 20.04 LTS (Focal Fossa) telepítése - Bash programozható parancssori kiegészítés

 

Alias-ok beállítása

Alapból is van pár alias parancs beállítva, de én ezt még egy kicsit átvariálom az alábbiak szerint (ezt el lehet végezni a sima felhasználónál is, és a root-nál is):

 

 

nano ~/.bashrc
[...]
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'

    export LS_OPTIONS='--color=auto --group-directories-first'

    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
#alias ll='ls -alF'
#alias la='ls -A'
#alias l='ls -CF'

# Saját ls aliasok
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lAh'
[...]

A .bashrc részletének felső részében hozzáadtam egy export LS_OPTIONS kezdetű sort, amivel közös kapcsolókat állítok be a lenti saját ls alias-ok számára. A --group-directories-first egy igen hasznos ls kapcsoló, segítségével a könyvtárakat előre sorolja, így sokkal áttekinthetőbb könyvtár listát kapunk.

A részlet alsó részén pedig kikommenteztem a gyári ls aliasokat és betettem helyettük a sajátjaimat. Ezek közül én a legutolsót használom a leggyakrabban, ami az "l" parancs hatására futtatja az ls parancsot, amely így a következő kapcsolókat örökli:

  • --color=auto: Színes kimenet használata.
  • --group-directories-first: A már fentebb is említett könyvtárak előre listázása.
  • -l: Részletes lista mód
  • -A: Kilistázza a rejtett fájlokat is, de kihagyja a könyvtárakból a gyökér könyvtár (.) és a szülő könyvtár (..) felsorolását (hosszútávon szerintem zavaró, a sok . és .. a listák elején).
  • -h: "Human-readable", azaz a fájlok méreteinél a byte-ok helyett leosztja Kb-ra, Mb-ra, Gb-ra. Sokkal könnyebben olvasható így a fájlok mérete.

Persze mindenki a saját igénye szerint alakíthatja az egészet, én így szoktam meg, nekem így kényelmes a használata.

A színes ls parancs használatáról korábban már írtam ebben a leírásban, tehát még vannak lehetőségek.

Színes root prompt

Alapból a sima felhasználónál be van kapcsolva a színes prompt, viszont a root-nál nincsen. Bekapcsolásához lépjünk be root-ként, majd nyissuk meg szintén a .bashrc fájlját:

nano ~/.bashrc

Ebben (a gyári fájl 39. sorában) találunk egy ilyen beállítást:

#force_color_prompt=yes

Ez elől vegyük ki a kommentet, majd mentsük le.

Ezután source-oljuk a root .bashrc fájlját:

. ~/.bashrc

És utána rögtön átvált színesre a prompt.

A színes prompt használatáról ebben a leírásban tájékozódhatunk bővebben.

 

Virtuális gép letöltése

A virtuális gép elérhető a letöltőoldalán:
Ubuntu 20.04 LTS (Focal Fossa) minimális szerver letöltése

 

Konklúzió

Ez lenne tehát egy Ubuntu 20.04 LTS (Focal Fossa) minimális szerver telepítése, amely kiváló alapja lesz későbbi LAMP, vagy tökéletes szerverek telepítéseinek. Sok mindent beállítottunk, így a későbbiek során már kényelmesen dolgozhatunk a szerveren.

 

Hogyan tovább?

A minimális szerver elkészítése után kiváló lépés lehet egy LAMP szerver telepítése, ami ehhez az Ubuntu 20.04 LTS (Focal Fossa) szerverhez a következő linken található: Ubuntu 20.04 LTS (Focal Fossa) LAMP szerver v1.0 telepítése

 

 

 

 

Lapozó

Ez a leírás több oldalból áll: