A 2. oldal tartalma
Folytatás
Az előző oldalon végrehajtottuk a telepítő összes lépését, most pedig még elvégzünk néhány parancssori beállítást, hogy készen álljon ez a minimális szerver a későbbi szerverek telepítésére.
Első belépés
A gép újraindítása után először a konzolon lépjünk be:
Belépés után kapunk jó néhány információt, többek között a gép IP-címe is megjelenítésre kerül, de ez majd kicsit később lesz fontos. Amivel most foglalkoznunk kell először, hogy újra kell indítanunk a gépet, mert az első induláskor még elvégzett pár fontos beállítást a rendszer a háttérben:
Amint láthatjuk, hogy 80 darab frissíthető csomagunk is van, mivel nem a kisméretű "netinstall" telepítőt használtuk, ami a telepítés közben szedi le a friss csomagokat.
Először indítsuk újra a gépet, ahogy kéri a rendszer is:
sudo reboot
Ekkor bekéri a telepítéskor megadott felhasználónk jelszavát, majd újraindul a rendszer.
Csomagtár adatbázis és a csomagok frissítése
A gép újbóli elindulása után lépjünk be a felhasználónkkal, majd szerezzünk root jogosultságot:
sudo su
Ezután frissítsük a csomagtár adatbázisunkat és a csomagjainkat a Debian-on is ismert módon:
apt-get update
apt-get upgrade
Ekkor elindul a frissítés:
Nálam éppen 36 MB-nyi csomagfrissítést hajt végre. Itt válasszuk az Igen opciót.
Frissítés közben előjön még egy dialógus is, ahol rákérdez, hogy az egyes szolgáltatások egyesével történő újraindításainak a kézi jóváhagyását szeretnénk-e, vagy egy lépésben hajtsa végre automatikusan az összes daemon újraindítását:
Itt tehát célszerű a Yes opcióval letudni egyszerre az egészet.
Most, hogy már frissek a csomagjaink is, elvégezhetjük a szükséges beállításokat.
Root felhasználó engedélyezése (opcionális)
Ha mindenképpen be szeretnénk kapcsolni a root belépést, akkor először lépjünk be sima felhasználóként, majd adjunk jelszót a root felhasználónak:
sudo passwd root
Ekkor először a sudo parancs bekéri a sima felhasználónk jelszavát, majd utána pedig a passwd parancs kétszer a root felhasználó új jelszavát. Ez után már be tudunk lépni közvetlenül root-ként például a konzolon.
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.
Az első belépésnél írtam, hogy megjelenik a gép IP-címe. Nos, akik mégis az SSH-t választják, azok ezzel az IP-címmel tudnak belépni 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.1.104
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.
Ha minden jól megy, akkor az első SSH bejelentkezésnél – a már jól ismert módon – először egy új digitális ujjlenyomat hozzáadása következik, amit egy yes válasszal kell megerősítenünk:
Tehát itt a gazda géphez adtuk hozzá a vendég gép IP-címéhez kapcsolódó digitális ujjlenyomatát, amit többször már nem fog megkérdezni.
Innentől én a terminálban folytatom a munkát, de a konzolban is megoldható, csak ott szerintem kényelmetlenebb.
Nano beállítása (opcionális)
A GNU nano szövegszerkesztő szerintem a legjobb szövegszerkesztő a terminálban végzett munka során. Az Ubuntu 18.04 LTS (Bionic Beaver) 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:
set tabsize 4 set smooth set mouse set const
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 const: 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.
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 végezhetünk el.
Netplan beállítása
Az Ubuntu 18.04-ben a hálózat a Netplan segítségével van bekonfigurálva, a – korábban a Debian rendszereken is ismert – /etc/network/interfaces konfigurációs fájl már nincs használatban. Ha belenézünk ebbe, akkor csak ennyit találunk:
cat /etc/network/interfaces
# ifupdown has been replaced by netplan(5) on this system. See # /etc/netplan for current configuration. # To re-enable ifupdown on this system, you can run: # sudo apt install ifupdown
Van ugyan lehetőség a régi hálózatkezelő visszaállítására, de minek bonyolítsuk a dolgot, ha a Netplan-ban is be lehet állítani. Lépjünk be a Netplan konfig könyvtárába root-ként:
cd /etc/netplan
Találunk itt egy konfigurációs fájlt, nyissuk meg a nano-val:
nano 50-cloud-init.yaml
Ebben ez a tartalom van:
# This file is generated from information provided by # the datasource. Changes to it will not persist across an instance. # To disable cloud-init's network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: ethernets: enp0s3: dhcp4: true version: 2
Kommentezzük ki a network szekció minden sorát, hogy megmaradjanak az eredeti beállítások is, majd tegyük bele a saját, statikus IP-címet tartalmazó beállításainkat, hogy így nézzen ki a fájl:
# This file is generated from information provided by # the datasource. Changes to it will not persist across an instance. # To disable cloud-init's network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} #network: # ethernets: # enp0s3: # dhcp4: true # version: 2 network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no dhcp6: no addresses: [192.168.1.125/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8,8.8.4.4]
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ő.
Továbbá az általam megadott 192.168.1.125-ös 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 (én a Debian virtuális gépeket a 120-as IP cím végződéssel állítom be, az Ubuntu rendszereket pedig 125-re). É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):
netplan generate
Ha a parancs tabulátort talál valahol a fájlban a behúzások helyén, akkor ezt a hibát dobja:
/etc/netplan/50-cloud-init.yaml:13:1: Invalid YAML: tabs are not allowed for indent: version: 2 ^
Ha pedig valahol nem használtunk behúzást, akkor ilyen hibát dob:
/etc/netplan/50-cloud-init.yaml:16:15: Error in network definition: expected mapping (check indentation) enp0s3: ^
Ha minden rendben van, akkor nem ad semmilyen kimenetet.
Ezután a változtatások érvényesítéséhez futtassuk az alábbi parancsot:
netplan apply
Hosztnév beállítása
A telepítés során a hosztnév résznél nem volt lehetőség a teljes FQDN név megadására, hanem csak magát a hosztnevet lehetett beállítani. Kicsit elsietve a "linuxportal" nevet adtam ott meg. Viszont most újragondolva ezt, másképp állítom be. Ennek a gépnek a teljes hosztneve legyen mondjuk "ubuntu18.linuxportal.vm" Ez így utal a gépen lévő rendszerre (ami a későbbi szerver telepítésekhez is tökéletes lesz), a linuxportálos szerver szériára, és hogy egy virtuális gépről van szó. Természetesen itt most mindenki használja a saját, megfelelő FQDN nevét ennek a mintájára. Tehát az itt következő rész tökéletes lesz egy teljes név változtatás kivitelezéséhez. Így ha valaki letölti majd ezt a szervert, akkor ennek megfelelően át tudja állítani a saját hosztnevére.
Elsőként nyissuk meg a a /etc/hosts fájlt:
nano /etc/hosts
Ebben jelenleg ez van:
127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
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.localdomain localhost
192.168.1.125 ubuntu18.linuxportal.vm ubuntu18
::1 localhost6.localdomain6 localhost6
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Mentsük le, majd nyissuk meg szerkesztésre a /etc/cloud/cloud.cfg fájlt:
nano /etc/cloud/cloud.cfg
Ennek rögtön az eleje felé találunk egy ilyen sort:
[...] preserve_hostname: false [...]
Ezt módosítsuk "true" -ra, majd mentsük le.
Ezután állítsuk be a /etc/hostname fájlba is a hosztnevet (a tartománynév nélkül). Ehhez futtassuk a következő parancsokat:
echo ubuntu18 > /etc/hostname
hostname ubuntu18
Ezután ellenőrizhetjük a rövid és a teljes hosztneveinket, amik már újraindítás után is ezek maradnak:
Extrák
A teljesség igénye nélkül itt még felsorolok pár beállítást, amik nem kötelezőek, de ha elkészítjük őket, akkor komfortosabbá tehetjük velük a terminálban végzett munkát.
Bash parancssori kiegészítés
A Bash parancssori kiegészítés, vagy másnéven a Bash 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, 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:
Alias-ok beállítása
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
Konklúzió
Ez lenne tehát egy Ubuntu 18.04 LTS (Bionic Beaver) 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 egy Ubuntu 18.04 LTS (Bionic Beaver) LAMP szerver v1.0 telepítése.
Továbbá a Debian rendszerre készült LAMP szervereket, illetve az összetettebb tökéletes szervereket is ajánlom tanulmányozásra.
- Ubuntu 20.04 LTS (Focal Fossa) minimális szerver telepítése
- Debian 8 (Jessie) minimális szerver telepítése
- Debian 9 (Stretch) minimális szerver telepítése
- Debian 10 (Buster) minimális szerver telepítése
- Debian 11 (Bullseye) minimális szerver telepítése
- Howtoforge.com - How to Install Ubuntu 18.04 LTS (Bionic Beaver) Minimal Server
- Ubuntu 18.04 LTS (Bionic Beaver) LAMP szerver v1.0 telepítése
Lapozó
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 1867 megtekintés