1. Przygotowanie maszyny wirtualnej.
Przed przystąpieniem do instalacji Ubuntu Server w wersji 20.04 należy odpowiednio przygotować do tego wirtualną
maszynę. Podczas jej tworzenia należy pamiętać o aktywacji OBU kart sieciowych. Jeżeli tego nie zrobimy to mogą
wystąpić problemy z dodaniem drugiej karty sieciowej do systemu. Dlatego należy pamiętać o obu. Zacznijmy więc od
początku.
Przygotowania wstępne - wybieramy z menu VB File -> Preferences -> Network i należy utworzyć sieć NAT o wybranej adresacji np. 10.15.0.0/24 - najlepiej nazwać ją wprowadzoną adresacją.
Tak powinno to wyglądać.
Przykładowo ustawienia pierwszej karty sieciowej w naszej maszynie powinny wyglądąć tak jak wyżej.
2. O systemie Ubuntu Server 20.04.
Zanim zainstalujemy w ogóle ten system to może warto trochę sobie o nim opowiedzieć. Szczególnie, że ta konkretna
wersja różni się pod paroma względami od wersji 18.04.
Ubuntu w wersji serwer, tak jak każdy linux, jest systemem działającym w trybie tekstowym – tak, tekstowym. Oznacza
to, że każde polecenie, każdą zmianę, każdą czynność wykonujemy wpisując odpowiednie komendy do konsoli systemu.
Jest to duża różnica w przeciwieństwie do Windowsa Server, w którym jakaś powłoka graficzna zawsze jest (nawet w
przypadku Core). W Linux Server nie mamy nawet kursora. Tak naprawdę myszkę można odłożyć na bok – do niczego się
nie przyda (w normalnych warunkach).
Konfiguracja wszelakich usług w systemie opiera się na wykorzystaniu plików konfiguracyjnych, które będziemy
musieli edytować. Aby zmiany zostały zaakceptowane i wprowadzone w życie trzeba będzie je ręcznie zatwierdzić.
Można to zrobić na różne sposoby. Niektóre usługi mają do tego odpowiednie komendy (np. netplan apply), inne zaś
usługi trzeba będzie po prostu zrestartować, czasem nawet trzeba będzie zresetować cały system.
Linux posiada swojego super-użytkownika, inaczej takiego użytkownika nad użytkownikami. Odpowiednik windowsowego
Administratora. Jest nim konto "root", które domyślnie jest nieaktywne i zaleca się aby tak pozostało. My
jednak na potrzeby nauki sobie to konto aktywujemy do zadań awaryjnych. Mimo to, w środowisku produkcyjnym
ROOT MA BYĆ WYŁĄCZONY. To jest konto o wielkiej mocy i sile. W przypadku włamania na serwer,
mogłoby się to źle skończyć. Linux nie wybacza. Zrobisz błąd w pliku, tutaj nie dasz kropki, tu przecinka, a
tutaj coś źle wpiszesz - Linuxa to nie interesuje. Dopóki składnia się zgadza to zaakceptuje wszystko, a nawet
wprowadzi to do innych plików. Dlatego przed zapisaniem i zatwierdzeniem czytamy dokładnie to co napisaliśmy. Bo
potem… nie będzie odwrotu (no chyba, że robimy kopie zapasowe).
Kiedy mamy już maszynę gotową, to możemy przystąpić do instalacji systemu. Do tego potrzebny będzie nam
obraz ISO z instalatorem, który można pobrać ze strony Ubuntu. Obraz ISO musi być w wersji 64-bitowej.
Jest ona oznaczana jako x64, 64-bit lub amd64.
Link do najnowszej wersji Ubuntu: https://ubuntu.com/download/server
Link do tej konkretnej wersji:
https://releases.ubuntu.com/20.04.2/ubuntu-20.04.2-live-server-amd64.iso
Można po prostu uruchomić naszą maszynę i czekać aż dostaniemy zapytanie o dysk startowy, ale lepiej w sekcji "Storage" kliknąć "Optical Drive" i wskazać obraz (ISO) naszej instalki.
Gdy już mamy nasz obraz ustawiony w napędzie klikamy Uruchom.
Wybieramy tutaj dowolny język. Ja wybrałem Polski i taki też zatwierdziłem klawiszem Enter.
Następnie instalator poprosi nas o wybór układu klawiatury. Najlepiej ją wybrać zgodnie z wybranym językiem. Należy strzałkami przejść do pozycji Układ, następnie kliknąć Enter. Wybrać odpowiedni układ, a następnie go zatwierdzić również klawiszem Enter. Kiedy upewniliśmy się, że wszystko dobrze jest wybrane to przechodzimy na pozycję Wykonane strzałkami i naciskamy Enter. Instalator przejdzie do następnego kroku.
Następnie instalator przejdzie do bardzo ważnej kwestii związanej z Ubuntu Server – konfiguracją
sieciową. Jest to najważniejszy, najistotniejszy punkt naszej instalacji. Dlatego proszę dokładnie
uważać.
Uwaga! Możesz pominąć ten etap instalacji, a następnie w ramach ćwiczeń, ręcznie
skonfigurować karty sieciowe. Jednak jeżeli wolisz sobie wszystko wstępnie skonfigurować korzystając
z "GUI", to możesz czytać dalej.
Jak można poniżej zauważyć, mamy dwie karty sieciowe – czyli VBox został poprawnie skonfigurowany.
Te karty to enp0s3 oraz enp0s8. Jest to obecnie najnowszy standard
nazewnictwa kart sieciowych, który wyparł stare nazewnictwo, czyli eth0, eth1 itd. Powodem tej zmiany
jest chęć wyeliminowania błędów pokroju zmieniających się nazw kart. W przypadku VirtualBoxa, pierwsza
karta nosi nazwę enp0s3, druga enp0s8, a następne idą już w normalnej kolejności, czyli trzecia miałaby
enp0s9 itd.
Istnieje wiele systemów nazewnictwa kart. Warto się przyjrzeć kilku z nich:
Pierwszy polega na wykorzystywaniu numeru indeksu, który dostarcza BIOS, jeżeli
chodzi o urządzenie, które znajduje się na płycie głównej. Wtedy nazwa brzmi enoX np. eno1, eno2 itd.
Drugi poleca na wykorzystywaniu indeksu slotu gniazda PCI Express. Nazwa brzmi wtedy
ensX np. ens1, ens2 itd.
Trzeci – stosowany najszerzej – polega na wykorzystywaniu fizycznej lokalizacji
złącza na płycie głównej. Wtedy wykorzystywane jest enpXsY np. enp0s3. Gdzie X to numer szyny, a Y to
numer slotu.
Obrazowa lokalizacja złącz na płycie głównej.
Czwarty – system wykorzystuje adres MAC kart. I nazwa brzmi wtedy enx
Piąty – to właśnie wspomniany system klasyczny, czyli eth1, eth2, wlan0, wlan1.
Dalej w instalatorze widać również typ karty – bez względu na to czy jest to Ethernet czy WLAN (Type), oraz status DHCP. Ja pozostawiłem włączony DHCP w sieci NAT, więc dla interfejsu enp0s3, został mi przydzielony adres IP, zaś do drugiej karty nie. Zmienimy sobie adresację obu kart. Najpierw skonfigurujemy kartę pierwszą, tę z dostępem do Internetu.
W tym celu zaznaczamy ją za pomocą strzałek i klikamy Enter. Pojawi się
okienko w którym możemy wybrać różne opcje:
- Info – wyświetla informacje na temat naszego interfejsu.
- Edit IPv4 – pozwala nam ustawić adresację IP w wersji 4.
- Edit IPv6 – pozwala nam ustawić adresację IP w wersji 6.
- Add a VLAN tag – pozwala nam ustawić tagowanie ramek na naszej karcie.
- Opcją (close) możemy zamknąć okno.
My sobie wybierzemy opcję do ustawienia adresacji IPv4, czyli Edit IPv4.
Pojawi nam się okienko zatytułowane Edit enp0s3 IPv4 configuration, czyli "Edytuj konfigurację IPv4 dla interfejsu enp0s3". Domyślnie w opcji IPv4 Method wybrany jest mechanizm DHCP [Automatic (DHCP)]. Zmienimy tę opcję, naciskając Enter i z rozwijanego menu wybieramy opcję konfiguracji statycznej, czyli Ręczne.
Od razu nasze okienko się powiększy i odsłoni więcej opcji, które będziemy musieli wypełnić.
Robimy to poprzez przesunięcie zaznaczenia używając strzałek, a następnie wpisania danej wartości z klawiatury.
- Maska – jak nietrudno się domyśleć, tutaj musimy wpisać maskę naszej sieci, ale już trudniej wpaść na to,
że ta maska ma być podana w formie CIDR – czyli z adresem sieci w formie skróconej. U nas będzie to 10.15.0.0/24,
bo taką sieć NAT utworzyliśmy.
- Adres IP – podajemy już konkretnie adres IP naszej maszyny. Należy pamiętać, że
pierwsze dwa adresy z podanej przez nas puli w sieci NAT, są rezerwowane na potrzeby VirtualBoxa.
- Brama sieciowa – tutaj wpisujemy Gateway do Internetu. Jeżeli korzystamy z funkcji sieci NAT, to adresem bramy będzie
pierwszy wolny adres z podanej przez nas puli. W tym przypadku to 10.15.0.1.
- Adresy DNS – musimy podać adresy DNS pod którymi kryją się serwery usługi Domain Name System. Oddzielić je należy
przecinkiem i tak. Możemy tutaj podać dowolną ilość DNSów. Ja jednak zalecam pozostawić tylko dwa. Podane na
przykładzie 8.8.8.8 należy do Google, zaś 1.1.1.1 do Cloudflare.
- Znajdź domeny – tutaj ewentualnie możemy wpisać domeny jeżeli takowe znajdują się w naszej sieci. Tak jednak nie jest
więc pozostawiamy te pola puste.
Kiedy już wszystko wypełniliśmy, to przechodzimy na pozycję Zapisz i naciskamy Enter.
Po zatwierdzeniu należy zwrócić uwagę przy naszym interfejsie, na pozycję opisaną jako
NOTES. Jeżeli pojawi tam się znak minus, czyli "–" to oznacza, że maszyna
połączyła się z Internetem.
Teraz została nam już tylko konfiguracja drugiej karty sieciowej.
Ją również skonfigurujemy statycznie wykorzystując wybrane przez nas adresy IP. Ja zdecydowałem, że moja wewnętrzna sieć będzie adresowana w taki sposób: 192.168.10.0/24, zaś adresem IP mojego serwera będzie 192.168.10.10. Bramy, jak i serwerów DNS wpisywać nie musimy (ale możemy). Przechodzimy na pozycję Zapisz i naciskamy Enter.
Ostatecznie menu konfiguracyjne połączeń sieciowych powinno tak wyglądać, że przy każdym interfejsie jest znak minus, a także każdy jest skonfigurowany jako static. W przypadku błędów należy dokładne sprawdzić naszą konfigurację kart sieciowych – a nawet sprawdzić ustawienia VirtualBoxa. Jeżeli jednak jesteśmy pewni, to możemy zatwierdzić naszą konfigurację, wybierając Wykonano i naciskając Enter.
Dalej instalator poprosi nas o podanie serwera proxy. Proxy jest to serwer, przez który przechodzi cały ruch stron internetowych (protokół http). Często serwery tego typu wykorzystywane są do filtrowania stron internetowych np. w szkołach. Wykorzystuje się je również w bardziej specjalistycznych celach. Na przykład aby obciąć stronę internetową z certyfikatu ssl i https. Przydaje się to podczas korzystania ze starszych przeglądarek. Jeżeli u Was stosuje się serwer Proxy to należy go tutaj wpisać. W większości przypadków proxy nie ma, więc pozostawiamy to pole puste zaznaczamy Wykonano i naciskamy Enter.
Następnie Ubuntu spyta się czy chcemy ustawić alternatywny mirror z repozytoriami i aktualizacjami do systemu. Obecnie nie jest to konieczne, gdyż wersja 20.04 jest wspierana. Jednak za parę lat będzie można tutaj wpisać archiwalne mirrory, aby wszystko działało poprawnie. Tak więc pozostawiamy domyślną opcję zaznaczamy Wykonano i naciskamy Enter.
Dalej instalator chce abyśmy dokonali wyboru w sprawie partycjonowania dysków.
Mamy kilka opcji:
- User an entire disk spowoduje, że Ubuntu Server zostanie zainstalowany na całym dysku.
- Custom storage layout spowoduje, że sami będziemy mogli zdecydować o partycjonowaniu dysku.
- Grupa LVM, którą możemy utworzyć w ramach użycia całego dysku oraz ją zaszyfrować.
LVM to skrót od Logical Volume Manager i mówiąc w skrócie, jest to mechanizm
podobny w swoich skutkach do macierzy dyskowych RAID. Upraszczając mocno, pozwala na łączenie
partycji z różnych dysków fizycznych w jeden dysk wirtualny. Jest to mechanizm działający na
poziomie systemu operacyjnego i nie wymaga szczególnych kontrolerów na płycie głównej.
Domyślna proponowana przez instalator opcja jest wystarczająca. Wybieramy więc Wykonano. Jednak jeżeli
chcemy to możemy ręcznie dokonać partycjonowania dysku.
Dalej instalator wyświetli nam Podsumowanie systemu plików,
który zawiera wszystkie zmiany, jakie wprowadzi on do naszego dysku. Zgodnie ze screenem poniżej zostaną
utworzone dwie partycje "/boot", będzie zwykłą partycją, na której znajdować się będzie bootloader systemu.
Druga partycja, czyli "/", będzie należała do grupy LVM o nazwie "ubuntu-vg". Taki podział jest
wystarczający. Zaznaczamy więc Wykonano i naciskamy Enter.
Opcja Przywróć pozwala przywrócić nam poprzedni układ na dysku.
Instalator jeszcze będzie wymagał od nas potwierdzenia partycjonowania dysku. Zaznaczamy Kontynuuj i "przestraszając" się czerwonego koloru, akceptujemy zmiany przyciskiem Enter.
Dalej to już tylko formalność. Ubuntu prosi nas o podanie imienia,
nazwy serwera, nazwy użytkownika oraz hasła. Warto zatrzymać się na nazwie serwera. Wprawdzie
możemy wpisać tam cokolwiek to jednak warto zacząć ćwiczyć w sobie profesjonalne nazewnictwo –
nawet jak "SysAdminowanie" nie będzie naszym konikiem. Ja nazwałem swoją maszynę ubuntusrv00.
Etymologia tej nazwy jest następująca:
- System: Ubuntu
- Typ: Serwer
- Numer: 00
I nawet jeżeli w sieci nie będzie serwera Windowsowego, ani kolejnego serwera Ubuntu to nadal
warto takie nazwy nadawać. Kiedy już wszystko uzupełniliśmy wybieramy Wykonano i
naciskamy Enter.
Przedostatnią już rzeczą, będzie instalacja serwera SSH,
a dokładniej jego otwartej implementacji, czyli OpenSSH. SSH to skrót od Secure Shell i
mówiąc krótko jest to usługa, dzięki której możemy uzyskać zdalny dostęp do powłoki systemu w szyfrowany
sposób. W przypadku Ubuntu Server będzie to dostęp do Basha. A w przypadku Windowsa może być to
Powershell.
Na tym przykładzie omówię również, jak zaznaczać dane elementy. Wprawdzie jeżeli najedziemy na opcję
Install OpenSSH server i damy Enter to ona nam się zaznaczy, jednak bardzo często w
rysowanych instalatorach (nie mylić z graficznymi), naciśnięcie Entera potwierdza nam wybór. Dlatego
też zaznaczamy wyżej wymienioną opcję i dajemy SPACJĘ. Tak, spacja jest to zwykle
zaznaczenie. Kiedy już zaznaczyliśmy tę opcję to dajemy Wykonano i naciskamy Enter.
Teraz instalator daje nam możliwość instalacji dodatkowych programów. Jak na razie żaden nas nie interesuje. Przechodzimy więc na pozycję Wykonano i dajemy Enter.
W tym momencie rozpocznie się instalacja systemu. Wprawdzie Ubuntu się już instalował w tle od momentu rozpoczęcia partycjonowania, jednak teraz już zacznie kopiować potrzebne pliku i konfigurować potrzebne programy. Instalacja sama w sobie jest krótka, jednak po jej zakończeniu instalator zacznie pobierać aktualizacje z Internetu. Możemy anulować ich instalację, jednak ja zalecam aby się pobrały.
Kiedy instalacja się zakończy pojawi nam się opcja uruchomienia systemu ponownie. Wybieramy ją i dajemy Enter.
Podczas restartu mogą pojawić się różne błędy związane z odmontowywaniem płyty. Pojawi się również komunikat proszący o usunięcie media instalacyjnego. Zwykle VirtualBox sam wykryje polecenie wysunięcia tacy i "ją wysunie", czyli po prostu usunie plik ISO z naszego wirtualnego napędu. Na koniec naciskamy Enter i maszyna się zrestartuje.
Po raz pierwszy po włączeniu systemu możemy zostać zasypani komunikatami w których powtarza się zielone OK,
słowa "Cloud-init" oraz "SSH". A także dużo znaków hash czyli #. Na początku tak będzie. Najważniejsze
jest to, aby było więcej OK niż Error.
Czasem może się tak zdarzyć, że po uruchomieniu systemu długo nie będzie pojawiać się pole na wpisanie loginu.
Dzieje się tak dlatego, że uruchamiają się jakieś usługi (szczególnie netplan) i zapycha nam nasz ekran.
Jeżeli długo wiszą takie napisy jak na screenie niżej to naciskamy Enter. Powinno pojawić się pole logowania (tak jak na screenie). Wpisujemy naszą wcześniej podaną nazwę użytkownika (nie imię). Zatwierdzamy Enterem, potem hasło, jednak warto mieć na uwadze, że jest ono podczas wpisywania niewidoczne – nie ma gwiazdek, niczego.
Po poprawnym zalogowaniu wita nas domyślny komunikat od Ubuntu. Podaje nam wersję systemu, przydatne linki, obecne zużycie zasobów, adresy IP oraz inne informacje. Na samym końcu mamy nasz znak zachęty czyli $ lub # w przypadku konta roota. Od tego momentu możemy wpisywać nasze komendy.
Uwaga! Ten test przeprowadzamy, jeżeli wcześniej
skonfigurowaliśmy karty sieciowe. Inaczej nie zadziała chyba, że mieliśmy aktywowane DHCP w sieci
NAT i serwer pobrał adresy. Teraz możemy sprawdzić połączenie z Internetem. Wpisujemy więc:
$ ping 8.8.8.8
Oczywiście bez znaku dolara. W taki sposób będę pisał komendy. Czyli znak zachęty i komenda. Pisane w innej czcionce.
To polecenie rozpocznie nam pingowanie serwerów DNS Google. Jeżeli wszystko działa to pingi powinny
lecieć. W przeciwieństwie do Windowsa tutaj pingi będą lecieć w nieskończoność. Aby je zatrzymać wciskamy
kombinację Ctrl+C, która zatrzymuje wykonywanie większości programów. Dostaniemy też
odpowiednie podsumowanie.
Ostatnią najważniejszą czynnością będzie wyłączenie serwera. Można to zrobić za pomocą komendy
shutdown. Jednak samo jej wpisanie wprawdzie wyłączy serwer ale za jakiś czas. Dlatego też wpisujemy
shutdown z parametrem now, czyli:
$ shutdown now
Spowoduje natychmiastowe rozpoczęcie procedury wyłączenia serwera.